Vasile-Cristian SPIRU (67137) - Color Master

Autorul poate fi contactat la adresa: Login pentru adresa

Introducere

Proiectul consta in construirea unui dispozitiv pe care utilizatorul il poate folosi pentru a scana o culoare. Instant, aceasta va fi afisata pe o matrice de LED-uri RGB, pentru a o vizualiza mai bine. Aceasta culoare poate fi modificata cu ajutorul unor potentiometre, dupa preferinte. Ulterior, culoarea este afisata in format RGB pe un display grafic.

Inspiratia pentru acest dispozitiv a fost ideea de a avea un color picker portabil in viata de zi cu zi.

Dispozitivul se adreseaza indeosebi utilizatorior specializati din domeniul design-ului grafic. Un astfel de produs le-ar permite sa obtina culorile dorite din mediul inconjurator, sa le modifice, apoi sa le utilizeze in creatiile lor.

Descriere generală

Schema bloc:

Hardware Design

Lista de piese:

  • Potentiometru x3
  • Senzor de culoare TCS230 x1
  • LCD Grafic 16×2 5V x1
  • Matrice de leduri RGB (8 x 8) x1
  • Fire mama-mama x50
  • Rezistente
  • Tranzistori bc517 x8
  • Pini mama
  • LED RGB x1

Software Design

Pentru software am folosit 2 biblioteci gasite: cea din laboratorul 4 pentru LCD-ul 16×2 unde a trebuit sa modific define-urile pentru pinii de la LCD si o biblioteca pentru TCS3200 (interfacing-tcs3200-colour-sensor-with-avr-atmega32). Senzorul de culoare folosit de mine este TCS230, de aceea am luat aceasta biblioteca si am modificat-o pentru a functiona folosind modelul meu de senzor. Pentru inceput m-am documentat cu privire la modul in care functioneaza senzorul de culoare. Dupa ce m-am uitat pe datasheet-ul senzorului, am descoperit cum pot fi interpretate valorile masurate (color-detector-using-microcontroller.html). Functia TCSMeasure() calculeaza frecventa de pe output pe jumatate de perioada de ceas, se masoara frecventa fiecarei culori R, G si B. Functia este echivalentul functiei pulseIn() din Arduino, acesta asteapta frontal crescator ca sa inceapa masuratoarea. Verific pe baza acestui tabel ce culoare este dupa care setez pinii pentru LED-ul RGB corespunztor . Initial foloseam o matrice de led-uri RGB, dar s-a ars… Pe LCD afisez valoarea RGB si numele culorii scanate.

Soft-ul a fost destul de greu de implementat deoarece nu am avut exemple din anii trecuti pentru inspiratie, iar pe net toate foloseau acest senzor de culoare cu o placuta Arduino.

Rezultate Obţinute

Proiectul este functional, detecteaza o gama restransa de culori (Rosu/Alb/Verde/Galben/Rosu/Albastru/Mov si nuante ale acestora) pe care le afiseaza pe LCD si pe LED-ul RGB.

Concluzii

A fost distractiv si sunt foarte fericit ca merge, nu ma asteptam la asta. Nu am mai folosit potentiometrele deoarece nu functioneaza cu valoarea intoarsa de senzorul de culoare. Am invatat cum sa interactionez cu elementele hardware. Soft-ul mi-a dat ceva bataie de cap, dar a iesit (asta conteaza).

Download

Arhiva cod si Makefile - colorpickercode.zip

Jurnal

  • 12 aprilie – alegere tema proiect
  • 19 aprilie – completare schema bloc + descriere pe wiki
  • 25 aprilie – finalizare lipit placa de inceput
  • 12 mai – finalizare lipit PCB aditional + conectare
  • 19 mai – inceput implementare software
  • 23 mai – finalizare proiect + pagina de wiki

Bibliografie/Resurse

pm/prj2017/imatesica/cristi_color-picker.txt · Last modified: 2021/04/14 17:07 (external edit)
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