Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2025:avaduva:andrei.nedelcu2002 [2025/05/18 20:51]
andrei.nedelcu2002
pm:prj2025:avaduva:andrei.nedelcu2002 [2025/05/28 09:24] (current)
andrei.nedelcu2002 [Youtube & Download]
Line 1: Line 1:
-====== Dozator Inteligent de Apă ======+====== Dozator Inteligent de Apa ======
  
 ===== Introducere ===== ===== Introducere =====
  
 <note tip> <note tip>
-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ă.  +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 și sigur de a umple pahare cu apă, cu verificarea ​automată ​disponibilității ​apei și a recipientului. ​Considerăm că un astfel de dispozitiv poate avea aplicabilitate ​practică.+Scopul este de a oferi un mod hands-free, rapid si sigur de a umple pahare cu apa, cu verificarea ​automata ​disponibilitatii ​apei si a recipientului. ​Consideram ca un astfel de dispozitiv poate avea aplicabilitate ​practica.
 </​note>​ </​note>​
  
-===== Descriere ​generală ​=====+===== Descriere ​generala ​=====
  
 <note tip> <note tip>
-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.+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.
 </​note>​ </​note>​
 +Schema bloc: 
 +{{:​pm:​prj2025:​avaduva:​2.jpeg?​200|}}
 ===== Hardware Design ===== ===== Hardware Design =====
  
Line 19: Line 20:
 Lista componentelor:​ Lista componentelor:​
   * Arduino UNO   * Arduino UNO
-  * Senzor ultrasonic HC-SR04 x2 (pentru nivel apă și detecție ​pahar)+  * Senzor ultrasonic HC-SR04 x2 (pentru nivel apa si detectie ​pahar)
   * Display LCD 1602 cu I2C   * Display LCD 1602 cu I2C
   * Modul Releu 5V   * Modul Releu 5V
-  * Pompă ​de apă submersibilă+  * Pompa de apa submersibila
   * Receptor IR   * Receptor IR
-  * Telecomandă ​IR standard+  * Telecomanda ​IR standard
   * Buzzer pasiv   * Buzzer pasiv
-  * Fire de conectare, breadboard ​și sursă ​de alimentare+  * Fire de conectare, breadboard ​si sursa de alimentare
  
-Schema ​electrică și diagrame de semnal vor fi atașate ​mai jos.+Schema ​electrica si diagrame de semnal vor fi atasate ​mai jos.
 </​note>​ </​note>​
 +Schema electrica:​ 
 +{{:​pm:​prj2025:​avaduva:​1.jpeg?​200|}}
 ===== Software Design ===== ===== Software Design =====
  
 <note tip> <note tip>
-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 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 utilizează următoarele ​biblioteci externe: +Codul utilizeaza urmatoarele ​biblioteci externe: 
-- `Wire.h`: pentru ​comunicația ​I2C; +- `Wire.h`: pentru ​comunicatia ​I2C; 
-- `LiquidCrystal_I2C.h`:​ pentru controlul ​afișajului ​LCD; +- `LiquidCrystal_I2C.h`:​ pentru controlul ​afisajului ​LCD; 
-- `IRremote.h`:​ pentru interpretarea semnalelor de la telecomandă.+- `IRremote.h`:​ pentru interpretarea semnalelor de la telecomanda.
  
-Display-ul LCD este configurat pe adresa I2C `0x27`, cu 16 coloane ​și 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`.+Display-ul LCD este configurat pe adresa I2C `0x27`, cu 16 coloane ​si 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 telecomandă+Sunt definite coduri pentru butoanele de pe telecomanda
-stânga ​pentru selectarea paharului mic,+stanga ​pentru selectarea paharului mic,
 - dreapta pentru selectarea paharului mare, - dreapta pentru selectarea paharului mare,
-- OK pentru confirmarea ​selecției și inițierea ​procesului de dozare.+- OK pentru confirmarea ​selectiei si initierea ​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.+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.
  
-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ă ​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.+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 ​comanda ​de la telecomandaDaca 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 ​funcțiile ​implementate se numără+Printre ​functiile ​implementate se numara
-- `beep()`: ​generează ​un semnal sonor prin buzzer; +- `beep()`: ​genereaza ​un semnal sonor prin buzzer; 
-- `pourWater()`: ​activează ​pompa pentru perioada ​configurată+- `pourWater()`: ​activeaza ​pompa pentru perioada ​configurata
-- `isWater()`: ​returnează ​true dacă nivelul apei este suficient;​ +- `isWater()`: ​returneaza ​true daca nivelul apei este suficient;​ 
-- `isGlass()`: ​verifică prezența ​unui pahar; +- `isGlass()`: ​verifica prezenta ​unui pahar; 
-- `readWaterLevel()` ​și `readGlassDistance()`: ​returnează ​valorile ​măsurate ​de cei doi senzori ultrasonic.+- `readWaterLevel()` ​si `readGlassDistance()`: ​returneaza ​valorile ​masurate ​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.+Fluxul de utilizare este simplu: utilizatorul ​selecteaza marimea ​paharului, ​confirma ​cu OK, iar sistemul ​valideaza conditiile si actioneaza ​pompa daca totul este in regulaIn caz contrar, utilizatorul este notificat ​corespunzator.
 </​note>​ </​note>​
-===== Download =====+ 
 +===== Youtube & Download =====
  
 <note warning> <note warning>
-Fișierele proiectului (schemă, cod sursă, documentație) vor fi atașate în acest spațiu.+  - Link video:​https://​youtu.be/​Zt5q7LeTAOQ?​si=VO7BnMt8LUti_yVh 
 +  - Download:​{{:​pm:​prj2025:​avaduva:​dozator_apa.rar|}}
 </​note>​ </​note>​
 +
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