This is an old revision of the document!


Dozator Inteligent de Apă

Introducere

Proiectul constă într-un sistem automatizat pentru dozarea apei, cu posibilitatea alegerii cantității prin telecomandă. Am pornit de la ideea de a crea un dispozitiv util în medii aglomerate (birouri, laboratoare, etc.) unde dozarea apei poate fi repetitivă și anevoioasă. Scopul este de a oferi un mod hands-free, rapid și sigur de a umple pahare cu apă, cu verificarea automată a disponibilității apei și a recipientului. Considerăm că un astfel de dispozitiv poate avea aplicabilitate practică.

Descriere generală

Sistemul este compus din mai multe module hardware și software care colaborează pentru a permite dozarea controlată a apei. Utilizatorul selectează cantitatea dorită folosind o telecomandă IR. Un senzor ultrasonic detectează prezența unui pahar, iar un al doilea senzor verifică nivelul apei în rezervor. Dacă oricare dintre condiții nu este îndeplinită, utilizatorul este informat printr-un mesaj pe LCD și un semnal sonor. Dacă totul este în regulă, o pompă este activată pentru a doza cantitatea corespunzătoare.

Hardware Design

Lista componentelor:

  • Arduino UNO
  • Senzor ultrasonic HC-SR04 x2 (pentru nivel apă și detecție pahar)
  • Display LCD 1602 cu I2C
  • Modul Releu 5V
  • Pompă de apă submersibilă
  • Receptor IR
  • Telecomandă IR standard
  • Buzzer pasiv
  • Fire de conectare, breadboard și sursă de alimentare

Schema electrică și diagrame de semnal vor fi atașate mai jos.

Software Design

Codul implementat pentru acest proiect controlează întregul proces de dozare automată a apei, fiind scris pentru platforma Arduino UNO. Funcționează cu o telecomandă IR pentru inputul utilizatorului, iar feedback-ul vizual este oferit de un ecran LCD 1602 cu interfață I2C. Sistemul folosește doi senzori ultrasonic HC-SR04: unul pentru detectarea nivelului de apă din rezervor, iar celălalt pentru a verifica prezența unui pahar.

Codul utilizează următoarele biblioteci externe: - `Wire.h`: pentru comunicația I2C; - `LiquidCrystal_I2C.h`: pentru controlul afișajului LCD; - `IRremote.h`: pentru interpretarea semnalelor de la telecomandă.

Display-ul LCD este configurat pe adresa I2C `0x27`, cu 16 coloane și 2 rânduri. Receptorul IR este conectat la un pin digital definit ca `IRPIN`. Senzorii ultrasonic folosesc perechi de pini `TRIG`/`ECHO` pentru măsurători. Buzzer-ul este conectat la `BUZZER_PIN`, iar pompa este controlată printr-un releu conectat la `RELAY_PIN`.

Sunt definite coduri pentru butoanele de pe telecomandă: - stânga pentru selectarea paharului mic, - dreapta pentru selectarea paharului mare, - OK pentru confirmarea selecției și inițierea procesului de dozare.

Durata de turnare este stabilită în funcție de selecție, iar valorile pentru nivelul minim și maxim de apă, respectiv distanța maximă admisă pentru detectarea paharului, sunt configurate ca variabile constante.

Funcția `setup()` inițializează componentele hardware, configurând pinii și pornind comunicarea cu LCD-ul și receptorul IR. În bucla principală `loop()`, codul citește valorile senzorilor și așteaptă o comandă de la telecomandă. Dacă este selectat un pahar, sistemul setează durata de turnare și actualizează afișajul. La apăsarea butonului OK, se verifică dacă există suficientă apă și dacă este detectat un pahar. Dacă una dintre condiții nu este îndeplinită, se declanșează un semnal sonor și se afișează un mesaj de eroare. În caz contrar, pompa este activată pentru timpul setat.

Printre funcțiile implementate se numără: - `beep()`: generează un semnal sonor prin buzzer; - `pourWater()`: activează pompa pentru perioada configurată; - `isWater()`: returnează true dacă nivelul apei este suficient; - `isGlass()`: verifică prezența unui pahar; - `readWaterLevel()` și `readGlassDistance()`: returnează valorile măsurate de cei doi senzori ultrasonic.

Fluxul de utilizare este simplu: utilizatorul selectează mărimea paharului, confirmă cu OK, iar sistemul validează condițiile și acționează pompa dacă totul este în regulă. În caz contrar, utilizatorul este notificat corespunzător.

Download

Fișierele proiectului (schemă, cod sursă, documentație) vor fi atașate în acest spațiu.

pm/prj2025/avaduva/andrei.nedelcu2002.1747590671.txt.gz · Last modified: 2025/05/18 20:51 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