This is an old revision of the document!
Amza Andreea 333CC
Acest proiect are ca scop realizarea unui senzor de temperatura complex pentru automatele de mancare. Cu ajutorul unui buzzer, a unor leduri, precum si a unui LCD va fi semnalizata temperatura. De asemenea se va folosi o placa de retea ESP 8266 01 pentru a trimite constant temperatura inregistrata de senzor catre un server la care este legata o aplicatie web pentru monitorizare.
Toate piesele mentionate vor fi legate la un Arduino UNO. Datele citite de catre senzorul de temperatura DHT11 sunt trimise catre LCD pentru a fi afisate in timp real. Ledurile sunt de 3 tipuri: rosu (pentru temperaturi peste 30 de grade celsius), galben (pentru temperaturi intre 20 si 30 de grade celsius) si verde (pentru temperaturi sub 20 de grade). Placa de retea comunica cu placa Arduino prin serial, datele citite de Arduino de la senzor fiind transmise placii de retea, aceasta conectandu-se la o retea de wi-fi si trimitand informatiile primite la un endpoint de pe serverul aplicatiei de monitorizare.
Diagrama bloc:
Scema electrica:
Listă de piese:
Pentru crearea proiectului am folosit urmatoarele librarii: DHT.h pentru a programa senzorul de temperatura si umiditate, LiquidCrystal_I2C.h pentru a afisa pe ecran temperatura si SoftwareSerial.h pentru a trimite date catre placa de retea.
Arduino.ino:
In acest fisier am codul structurat in 5 parti:
Codul folosit pentru a programa buzzerul. Aceste este pornit doar daca temperatura trece de 30 de grade celsius, pentru a anunta oamenii din jur ca mancarea este in pericol si sa sune la administrator.
Folosindu-ma de libraria Adafruit Dht am programat senzorul de temperatura sa preia datele despre mediu in niste variabile pe care le folosesc la restul componentelor Arduino.
Cu ajutorul librariei LiquidCrystal_I2C am programat LCD ul sa arate pe primul rand temperatura mediului, iar pe cel de-al doilea rand umiditatea.
In aceasta partea a codului am programat ledurile sa se aprinda si sa se stinga in functie de conditiile enumerate mai sus.
In aceasta parte a codului este trimis prin serial temperatura, sub forma de array de caractere temperatura catre placa de retea.
ESP.ino:
In acest fisier am implementata toata logica placii de retea. Aceasta citeste array ul de caractere primit de la Arduino, il interpretezeaza, se conecteaza la Wi-fi si trimite catre un endpoint temperatura, ca apoi sa fie afisata in aplicatia de monitorizare a detinatorului automatului de mancare.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.