Table of Contents

Color Identifier - Ramadan Ahmad

Introducere

Acest proiect este un identificator de culori bazat pe Arduino, care are scopul de a detecta și recunoaște culorile diferitelor obiecte plasate în fața senzorului de culoare TCS34725. Ideea a pornit de la nevoia de a avea un dispozitiv capabil să clasifice culorile obiectelor într-un mod simplu și eficient.

  • de ce credeţi că este util pentru alţii şi pentru voi?

Acest proiect poate fi util pentru persoanele cu deficiențe de vedere la culori, facilitând identificarea și diferențierea culorilor obiectelor din jurul lor, precum si sortarea culorilor într-un proces de producție, dar și pentru educatori sau părinți care doresc să îi învețe pe copii despre culori într-un mod interactiv și amuzant. 8-)

Descriere generală

  1. Obiectul colorat este plasat în fața senzorului de culoare TCS34725. (de ex. fruct cum ar fi un mar/portocala)
  2. Senzorul de culoare TCS34725 detectează culoarea obiectului și trimite datele către Arduino Mega2560.
  3. Arduino UNO Mega2560 procesează datele primite și determină numele culorii detectate.
  4. Numele culorii este afișat pe ecranul OLED 128×64, iar utilizatorul poate vedea și înțelege culoarea detectată.
  5. Ledul RGB este controlat de Arduino Mega2560 pentru a lumina culoarea detectată, oferind astfel o reprezentare vizuală a culorii obiectului.
  6. Utilizatorul și obiectul colorat interacționează cu sistemul prin intermediul senzorului de culoare, display-ului OLED și a ledului RGB, cat si a servo-ului atasat,permițând identificarea rapidă și eficientă a culorilor diferitelor obiecte.
  7. Butonul are rolul de a produce o intrerupere hardware, prin stingerea becului RGB dupa ce se apasa pe buton.

Schema Bloc:

Hardware Design

Proiectul nostru de identificator de culori constă în următoarele componente hardware, piesele folosite pentru realizarea proiectului sunt:

Schema circuitului:


Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR)
  • librării şi surse 3rd-party (e.g. Procyon AVRlib)
  • algoritmi şi structuri pe care plănuiţi să le implementaţi
  • (etapa 3) surse şi funcţii implementate

Acest program utilizează mai multe biblioteci terță parte:

În ceea ce privește algoritmi și structuri implementate, programul folosește o metodă de citire a datelor de la senzorul de culoare TCS34725, apoi normalizarea valorilor RGB prin împărțirea fiecărei la media celor trei. Programul utilizează apoi aceste valori normalizate pentru a determina ce culoare este detectată.

- Funcțiile implementate în acest cod includ:

Rezultate Obţinute

Concluzii

În concluzie, acest proiect a fost o experiență de învățare incredibilă și, fără îndoială, cel mai interesant proiect la care am lucrat până acum în cadrul facultății. Am avut ocazia să explorez și să înțeleg mai bine diverse componente hardware precum servomotoarele, senzorii de culoare, LED-urile RGB și ecranele OLED.

O provocare a fost lucrul cu ecranul OLED 128×64 . A fost nevoie de timp și de multă răbdare pentru a înțelege cum să conectez corect ecranul și cum să controlez afișarea textului pe acesta, inclusiv schimbarea și mărirea fontului. Cu toate acestea, această experiență a fost foarte valoroasă, deoarece am învățat multe despre gestionarea afișajelor. 8-)

Deși proiectul a avut provocările sale, a fost, în același timp, foarte distractiv. Am avut posibilitatea de a experimenta, de a învăța și de a crea ceva util și tangibil. Sunt încântat de ceea ce am reușit să realizez și sunt nerăbdător să aplic cunoștințele dobândite în proiecte viitoare.:-D

Download

ramadan_ahmad_331cb_proiect_pm.zip

Bibliografie/Resurse

Resurse Software şi Resurse Hardware :

Export to PDF