Thermostat

Introducere

La baza, device-ul este un termostat. Isi propune sa masoare temperatura mediului inconjurator si sa aprinda un LED si/sau sa porneasca un buzzer daca temperatura depaseste un anume prag.

Aceasta valoare va fi:

  • afisata pe un display OLED.
  • trimisa prin bluetooth si afisata intr-o aplicatie mobila.

Device-ul este destinat pentru aplicatiile in care e nevoie de monitorizarea temperaturii ambientale cu eroare ⇐ 1 grad C si mentinerea acesteia sub un anumit prag.

Descriere generală

Senzorul de temperatură LM35

Este un senzor analogic de temperatură, care converteste temperatura in tensiune. Acesta are forma unui transistor cu trei pini si poate fi alimentat cu o tensiune cuprinsa intre 4 si 20V. Pentru a utiliza senzorul, este necesar sa se realizeze o conversie analog-digitala a tensiunii de iesire a acestuia. Pentru aceasta, se foloseste un convertor analog-digital (ADC) software pentru a converti tensiunea de iesire a senzorului in valori digitale, care pot fi apoi citite de catre un microcontroller.

Modulul bluetooth HC-05

Este un modul Bluetooth de tip master/slave si este format dintr-un microcontroller și un chip Bluetooth, care lucrează împreună pentru a permite comunicarea wireless.

Display-ul OLED IIC/I2C

Are nevoie de o conexiune la o sursă de alimentare și de o conexiune la un microcontroler care să gestioneze afișarea datelor prin intermediul pinilor SDA si SCL. Pentru a afișa date pe display, microcontrolerul trebuie să trimită datele respective prin intermediul protocolului I2C la adresa specificată a afișajului OLED.

Schema bloc

Hardware Design

Componente folosite:

  • Arduino Nano
  • Senzor temperatura LM35
  • Modul bluetooth HC05
  • Display OLED I2C
  • Baterie 9V

Schema electrica

Software Design

Functionalitate software:

  • Initializare display (I2C), senzor temperatura (analog), baud rate modul bluetooth (USART)
  • Timer cu intreruperi la ~15ms si masurarea temperaturii la 5 sec., in rest modulul va sta in power save mode
  • Functie pentru masurarea tensiunii la iesire a senzorului de temperatura cu CAN pentru a obtine temperatura in grade Celsius
  • Functie pentru afisarea datelor pe display
  • Functie pentru trimiterea datelor prin bluetooth
  • Functie care sa aprinda un LED si/sau sa porneasca un buzzer cand temperatura depaseste un anumit prag

Biblioteci folosite:

  • Wire.h → pentru comunicatia I2C pentru display
  • Adafruit_GFX.h → pentru display
  • Adafruit_SSD1306.h → pentru display
  • SoftwareSerial.h → pentru a initializa comunicatia USART cu modulul Bluetooth pe alte pinuri fata de pinurile fizice RX, TX de pe Arduino

Rezultate Obţinute

Concluzii

Totul merge bine in afara de senzorul de temperatura care nu e foarte precis, avand marja de eroare de ~1 grad Celsius si necesita putin timp la pornirea circuitului pentru calibrare.

Download

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/prj2023/avaduva/health-monitor.txt · Last modified: 2023/05/31 11:22 by florin.barbalan0812
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