This is an old revision of the document!
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:
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
Descrierea codului aplicaţiei (firmware):
mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
librării şi surse 3rd-party (e.g. Procyon AVRlib)
algoritmi şi structuri pe care plănuiţi să le implementaţi
(etapa 3) surse şi funcţii implementate
Rezultate Obţinute
Care au fost rezultatele obţinute în urma realizării proiectului vostru.
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