This is an old revision of the document!
Structurile si functiile folosite sunt:
Structuri:
- Enum `State`: folosit pentru a defini două stări posibile ale programului, WAITING și DETECTING. - Obiectul `LiquidCrystal_I2C`: utilizat pentru a controla ecranul LCD.
Functii:
- `setup()`: Funcția de setup care este apelată o singură dată când programul începe. Aici sunt inițializate pinurile și sunt stabilite anumite setări. - `loop()`: Această funcție este inima programului. Ea se execută repetitiv atâta timp cât placa Arduino este alimentată. Conține o structură switch care modifică comportamentul programului în funcție de starea actuală (WAITING sau DETECTING).
Alte funcții utilizate sunt:
- `digitalWrite()`: Aceasta este o funcție Arduino care stabilește starea unui pin digital la HIGH sau LOW. - `digitalRead()`: Aceasta este o altă funcție Arduino care citește starea unui pin digital. - `pulseIn()`: Aceasta este o funcție Arduino care măsoară durata unui puls pe un pin digital. - `millis()`: Aceasta este o funcție Arduino care returnează numărul de milisecunde de când placa a început să ruleze programul curent. - `delay()`: Aceasta este o funcție Arduino care oprește execuția programului pentru un anumit număr de milisecunde. - Funcții de control al LCD-ului (print, setCursor, clear, etc.).
Acest program așteaptă apăsarea unui buton pentru a începe detectarea culorilor. Detectează culoarea unui obiect și apoi afișează culoarea pe un ecran LCD și aprinde un LED corespunzător (roșu, verde sau albastru). În cazul în care butonul este apăsat din nou în timpul detectării, programul se întoarce în starea de așteptare și oprește toate LED-urile.
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.