This is an old revision of the document!
Intelligent Temperature Sensor for Beverages
Introducere
Scopul proiectului este implementarea unui senzor de temperatură inteligent pentru băuturi.
Este acționat prin intermediul unui senzor de temperatură impermeabil și afișează date despre temperatura curentă a unei băuturi și dacă se află în limitele impuse, limite care pot fi modificate. De asemenea, se poate folosi și pentru a determina în cât timp se va răci un lichid până la temperatura dorită.
Motivația din spatele proiectului este că, de cele mai multe ori, nu știm ce temperatură au băuturile și dacă putem să le consumăm. De cele mai multe ori fie ajungem să ne ardem, fie sunt deja prea reci.
Descriere generală
Modul de funcționare al mecanismului este următorul: se verifică temperatura unei băuturi prin introducerea senzorului impermeabil în băutură. Pe un ecran LCD se afișează apoi temperatura și dacă este prea fierbinte sau prea rece, în funcție de setările de temperatură prestabilite. Există și un suport vizual pentru temperatură, prin intermediul unui LED RGB, care se aprinde albastru dacă este prea rece, roșu dacă este prea cald și verde pentru o temperatură adecvată. De asemenea, valorile de referință de temperatură pot fi ajustate prin intermediul unui potențiometru. În ultimul rând, aparatul poate fi folosit și pentru a determina în cât timp se va răci lichidul până la temperatura dorită, folosind Legea de Răcire a lui Newton.
Hardware Design
Plăcuță Arduino UNO
Senzor de temperatură impermeabil DS18B20
Senzor de temperatură normal DS18B20
LCD 1602
2 * Potențiometru Stereo 10K
LED RGB cu catod comun
2 rezistențe 4.7K Ohm, 3 rezistențe 220 Ohm
Fire conectoare
Breadboard
Software Design
Toată interacțiunea cu aparatul se face prin intermediul unui meniu, care poate fi accesat prin intermediul a patru butoane. Cele cinci moduri de funcționare ale aparatului sunt:
Off mode → aparatul este oprit
Standby mode → se accesează prin apăsarea primului buton, este meniul principal
Temperature sensing mode → se măsoară temperatura prin senzorul DS18B20 impermeabil și se afișează pe LCD
Set mode → se setează valorile de referință pentru care lichidul este cald sau rece
Probing mode → se iau valorile temeperaturii pe o perioadă de 5 secunde și se calculează timpul necesar răcirii lichidului până la temperatura setată anterior
Calcularea timpului necesar de răcire se face folosind Legea de Răcire a lui Newton. Se compară diferența de temperatură a lichidului într-un interval de timp raportată la temperatura ambientală, măsurată prin alt senzor de temperatură DS18B20. Apoi se află constanta de răcire a mediului în funcție de valorile menționate și se calculează astfel timpul necesar răcirii până la o anumită temperatură. Mai multe detalii despre acest fenomen poți găsi
aici.
Cel mai important aspect al proiectului este navigarea între modurile de funcționare ale aparatului. Aceasta este posibilă datorită debounce-ului făcut pe fiecare buton și cum sunt programate schimbările de stare: în momentul în care un buton își schimbă starea, toate celelalte stări sunt invalidate, fiind necesară resetarea stării curent într-o valoare de
False pentru a reveni la meniul de modul de standby și pentru a accesa apoi alte moduri.
Efectul de debounce realizat în funcționarea butoanelor se bazează pe înregistrarea doar a unui semnal produs de buton într-o perioadă de timp stabilită și compararea acestuia cu fostul semnal primit, pentru a valida dacă s-au produs schimbări sau nu.
Pentru programarea microcontroller-ului s-a folosit mediul de dezvoltare Arduino IDE, iar ca biblioteci incluse s-au folosit LiquidCrytal.h, pentru programarea LCD-ului, iar OneWire.h și DallasTemperature.h pentru interacțiunea senzorilor de temperatură cu exteriorul.
Rezultate Obţinute
În urma testării, apartul se comportă conform așteptărilor. În continuare, voi atașa poze în care se va vedea utilizarea aparatului și fiecare din cele 4 moduri de funcționare al acestuia. De notat este că timpul de răcire afișat este în minute, iar temperatura la care vrea să se ajungă este cea setată în al treilea mod de funcționare.
Concluzii
Download
Bibliografie