This is an old revision of the document!


Termostat

Autor

Introducere

Acest proiect urmărește o implementare minimală a unui termostat. Acesta va afisa data si ora exacta (cu ajutorul unui RTC), temperatura si umiditatea (cu ajutorul modulului DHT22) pe un ecran LCD. De asemenea, voi implementa si un ventilator (motor DC + L293D). Voi implementa doua programe, de răcire și încălzire. Cu ajutorul a două potențiometre voi seta temperaturile de referință pentru cele 2 programe. Astfel, dacă temperatura din încăpere este mai mare decât temperatura de referință pentru modul de răcire, atunci pronesc ventilatorul pe acel mod. De asemenea, pentru confirmarea unei noi setari, voi semnaliza aceasta cu un sunet specific al unui buzzer, dar și cu câte un LED pentru fiecare program (roșu și albastru).

Descriere generală

Schema bloc:

Funcționalitate

Circuitul este format din placuta arduino care preia date de la senzorul de temperatura si umiditate, le prelucrează și apoi le afisează pe un ecran LCD. De asemenea, o sa folosesc si un modul RTC care va afisa data si ora pe ecran. Cele două potențiometre au rolul de a seta temperaturile de referință la care să pornească ventilatorul. Astfel, poti sa setezi o temperatura la care acest ventilator sa porneasca automat, ori pe modul de răcire și încălzire.

Pentru ventilator voi utiliza un motoras DC simplu, pe care o sa il folosesc cu ajutorul unui driver L293D. In momentul pornirii, acesta va invarti o elice ca sa simuleze procesul de ventilator. De asemenea, pentru semnalizarea momentul de start al ventilatorului am 2 LED-uri (pentru fiecare program) si un buzzer care produce un sunet specific.

Hardware Design

Listă de piese

  • Arduino Uno
  • LCD 2004 cu I2C
  • Senzor de temperatură si umididtate DHT22
  • Motor DC + Elice
  • Driver L293D
  • Module RTC DS3231
  • Buzzer
  • Fire Tata-Tata
  • Breadboard x2
  • Rezistențe
  • 2x LED
  • 2x Potențiometru

Schemă electrică

Software Design

Mediul de dezvoltare

  • Arduino IDE - cod
  • Fritzing - schema electrică
  • Draw.io - schema bloc

Bibliotect folosite

  • pitches.h - note pentru buzzer
  • LiquidCrystal_I2C.h - ecran LCD
  • DHT.h - temperatură + umiditate

Funcții utilizate

  • lcd() - inițializarea ecranului LCD
  1. setCursor()
  2. print()
  • dht() - inițializarea modulului DHT22
  1. readHumidity()
  2. readTemperature()
  • rtc() - inițializarea modulului RTC
  1. now() - preiau momentul în timp
  • map() - mapez valorile unui potențiometru între 17 și 40
  • tone() - redarea sunetului pe buzzer

Notă: Toată logica programului se află funcția loop(), în timp ce în setup() doar inițializez toate modulele și pinii

Rezultate Obţinute

Concluzii

Consider că acest proiect m-a ajutat să mă familiarizeze cu Arduino și perifericele necesare, într-un mod plăcut.

Jurnal

24 Aprilie : alegerea temei proiectului 10 Mai : finalizare schema bloc, introducere si lista de piese 15 Mai : achiziționare piese 18 Mai : schemă electrică 27 Mai : conectare modul DHT22 și ecran LCD 29 Mai : conectare modul RTC 30 Mai : conectare LED-uri, buzzer și potențiometre + retușuri afișare pe LCD 31 Mai : conectare motoraș 1 Iunie : finalizarea proietului 2 Iunie : finalizare wiki + demo

Bibliografie/Resurse

Documentația: PDF

pm/prj2021/agrigore/2048.1622658483.txt.gz · Last modified: 2021/06/02 21:28 by vlad.sandu0308
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