This is an old revision of the document!


Ceas digital pentru masurarea temperaturii si umiditatii

Introducere

Am decis programarea unui ceas digital cu alarma pentru a monitoriza temperatura si umiditatea din aer folosind un modul pentru sincronizare si afisand pe o pagina simpla web.

Descriere generală

Funcționalitate

Routerul prin intermediul ethernetului shield permite buna functionare a senzorului, deoarece pot aparea anumite incosistente. Datele pentru masurarea temperaturii si a umiditatii sunt preluate de un senzor DHT11. Ceasul isi mentine ritmul prin intermediul modulului, dar exista si optiunea prin sincronizare folosind protocolul NTP.

Schemă bloc

Hardware Design

Piesele utilizate pentru realizarea proiectului sunt urmatoarele:

Componente Cantitate
Arduino Uno 1
Senzor umiditate temperatura 1
Breadboard 1
Real-Time Clock Module(RTC) 1
Display 1602 interfata I2C 1
Ethernet Shield 1
Fire de legatura

Shieldul Ethernet a fost lipit deasupra placutei Arduino UNO, iar modulul RTC, precum si senzorul de temperatura si umiditate au fost amplasate pe breadboard. Datele preluate de la senzor sunt apoi afisate in afara bradboardului, pe ecranul displayului, afisandu-se de asemenea si ziua cu ora.

  • Circuitul obtinut folosind Fritzing este urmatoarea:

  • Schema electrica generata folosind Fritzing este urmatoarea:

Software Design

Descrierea codului aplicaţiei (firmware):

  • Mediul de dezvoltare utilizat este IDE-ul propus de Arduino.
  • Am utilizat urmatoarele biblioteci:
    • LiquidCrystal_I2C.h
    • Wire.h
    • DHT.h
    • Ethernet.h

Din aceste biblioteci am folosit functii predefinite (de exemplu, primele doua mentionate sunt pentru afisarea pe ecranul displayului cu interfata I2C, biblioteca DHT pentru preluarea, respectiv prelucrarea datelor de la senzor. Ethernet.h este biblioteca folosita pentru a sincroniza datele.)

In plus, setez pinii pentru temperatura, umiditate iar apoi este implementata o functie separata de a trimite pachete de date primite de la senzor, utile pentru a afisa atat pe ecranul displayului, cat si pe pagina web locala care isi da refresh automat periodic. De asemenea, implementarea paginii web locale este realizata in cadrul functiei de loop, facandu-se verificarile necesare.

As mentiona aici faptul ca daca nu conectam la internet prin cablu, sau nu avem o retea locala proprie, datele primite de la senzor sunt pierdute si nu se mai poate afisa astfel nimic.

Rezultate Obţinute

Rezultatele obţinute în urma realizării proiectului pot fi vazute in urmatoarele poze:

Iar afisarea pe pagina web care se updateaza automat:

Prezentarea demo se afla accesand link urmator: https://youtube.com/shorts/tn6Lsb1IPPM?feature=share

Concluzii

Download

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ă ;-).

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*.

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe *Resurse Software* şi *Resurse Hardware*.

Export to PDF

pm/prj2022/ncaroi/digital-alarm-for-temperature-and-humidity.1653661638.txt.gz · Last modified: 2022/05/27 17:27 by ioana.encea
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