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.
A fost un proiect foarte interesant care chiar mi-a placut.
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.