This is an old revision of the document!


Detector de culori

Introducere

Proiectul consta in detectarea culorilor obiectelor puse in fata aparatului si e perfect pentru momentele cand ai nevoie sa stii sigur care este culoarea unui obiect fara sa te mai chinui sa-ti amintesti culorile. Ideea de la care am pornit sunt automatele de sortare care au la baza asemenea mecanism si care pot lua ca input o cantitate mare de obiecte si le pot sorta in functie de culoarea lor. Deci implementand acest mecanism o sa poata fi folosit ulterior la construirea unor automate de sortat bomboane, lego sau alte chestii.

Descriere generală

  • Utilizatorul porneste detectorul prin apasarea butonului, apoi odata pornit, senzorul o sa poata detecta culorile obiectelor care apar in fata lui.
  • De la senzor datele vor ajunge la arduino unde codul arduino va determina culoarea si o va afisa pe ecranul LCD iar ledul RGB se va aprinde cu culoarea detectata.

Piese necesare:

  • Breadboard
  • Modul senzor de culoare TCS230
  • Arduino uno
  • RGB Led
  • Ecran LCD I2C
  • Buton
  • Rezistente
  • Fire

Hardware Design

Aici puneţi tot ce ţine de hardware design:

Software Design

Descrierea codului aplicaţiei (firmware):

  • mediu de dezvoltare: Arduino IDE si Visual Studio Code pentru aplicatia Python
  • librării şi surse 3rd-party: Pentru scriptul arduino am folosit libraria LiquidCrystal_I2C.h

La partea de software am programat senzorul de culoare sa citeasca pulse width-ul pentru cele trei canale R G B implementant functiile: int readRedPW(), int readGreenPW(), int readBluePW().

O culoare noua e citita la apasarea butonului iar determinarea culorii este facuta cu ajutorul functiei: int checkColor(int redPW, int greenPW, int bluePW)

Prin intermediul serialului trimit date catre o aplicatie python prin functia void USART0_transmit(unsigned char* data)
Aplicatia python afiseaza la ecranul laptop-ului culoarea citita de senzor si valoarea ei rgb.

Senzorul este configurat pentru a determina 6 culori cu posibilitatea de a extinde numarul de culori :)

Rezultate Obţinute

Care au fost rezultatele obţinute în urma realizării proiectului vostru.

Concluzii

Download

O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

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.

Jurnal

28.04.2023 - Alegere tema proiect
06.05.2023 - Adaugare descriere, schema bloc si piese
10.05.2023 - Comanda piese
19-21.05.2023 - Schema hardware

Bibliografie/Resurse

Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe Resurse Software şi Resurse Hardware.

Export to PDF

pm/prj2023/amocanu/color_detector.1685297997.txt.gz · Last modified: 2023/05/28 21:19 by dan.codreanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0