This is an old revision of the document!
Schema electrica
### Biblioteci Incluse - *Wire.h*: Utilizată pentru comunicarea I2C. - *LiquidCrystal_I2C.h*: Controlul display-ului LCD prin I2C. - *IRremote.h*: Pentru a citi semnalele de la telecomanda infraroșu.
### Definirea Componentelor - *LiquidCrystal_I2C lcd(0x27, 16, 2)*: Inițializează display-ul LCD cu adresa I2C 0x27, având 16 coloane și 2 rânduri. - *decode_results results*: Structură pentru a stoca rezultatele decodării semnalului IR. - *Pinii de conexiune*:
- *Coduri pentru butoane IR*:
- *Constante*:
### Setup - Inițializează LCD-ul și buzzer-ul. - Configurează pinii pentru senzorii de ultrasunete, releu și receptorul IR. - Pornește citirea semnalului IR și comunicarea serială.
### Loop - Afișează pe serial monitor distanțele citite de la senzorii de apă și pahar. - Verifică dacă a fost primit un semnal IR:
### Funcții Auxiliare - *beep()*: Emite un sunet de avertizare prin buzzer. - *pourWater()*: Activează releul pentru a turna apă pentru timpul specificat și resetează variabila pourTime. - *isWater()*: Verifică dacă nivelul apei este suficient. - *isGlass()*: Verifică dacă este prezent un pahar. - *readWaterLevel()*: Citește și returnează nivelul apei folosind senzorul cu ultrasunete. - *readGlassDistance()*: Citește și returnează distanța până la pahar folosind senzorul cu ultrasunete.
### Fluxul de Operare 1. Utilizatorul apasă un buton pe telecomandă pentru a selecta mărimea paharului. 2. Codul IR este citit și interpretat. 3. Când utilizatorul confirmă cu butonul OK:
Acest cod integrează funcționalitatea de citire a senzorilor, controlul releului pentru dozarea apei, și interfața cu utilizatorul prin intermediul unui display LCD și a unei telecomenzi IR.
Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.