Dozator Inteligent de Apa

Introducere

Proiectul consta intr-un sistem automatizat pentru dozarea apei, cu posibilitatea alegerii cantitatii prin telecomanda. Am pornit de la ideea de a crea un dispozitiv util in medii aglomerate (birouri, laboratoare, etc.) unde dozarea apei poate fi repetitiva si anevoioasa. Scopul este de a oferi un mod hands-free, rapid si sigur de a umple pahare cu apa, cu verificarea automata a disponibilitatii apei si a recipientului. Consideram ca un astfel de dispozitiv poate avea aplicabilitate practica.

Descriere generala

Sistemul este compus din mai multe module hardware si software care colaboreaza pentru a permite dozarea controlata a apei. Utilizatorul selecteaza cantitatea dorita folosind o telecomanda IR. Un senzor ultrasonic detecteaza prezenta unui pahar, iar un al doilea senzor verifica nivelul apei in rezervor. Daca oricare dintre conditii nu este indeplinita, utilizatorul este informat printr-un mesaj pe LCD si un semnal sonor. Daca totul este in regula, o pompa este activata pentru a doza cantitatea corespunzatoare.

Schema bloc:

Hardware Design

Lista componentelor:

  • Arduino UNO
  • Senzor ultrasonic HC-SR04 x2 (pentru nivel apa si detectie pahar)
  • Display LCD 1602 cu I2C
  • Modul Releu 5V
  • Pompa de apa submersibila
  • Receptor IR
  • Telecomanda IR standard
  • Buzzer pasiv
  • Fire de conectare, breadboard si sursa de alimentare

Schema electrica si diagrame de semnal vor fi atasate mai jos.

Schema electrica:

Software Design

Codul implementat pentru acest proiect controleaza intregul proces de dozare automata a apei, fiind scris pentru platforma Arduino UNO. Functioneaza cu o telecomanda IR pentru inputul utilizatorului, iar feedback-ul vizual este oferit de un ecran LCD 1602 cu interfata I2C. Sistemul foloseste doi senzori ultrasonic HC-SR04: unul pentru detectarea nivelului de apa din rezervor, iar celalalt pentru a verifica prezenta unui pahar.

Codul utilizeaza urmatoarele biblioteci externe: - `Wire.h`: pentru comunicatia I2C; - `LiquidCrystal_I2C.h`: pentru controlul afisajului LCD; - `IRremote.h`: pentru interpretarea semnalelor de la telecomanda.

Display-ul LCD este configurat pe adresa I2C `0x27`, cu 16 coloane si 2 randuri. Receptorul IR este conectat la un pin digital definit ca `IRPIN`. Senzorii ultrasonic folosesc perechi de pini `TRIG`/`ECHO` pentru masuratori. Buzzer-ul este conectat la `BUZZER_PIN`, iar pompa este controlata printr-un releu conectat la `RELAY_PIN`.

Sunt definite coduri pentru butoanele de pe telecomanda: - stanga pentru selectarea paharului mic, - dreapta pentru selectarea paharului mare, - OK pentru confirmarea selectiei si initierea procesului de dozare.

Durata de turnare este stabilita in functie de selectie, iar valorile pentru nivelul minim si maxim de apa, respectiv distanta maxima admisa pentru detectarea paharului, sunt configurate ca variabile constante.

Functia `setup()` initializeaza componentele hardware, configurand pinii si pornind comunicarea cu LCD-ul si receptorul IR. In bucla principala `loop()`, codul citeste valorile senzorilor si asteapta o comanda de la telecomanda. Daca este selectat un pahar, sistemul seteaza durata de turnare si actualizeaza afisajul. La apasarea butonului OK, se verifica daca exista suficienta apa si daca este detectat un pahar. Daca una dintre conditii nu este indeplinita, se declanseaza un semnal sonor si se afiseaza un mesaj de eroare. In caz contrar, pompa este activata pentru timpul setat.

Printre functiile implementate se numara: - `beep()`: genereaza un semnal sonor prin buzzer; - `pourWater()`: activeaza pompa pentru perioada configurata; - `isWater()`: returneaza true daca nivelul apei este suficient; - `isGlass()`: verifica prezenta unui pahar; - `readWaterLevel()` si `readGlassDistance()`: returneaza valorile masurate de cei doi senzori ultrasonic.

Fluxul de utilizare este simplu: utilizatorul selecteaza marimea paharului, confirma cu OK, iar sistemul valideaza conditiile si actioneaza pompa daca totul este in regula. In caz contrar, utilizatorul este notificat corespunzator.

Youtube & Download

pm/prj2025/avaduva/andrei.nedelcu2002.txt · Last modified: 2025/05/28 09:24 by andrei.nedelcu2002
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