This shows you the differences between two versions of the page.
pm:prj2022:cstan:72 [2022/05/26 13:30] andrei.danescu2811 [Descriere generală] |
pm:prj2022:cstan:72 [2022/06/01 22:55] (current) andreea.amza [Download] |
||
---|---|---|---|
Line 3: | Line 3: | ||
Amza Andreea 333CC | Amza Andreea 333CC | ||
- | <note tip> | + | |
- | Acest proiect are ca scop realizarea unui senzor de temperatura pentru automatele de mancare. Cu ajutorul unui buzzer si a unor leduri va fi semnalizata temperatura. Buzzerul va suna atunci cand temperatura e prea ridicata si se risca deteriorare alimentelor. Ecranul LCD-ul va afisa constant temperatura si de asemenea va trimite prin wi-fi constant temperatura catre proprietar. | + | Acest proiect are ca scop realizarea unui senzor de temperatura complex pentru automatele de mancare. |
- | </note> | + | 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ă ===== | ===== Descriere generală ===== | ||
- | {{:pm:prj2022:cstan:housealarm.png?500|}} | + | 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:** | ||
+ | |||
+ | {{:pm:prj2022:cstan:smooth_fyyran-bojo.png?500|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | **Scema electrica:** | ||
- | <note tip> | + | {{:pm:prj2022:cstan:amza-electrica.png?500|}} |
- | Aici puneţi tot ce ţine de hardware design: | + | |
- | * listă de piese | + | |
- | * scheme electrice (se pot lua şi de pe Internet şi din datasheet-uri, e.g. http://www.captain.at/electronic-atmega16-mmc-schematic.png) | + | |
- | * diagrame de semnal | + | |
- | * rezultatele simulării | + | |
- | </note> | + | |
- | Listă de piese: | + | **Listă de piese:** |
* Arduino Uno | * Arduino Uno | ||
* Breadboard | * Breadboard | ||
- | * senzor de temperatura dht11 | + | * senzor de temperatura DHT11 |
* buzzer | * buzzer | ||
* 3 leduri | * 3 leduri | ||
- | * placa de retea esp8266 | + | * placa de retea esp8266 01 |
* rezistente | * rezistente | ||
* fire | * fire | ||
===== Software Design ===== | ===== 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: | ||
- | <note tip> | + | In acest fisier am codul structurat in 5 parti: |
- | Descrierea codului aplicaţiei (firmware): | + | * Buzzer |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | 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. |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | * Senzor de temperatura |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | 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. |
- | * (etapa 3) surse şi funcţii implementate | + | * LCD |
- | </note> | + | 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 ===== | ===== Rezultate Obţinute ===== | ||
- | <note tip> | + | Putem observa piesele legate conform schemei bloc: |
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
- | </note> | + | |
+ | {{:pm:prj2022:cstan:amza-1.jpeg?500|}} | ||
+ | |||
+ | Vedem legate placa de retea si senzorul de temperatura: | ||
+ | |||
+ | {{:pm:prj2022:cstan:amza-2.jpeg?500|}} | ||
+ | |||
+ | Aici observam cum s-a aprins ledul galbe, temperatura fiind intre 20 si 30 de grade celsius: | ||
+ | |||
+ | {{:pm:prj2022:cstan:amza-3.jpeg?500|}} | ||
+ | |||
+ | Aici observam mai aproape LCD-ul, care ne afiseaza temperatura si umiditatea: | ||
+ | |||
+ | {{:pm:prj2022:cstan:amza-4.jpeg?500|}} | ||
+ | |||
+ | Aici observam aplicatia finala, care ne afiseaza in timp real temperatura: | ||
+ | |||
+ | {{:pm:prj2022:cstan:rezultat_amza.png?500|}} | ||
===== Concluzii ===== | ===== 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 ===== | ===== Download ===== | ||
- | <note warning> | + | Arhiva |
- | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | {{:pm:prj2022:cstan:333ccamzaandreeapm2.zip?500|}} |
- | 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**. | ||
- | </note> | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | <note tip> | + | Nu am tinut un jurnal detaliat. |
- | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
- | </note> | + | |
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * https://www.circuitbasics.com/how-to-set-up-a-web-server-using-arduino-and-esp8266-01/ |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://forum.arduino.cc/t/float-over-serial-between-two-arduino-closed/583163 |
- | </note> | + | * https://create.arduino.cc/projecthub/SURYATEJA/use-a-buzzer-module-piezo-speaker-using-arduino-uno-89df45 |
+ | * https://www.arduino.cc/en/Tutorial/Foundations/DigitalPins | ||
+ | * https://create.arduino.cc/projecthub/Arnov_Sharma_makes/lcd-i2c-tutorial-664e5a | ||
+ | * https://create.arduino.cc/projecthub/arduino_uno_guy/i2c-liquid-crystal-displays-5b806c | ||
+ | * https://learn.adafruit.com/dht/using-a-dhtxx-sensor | ||
+ | * https://create.arduino.cc/projecthub/seyyidahmedtopbas/temperature-humidity-measurement-using-arduino-with-esp8266-643666 | ||
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||