Sistem de monitorizare și răcire a lichidelor pentru copii

Nume: Butacu Andra Bianca
Grupă: 334CB

Introducere

Proiectul întruchipează o modalitate interactivă de răcire și monitorizare a lichidelor fierbinți pentru copii. În acest sens, știm că răbdarea copiilor este limitată – astfel, ne dorim să facem această așteptare mai puțin anevoioasă.

Descriere generală

Sistemul va avea în componența sa un buton ON/OFF ce va porni procesul. Odată adăugat lichidul, pe ecranul LCD va fi afișat nivelul acestuia și temperatura actuală. Cu ajutorul a altor două butoane, se setează temperatura dorită ce va fi afișată tot pe LCD.
Cât timp temperatura dorită nu este atinsă, ventilatorul va funcționa pentru a aduce băutură la temperatura camerei. De asemenea, LED-ul va fi aprins și va avea culoarea roșie, iar buzzer-ul va cânta pentru a distrage atenția copiilor.
În momentul în care temperatura ajunge în range-ul dorit, buzzer-ul și ventilatorul se vor opri, iar LED-ul devine verde. Laptele / ceaiul e numai bun de servit!

Hardware Design

  • Arduino UNO (ATMega328p)
  • Ecran LCD 1602
  • Potențiometru
  • Senzor temperatură rezistent la apă ds18b20
  • Senzor nivel apă
  • Led RGB 5mm 4pini
  • Buzzer pasiv
  • Rezistoare
  • Fire de legatura
  • Butoane - Push Button - trough hole
  • Elice ventilator
  • Breadboard

Software Design

Am dezvoltat codul în IDE-ul Arduino.
M-am folosit de patru biblioteci:

  1. Wire.h
  2. OneWire.h
  3. DallasTemperature.h
  4. LiquidCrystal.h

Primele trei sunt folosite pentru inițializarea senzorului de temperatură, iar ultima pentru LCD.

  • setup()

Încep prin a configura pinii, activez LCD-ul, senzorul de temperatură și ledul. Am decis să implementez butoanele de reglare a temperaturii (minus și plus) folosind întreruperi, deoarece modificarea temperaturii dorite trebuie observată imediat de către utilizator. Am considerat că butonul on poate fi implementat fără întreruperi, deoarece acesta va fi acționat o singură dată.

  • loop()

Cât timp butonul on nu a fost apăsat, ledul are culoarea roșie, iar pe LCD este afișat un mesaj ce îndeamnă utilizatorul să acționeze butonul. Odată apăsat, ledul își schimbă culoarea și este afișat un mesaj de așteptare.
După ce se realizează inițializarea, pe ecran sunt afișate temperatura curentă (C) și temperatura dorită (W), alături de nivelul lichidului. Prin apăsarea butoanelor de minus și plus se setează temperatura așteptată. În acest timp, ledul va fi roz, iar elicea va funcționa pentru a aduce lichidul la temperatura camerei. Buzzer-ul va scoate ușoare beep-uri pentru a nu afecta auzul celor mici și pentru a îi ține distrasi.
În momentul în care temperatura ajunge într-un range de +- 0.3 grade C față de temperatura dorită, elicea și buzzerul se opresc, iar ledul devine verde. Un mesaj de atenționare este afișat pe LCD. Băutura este gata!

Rezultate Obţinute

Am reușit să implementez ce mi-am propus. Mai jos adaug un demo:
https://youtu.be/ccaD33Wa6Zw

Concluzii

Pe parcursul dezvoltării, am întâmpinat probleme clasice (cum ar fi debounce pentru butoane) ce au putut fi rezolvate. Proiectul a fost unul interesant și am lucrat cu plăcere la el. Satisfacția pe care o simți atunci când vezi rezultatul final nu se poate compara cu nimic altceva. 8-)

Download

O arhivă ce conține codul sursă:
monitorizare_lichide_copii.zip

Jurnal

  • 09.05.2022: Realizarea paginii proiectului, alături de o descriere succintă, schemă bloc și componente
  • 17.05.2022: Verificarea funcționalității tuturor componentelor comandate
  • 18.05.2022: Bătăi de cap cu conectarea LCD-ului :-(
  • 19.05.2022: Adăugarea ledului, buzzerului și a butoanelor
  • 20.05.2022: Conectarea senzorilor de temperatura și nivel, adăugarea elicei
  • 24.05.2022: Realizarea cutiei și a design-ului exterior ^_^
  • 26.05.2022: Ultimele verificări, realizare documentație

Bibliografie/Resurse

pm/prj2022/ionuto/monitorizare_lichide_copii.txt · Last modified: 2022/05/27 19:55 by andra_bianca.butacu
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