Salutare!
Sunt Sebi de la Bitmi.ro si astazi iti arat cum am construit un mini proiect cu Arduino, capabil sa detecteze culorile si sa transforme informatia primita de la un senzor intr-o miscare mecanica.
Acest proiect este o implementare interactiva a unui sistem de recunoastere a culorilor, realizata cu ajutorul unei placi Arduino, a unui senzor optic si a unui servomotor.
Sistemul foloseste senzorul de culoare TCS34725 pentru a analiza lumina reflectata de obiectul aflat in fata lui.
Senzorul transmite catre Arduino informatii despre componentele rosu, verde si albastru, iar programul foloseste aceste date pentru a identifica culoarea.
Dupa identificarea culorii, Arduino trimite o comanda catre servomotor, care se roteste pana in dreptul culorii respective de pe paleta.
Ce este senzorul de culoare TCS34725 si cum functioneaza:
Senzorul TCS34725 este un senzor optic capabil sa masoare intensitatea luminii si componentele RGB ale luminii reflectate de un obiect.
Acesta foloseste fotodiode pentru a masura componentele rosu, verde si albastru, iar Arduino primeste aceste informatii sub forma unor valori digitale.
In functie de combinatia acestor valori, putem determina culoarea obiectului aflat in fata senzorului.
Senzorul comunica cu Arduino prin interfata I2C, ceea ce permite transmiterea datelor folosind doar doua linii de comunicatie.
Ce este servomotorul si cum functioneaza:
Servomotorul este un motor electric controlat electronic, care permite pozitionarea axului la un anumit unghi.
In acest proiect, servomotorul este folosit pentru a indica pe paleta culoarea detectata de senzor.
Arduino stabileste unghiul la care trebuie sa se roteasca servomotorul in functie de culoarea identificata.
Astfel, fiecare culoare de pe paleta poate avea propria pozitie.
Ce este Arduino UNO si cum functioneaza:
Arduino UNO este placa de dezvoltare care controleaza intregul proiect.
Aceasta citeste datele primite de la senzorul TCS34725, analizeaza valorile RGB si determina culoarea detectata.
Apoi, in functie de rezultatul obtinut, Arduino transmite comanda catre servomotor pentru a-l pozitiona in dreptul culorii corespunzatoare.
Astfel, Arduino reprezinta legatura dintre senzor si partea mecanica a proiectului.
Componente necesare:
1 x Placa de dezvoltare Arduino
1 x Senzor recunoastere culori RGB TCS34725
1 x Servomotor SG90
7 x Fire conexiune tata-mama
Schema de conectare

Cod sursa
Dupa ce ai realizat conexiunile, este timpul sa incarci codul sursa. Pentru a-l descarca, click AICI.
Conecteaza placa Arduino la PC folosind cablul USB, apoi deschide Arduino IDE. Din meniul Tools, selecteaza placa si portul serial corespunzator, iar apoi apasa butonul Upload (sageata spre dreapta).
Cum functioneaza proiectul:
Functionarea proiectului incepe atunci cand utilizatorul aseaza un obiect colorat in fata senzorului TCS34725.
Acesta foloseste senzori optici pentru a masura lumina reflectata de obiect si identifica intensitatea componentelor rosu, verde si albastru.
Valorile RGB sunt transmise catre Arduino prin interfata I2C, unde sunt citite si procesate. Arduino analizeaza combinatia valorilor primite si determina culoarea obiectului aflat in fata senzorului.
Dupa identificarea culorii, Arduino stabileste pozitia corespunzatoare de pe paleta si trimite comanda catre servomotor.
Servomotorul se roteste pana la unghiul stabilit, iar indicatorul ajunge in dreptul culorii detectate.
Daca schimbam obiectul si punem o alta culoare in fata senzorului, Arduino citeste din nou valorile RGB, identifica noua culoare si modifica automat pozitia servomotorului.
Astfel, intregul proces se desfasoara automat: senzorul detecteaza culoarea, Arduino proceseaza informatia, iar servomotorul transforma rezultatul intr-o miscare vizibila pe paleta.