Fierbator Programabil
Introducere
In cadrul acestui proiect imi propun sa creez un fierbator pentru care se poate programa dupa cat timp se incepe fierberea apei si care sa notifice utilizatorul in momentul atingerii temperaturii de fierbere.
Scopul proiectului este economisirea timpului de asteptare pentru fierberea apei si programarea sa in avans.
Fiind un bautor de cafea in mod regulat, aceasta idee mi-a venit in mod natural din dorinta de a nu mai pierde timpul asteptand ca apa sa atinga punctul de fierbere, dar si din dorinta de a o avea gata la momentul potrivit in fiecare dimineata.
Desi tema proiectului este una relativ simpla, consider ca acesta s-ar dovedi extrem de util in viata de zi cu zi intrucat rezolva o problema de care ne-am lovit fiecare dintre noi la un moment.
Descriere generală
Din pacate, in implementarea finala a proiectului nu am reusit sa adaug functionalitatea cheie a acestuia, si anume fierberea apei, intrucat mi s-a defectat sursa de tensiune pentru alimentarea rezistentei de fierbere si nu am reusit sa o inlocuiesc in timp util.
Astfel, am decis sa simulez inceperea fierberii cu aprinderea unui led si sa renunt la urmatoarele componente ce facilitau fierberea:
Rezistenta pentru fierbere
Releu/Mecanismul care sa il inlocuiasca pentru inchiderea circuitului rezistentei
Detectorul de umiditate ce semnaleaza atingerea punctului de fierberea
Functionalitate realizata si Utilizare
In cadrul acestei sectiuni, voi explica pas cu pas modul de functionare al proiectului.
Este afisat un mesaj de intampinare a utilizatorului, prin care i se indica apasarea butonului de start pentru setarea timpului de fierberea
Este afisat un ecran in care se poate seta, folosind doua butoane, numarul de minute/secunde dupa care sa inceapa fierberea dupa confirmarea acestei durate cu un al treilea buton
In cazul introducerii unei durate mai indelungate decat o ora, este afisat un mesaj ce indica depasirea timpului maxim si necesitatea resetarii dispozitivului
Este afisat timpul descrescator pana la inceperea fierberii
La expirarea delay-ului pana la fierbere, este afisat un mesaj ce semnaleaza inceperea fierberii si se aprinde led-ul ce simuleaza fierbatorul
Dupa 5 secunde (timp convenabil pentru testarea functionalitatii), fierberea este oprita si este un transmis un semnal sonor de catre buzzer ce indica terminiarea acestui proces
Este afisat un mesaj ce semnaleaza terminarea fierberii si necesitatea resetarii dispozitivului pentru revenirea la starea initiala
Toata mesajele sunt afisate pe LCD, iar butonul de RESET este cel incorporat in placuta Arduino Uno.
Hardware Design
Componente utilizate:
Releu (nefolosit)
Rezistenta fierbere apa (nefolosit)
Fire
Sursa de tensiune (nefolosit)
Butoane
Afisor LCD
Detector umiditate (nefolosit)
Buzzer
Rezistente 1K
LED semnalizare fierbere
Software Design
Componenta software a proiectului este realizata folosind IDE-ul Arduino si limbajul C.
Pentru detalierea implementarii software, voi explica in linii mari rolul fiecarei functii.
setup
checkMaxBoilTime
printTimeUntilBoil
boilingDelay
checkBoilingTimeSet
boilingEnded
loop
se verifica daca fierberea s-a incheiat pentru a se afisa mesajul corespunzator
se verifica daca a fost setat delay-ul pentru fierbere pentru a incepe decrementarea acestuia
daca a inceput fierberea efectiva:
se afiseaza mesajul corespunzator
se asteapta 5 secunde pentru simularea timpului de fierbere
se stinge led-ul pentru a semnala oprirea rezistentei de fierbere
este transmis un semnal sonor utilizatorului folosind buzzer-ul, indicand sfarsitul fierberii
se verifica daca a fost apasat butonul de start, afisand mesajele corespunzatoare
sunt numarate apasarile butoanelor de minute/secunde
sunt incrementate minutele in cazul in care secundele trec de valoarea 60
Rezultate Obţinute
Demo cu durata pana la fierbere mai mare de un minut:
Demo cu durata pana la fierbere mai mica de un minut:
Demo eroare - timp pana la fierbere mai mare de o ora:
Concluzii
Desi nu am reusit implementare completa propusa la inceputul proiectului, implementarea acestuia mi-a trezit interesul pentru zona de dezvoltare a acestui tip de dispozitive ce imbina software-ul si hardware-ul.
Elemente utilie asimilate pe parcursul proiectului:
Dezvoltarea programelor in mediul Arduino IDE
Utilizarea diferitelor componente electronice, precum lcd, modul I2C, buzzer, led, butoane
Posibilitatile vaste de utilizare a placutei Arduino Uno
Protocolul I2C
Simularea unui releu cu ajutorul unui N-MOSFET (neimplementat, dar documentat)
Componentele electronice trebuie tratate cu mai multa atentie pentru evitare defectiunilor!
Download
Jurnal
24 Aprilie : Alegere tema proiect
10 Mai → 25 mai : Documentare si comandare piese
1 Iunie : Incercare implementare cu sursa de tensiune, defectiune sursa
2 Iunie : Implementare fara sursa de tensiune, simulare cu led
Bibliografie/Resurse