This shows you the differences between two versions of the page.
pm:prj2025:fstancu:miruna.stefan0207 [2025/05/25 16:13] miruna.stefan0207 |
pm:prj2025:fstancu:miruna.stefan0207 [2025/05/29 23:45] (current) miruna.stefan0207 |
||
---|---|---|---|
Line 24: | Line 24: | ||
| Modul Senzor de Temperatura și Umiditate DHT22 | [[https://www.optimusdigital.ro/ro/senzori-senzori-de-temperatura/1449-modul-senzor-de-temperatura-i-umiditate-dht22.html|Link produs]] | | | Modul Senzor de Temperatura și Umiditate DHT22 | [[https://www.optimusdigital.ro/ro/senzori-senzori-de-temperatura/1449-modul-senzor-de-temperatura-i-umiditate-dht22.html|Link produs]] | | ||
| Modul MicroSD | [[https://sigmanortec.ro/Modul-MicroSD-p126079625|Link produs]] | | | Modul MicroSD | [[https://sigmanortec.ro/Modul-MicroSD-p126079625|Link produs]] | | ||
- | | Modul buzzer activ montat pe PCB | [[https://www.optimusdigital.ro/ro/audio-buzzere/12513-pcb-mounted-active-buzzer-module.html?search_query=Modul+buzzer+activ+montat+pe+PCB&results=2|Link produs]] | | + | | Modul buzzer | [[https://www.optimusdigital.ro/ro/componente-calculatoare/5560-buzzer-pentru-placa-de-baza-de-la-calculator.html?search_query=buzzer+pc&results=62|Link produs]] | |
| LCD 1602 cu Interfata I2C si Backlight Galben-Verde | [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/62-lcd-1602-cu-interfata-i2c-si-backlight-galben-verde.html?search_query=LCD+1602+cu+Interfata+I2C+si+Backlight+Galben-Verde&results=1|Link produs]] | | | LCD 1602 cu Interfata I2C si Backlight Galben-Verde | [[https://www.optimusdigital.ro/ro/optoelectronice-lcd-uri/62-lcd-1602-cu-interfata-i2c-si-backlight-galben-verde.html?search_query=LCD+1602+cu+Interfata+I2C+si+Backlight+Galben-Verde&results=1|Link produs]] | | ||
| Breadboard 830p MB-102 | [[https://sigmanortec.ro/Breadboard-830-puncte-MB-102-p125923983|Link produs]] | | | Breadboard 830p MB-102 | [[https://sigmanortec.ro/Breadboard-830-puncte-MB-102-p125923983|Link produs]] | | ||
Line 46: | Line 46: | ||
Diagrama desenată in Wokwi: | Diagrama desenată in Wokwi: | ||
- | {{:pm:prj2025:fstancu:diagrama_wokwi_final.jpg?600|}} | + | {{:pm:prj2025:fstancu:miruna_final_diagrama_wowki.png?600|}} |
Observație: La modulul pentru card microSD, pinul DI este echivalent cu MOSI de pe modulul real, iar pinul DO cu MISO. | Observație: La modulul pentru card microSD, pinul DI este echivalent cu MOSI de pe modulul real, iar pinul DO cu MISO. | ||
Line 68: | Line 68: | ||
* senzorul de temperatură și umiditate DHT22 | * senzorul de temperatură și umiditate DHT22 | ||
* (-) - GND (firul negru) | * (-) - GND (firul negru) | ||
- | * OUT - pinul ~9 al plăcuței (~D9 / PB1) (am ales dintre pinii digitali nerezervați) (firul alb) | + | * OUT - pinul 8 al plăcuței (D8 / PB0) (am ales dintre pinii digitali nerezervați) (firul alb) |
* (+) - 5V (firul roșu) | * (+) - 5V (firul roșu) | ||
* firul gri = fir de comunicație digitală între Arduino și senzor (permite transmisia de date între cele două) | * firul gri = fir de comunicație digitală între Arduino și senzor (permite transmisia de date între cele două) | ||
Line 76: | Line 76: | ||
* buzzer-ul | * buzzer-ul | ||
* (-) - GND (firul negru) | * (-) - GND (firul negru) | ||
- | * (+) - pinul ~6 al plăcuței (~D6 / PD6) (am ales un pin digital care avea PWM) (firul roșu) | + | * (+) - pinul ~9 al plăcuței (~D9 / PB1) (am ales un pin digital care avea PWM) (firul roșu) |
Schema electrică: | Schema electrică: | ||
- | {{:pm:prj2025:fstancu:schema_electrica_miruna.jpg?600|}} | + | {{:pm:prj2025:fstancu:miruna_final_schema_electrica_tinkercad.png?600|}} |
Observație: Schema electrică a fost făcută în Tinkercad, unde nu există modul microSD, așa că am folosit în locul acestuia un 8 pin header care să simuleze un modul microSD, unde | Observație: Schema electrică a fost făcută în Tinkercad, unde nu există modul microSD, așa că am folosit în locul acestuia un 8 pin header care să simuleze un modul microSD, unde | ||
Line 106: | Line 106: | ||
- biblioteci şi surse 3rd-party: | - biblioteci şi surse 3rd-party: | ||
+ | * avr - colectie de headere si functii specifice pentru programarea directa a microcontrollerelor AVR | ||
+ | * avr/io - definirea registrelor hardware (PORTx, DDRx, TCCRn, UBRRn, etc. | ||
+ | * avr/interrupt - gestionarea intreruperilor (sei()) | ||
+ | |||
* LiquidCrystal_I2C: | * LiquidCrystal_I2C: | ||
* permite comunicarea cu LCD-ul prin doar 2 fire: SDA (Serial Data) si SCL (Serial Clock), folosind protocolul I2C | * permite comunicarea cu LCD-ul prin doar 2 fire: SDA (Serial Data) si SCL (Serial Clock), folosind protocolul I2C | ||
Line 128: | Line 132: | ||
- pe masura ce trece timpul si buzzer-ul canta, se actualizeaza nota (se trece la nota urmatoare pentru a forma o melodie completa). | - pe masura ce trece timpul si buzzer-ul canta, se actualizeaza nota (se trece la nota urmatoare pentru a forma o melodie completa). | ||
+ | |||
+ | Notiuni din laboratoare: | ||
+ | |||
+ | - Lab 1: USART (pentru scrierea datelor despre temperatura si umiditate pe seriala) | ||
+ | |||
+ | - Lab 2: Intreruperi (numararea secundelor pentru scrierea functiei de wait()) | ||
+ | |||
+ | - Lab 3: PWM (pentru a face buzzer-ul sa cante atunci cand este depasita temperatura ALERT_TEMP) | ||
+ | |||
+ | - Lab 5: SPI (protocol folosit pentru scrierea si citirea istoricului de date in fisierul de pe cardul microSD) | ||
+ | |||
+ | - Lab 6: I2C (protocol folosit pentru comunicarea cu ecranul LCD pe care sunt afisate temperatura si umiditatea). | ||
Codul complet este pe Github, la link-ul urmator: https://github.com/miruna-stefan/Proiect-pm. | Codul complet este pe Github, la link-ul urmator: https://github.com/miruna-stefan/Proiect-pm. | ||
+ | |||
</note> | </note> | ||
Line 136: | Line 153: | ||
<note tip> | <note tip> | ||
- | [TBD] | + | Demo-ul poate fi urmatit la link-ul urmator: |
+ | https://www.youtube.com/watch?v=eLbyWtaBuJE | ||
</note> | </note> | ||
- | |||
- | ===== Concluzii ===== | ||
===== Download ===== | ===== Download ===== | ||
<note warning> | <note warning> | ||
- | [TBD] | + | Codul complet este pe Github, la link-ul urmator: https://github.com/miruna-stefan/Proiect-pm. |
</note> | </note> | ||
Line 156: | Line 172: | ||
* 9 mai - Am înlocuit componentele cu probleme: în loc de DHT11, am cumpărat un DHT22 (doar acesta mai era disponibil pe Optimus) și am schimbat ecranul cu unul identic, dar care funcționează conform specificațiilor de pe site | * 9 mai - Am înlocuit componentele cu probleme: în loc de DHT11, am cumpărat un DHT22 (doar acesta mai era disponibil pe Optimus) și am schimbat ecranul cu unul identic, dar care funcționează conform specificațiilor de pe site | ||
* 11 mai - finalizare asamblare hardware | * 11 mai - finalizare asamblare hardware | ||
+ | * 20 mai - finalizare software | ||
</note> | </note> | ||