Alarma Temperatura

Introducere

Proiectul consta intr-o alarma care te avertizeaza atunci cand temperatura din camera depaseste o anumita limita.

Atunci cand acea limita este depasita, alarma se activeaza si buzzer-ul incepe sa scoata un sunet puternic si, in acelasi timp, esti notificat pe telefon de faptul ca alarma a pornit si trebuie sa te duci sa vezi ce se intampla.

Descriere generală

Modulul ESP8266 NodeMCU incepe prin a se conecta la WiFi, iar cand acest lucru a fost realizat, un led verde se va aprinde. Mai exista si un led rosu care semnifica modul in care se afla alarma. Daca acesta nu este aprins, inseamna ca este activ modul de camera, iar invers inseamna ca este activ modul frigider. Fiecare dintre aceste moduri are cate o temperatura maxima admisa inainte de a porni alarma (50° camera, 15° fridiger).

Atunci cand se detecteaza ca a fost depasita limita de temperatura, este activat buzzer-ul (verificam din 2 in 2 secunde daca s-a schimbat starea = timer) si este trimis pe telefon un SMS cu valoarea temperaturii si o atentionare.

Hardware Design

Componente folosite:

  • Modul NodeMCU Lua WIFI ESP8266 CP2102
  • Senzor temperatura si umiditate DHT11
  • Modul buzzer
  • Breadboard
  • Led rosu & verde
  • Buton
  • Cabluri tata-tata & tata-mama

Final look:

Software Design

Biblioteci folosite:

  • ESP8266WiFi.h - pentru controlul WiFi (conectare + client)
  • DHTesp.h - pentru senzorul de temperatura DHT11
  • ESP8266TimerInterrupt.h - a fost nevoie de aceasta biblioteca pentru ca ESP8266 are doar 2 timere. Timer0 este folosit pentru WiFi si este foarte nerecomandat sa fie folosit, asa ca ramanem doar cu Timer1 care poate avea un interval maxim de 26.843542 secunde (cu 256 prescaler).

Au fost folosite 2 interrupt-uri:

  • cand este apasat butonul, avem interrupt-ul care ne duce la buttonPressed()
  • o data la 2 secunde este verificat daca a fost schimbata starea si buzzer-ul ar trebui sa fie activ

Codul a fost scris in Arduino IDE si a trebuit configurat pentru a putea lucra pe ESP8266 (NodeMCU 1.0 (ESP-12E Module)).

Am ales sa trimit SMS pe telefon folosindu-ma de “https://maker.ifttt.com/” avand 2 event-uri: “room_burning” si “fridge_broken”.

Rezultate Obţinute

Testare componente:

Proiect final:

Concluzii

Inca de cand am testat piesele am descoperit o problema pe care as fi intampinat-o in mod sigur pe parcursul realizarii proiectului. Biblioteca folosita pentru senzorul DHT nu este cea pentru Arduino UNO, in schimb, am folosit biblioteca speciala pentru ESP8266 NodeMCU. Descoperind si rezolvand aceasta problema de acum, inainte de a ma apuca de proiectul propriu-zis, mi-am usurat munca.

Pe langa ideea initiala a proiectului, pana la final, am mai adaugat un buton pentru a putea schimba limita maxima admisa de temperatura si 2 led-uri care m-au ajutat sa vad ce se intampla atunci cand nu este conectat la PC. Led-ul verde este aprins atunci cand a reusit conectarea la WiFi, iar led-ul rosu arata modul in care se afla alarma (stins = mod camera, aprins = mod frigider).

Consider ca am invatat foarte multe lucruri din acest proiect, in special faptul ca nu trebuie sa folosesti neaparat Arduino pentru a avea o experienta pozitiva facand un astfel de proiect. Pe langa asta, am invatat sa nu mai am niciodata incredere in baterii si sa fie chiar primul lucru pe care sa il testez atunci cand proiectul se opreste din a functiona dintr-o data, nu sa pierd 2 zile crezand ca s-a ars regulatorul de tensiune de pe NodeMCU, asa cum imi spunea google-ul.

Download

Bibliografie/Resurse

pm/prj2023/amocanu/alarma_temperatura.txt · Last modified: 2023/05/30 00:37 by radu.gavrila
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