This is an old revision of the document!
House Monitoring System - ŞTEFAN Miruna-Andreea
Nume: Ștefan Miruna Andreea
Grupa: 334CA
Introducere
De cate ori nu s-a întâmplat ca vara sa vii acasă după o zi caniculara si sa îți dorești sa găsești aerul condiționat deja pornit? Sau sa te asiguri că mediul in care dormi respecta toate recomandările legate de nivelul de umiditate, temperatură, etc, pentru un somn odihitor si sănătos? Sau să știi ce temperatură ai în debara / pe balcon / în boxă la subsol pentru a alege unde să depozitezi borcanele cu murături?
Pentru astfel de măsurători vine în ajutor acest house monitoring system, care track-uiește temperatura si umiditatea din locuință, le afișează pe un ecran și stochează toate măsurătorile efectuate pe un card SD pentru a permite vizualizarea si efectuarea analizelor pe aceste date, iar dacă se detectează măsurarea unei temperaturi care nu se încadrează in parametrii normali, se declanșează o alarma.
Descriere generală
Listă componente:
Datele vin de la senzorul de temperatura / umiditate in MCU, de unde merg catre cardul SD pentru stocare, catre ecran pentru afisare si tot din MCU porneste semnal catre buzzer daca valorile citite depasesc anumite praguri, dupa cum sugereaza si schema de mai jos.
Hardware Design
Diagrama desenată in Wokwi:
Observație: La modulul pentru card microSD, pinul DI este echivalent cu MOSI de pe modulul real, iar pinul DO cu MISO.
Descrierea legăturilor făcute și a pinilor utilizați:
Schema electrică:
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
pinul 1 = CS
pinul 2 = SCK
pinul 3 = MOSI
pinul 4 = MISO
pinul 5 = VCC
pinul 6 = GND
Asa arata proiectul in realitate:
Software Design
- mediu de dezvoltare: Arduino IDE
- biblioteci şi surse 3rd-party:
LiquidCrystal_I2C:
permite comunicarea cu LCD-ul prin doar 2 fire: SDA (Serial Data) si SCL (Serial Clock), folosind protocolul I2C
intern, transformă comenzile LCD tradiționale precum set cursor, write,etc. în semnale transmise pe magistrala I2C
extensie a bibliotecii standard LiquidCrystal din Arduino, cu diferenta ca în locul folosirii pinilor paraleli , afisajele LCD sunt controlate prin intermediul interfeței I2C.
SD:
biblioteca din pachetul oficial Arduino IDE utilizata pentru a facilita comunicarea cu un card SD si pentru a scrie si citi fisiere pe / de pe el
intern, foloseste interfata SPI pentru comunicarea cu cardul
TroykaDHT
biblioteca dezvoltata de Amperka (Troyka Modules) pentru a facilita lucrul cu senzorii DHT11 si DHT22
permite creare unui obiect pentru senzorul DHT22, initializarea sa, citirea datelor de la senzor (temperatura si umiditatea) si verificarea daca citirea a reusit sau nu.
Rezultate Obţinute
Concluzii
Download
Jurnal
28 aprilie - Alegere temă proiect
5 mai - Primire piese de SigmaNortec
7 mai - Am ridicat restul de piese de la Optimus Digital
8 mai - Am început asamblarea pieselor și am constat că ecranul nu avea backlight galben, cum se specifica pe site, motiv pentru care scrisul de pe ecran nu se vedea prea bine, iar senzorul DHT11 nu funcționa nici el corect (uneori pinii nu făceau contact bine și arăta 0 și la temperatură și la umiditate în loc de datele reale)
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
Bibliografie/Resurse