Senzor temperatura pentru automat mancare

Introducere

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.

Descriere generală

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:

Hardware Design

Scema electrica:

Listă de piese:

  • Arduino Uno
  • Breadboard
  • senzor de temperatura DHT11
  • buzzer
  • 3 leduri
  • placa de retea esp8266 01
  • rezistente
  • fire

Software Design

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:

  • Buzzer

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.

  • Senzor de temperatura

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.

  • LCD

Cu ajutorul librariei LiquidCrystal_I2C am programat LCD ul sa arate pe primul rand temperatura mediului, iar pe cel de-al doilea rand umiditatea.

  • Leds

In aceasta partea a codului am programat ledurile sa se aprinda si sa se stinga in functie de conditiile enumerate mai sus.

  • ESP

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.

Rezultate Obţinute

Putem observa piesele legate conform schemei bloc:

Vedem legate placa de retea si senzorul de temperatura:

Aici observam cum s-a aprins ledul galbe, temperatura fiind intre 20 si 30 de grade celsius:

Aici observam mai aproape LCD-ul, care ne afiseaza temperatura si umiditatea:

Aici observam aplicatia finala, care ne afiseaza in timp real temperatura:

Concluzii

Cu cat lucram mai mult la proiect si incepeam sa vad rezultate fizice incepeam sa ma entuziasmez mai tare. Consider ca a fost o provocare ce m-a ajutat sa imi gasesc o pasiune si sunt sigura ca nu o sa ma opresc la acest proiect.

Download

Jurnal

Nu am tinut un jurnal detaliat.

Bibliografie/Resurse

pm/prj2022/cstan/72.txt · Last modified: 2022/06/01 22:55 by andreea.amza
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0