U ovom projektu koristićemo ADJD E622 QR999 senzor koji konvertuje svetlost u napon i kojim ćemo detektovati boju površine koja se nalazi ispred senzora. Ova vrsta senzora se često koristi u robotici kao i na drugim mestima gde je potrebno detektovati boju. U okviru projekta dat je kompletan source kod za mikrokontroler, kao i šema izgledom PCB-a.
Hardver uređaja se sastoji iz dva jednostavna PCB-a. Prvi predstavlja adapter za senzor, pošto je on smešten u SMD kućište. Izgled ovog PCB-a prikazan je na slici 1.
Slika 1. PCB adapter senzora
Šema glavne pločice sa ATmega8 mikrokontrolerom je veoma jednostavna. Šema je prikazana na slici 2.
Slika 2. Šema glavne pločice
Mikrokontroler ATmega8 se koristi za očitavanje izlaza senzora preko ADC ulaznih pinova. Četiri sjajne LE diode koriste se kako bi se obezbedila dovoljna količina svetlosti za očitavanje i na taj način se izbegla zavisnost uređaja od spoljašnjeg osvetljenja. Ove LED su opcione i mogu se isključiti pomoću džampera JP1. Tri digitalna izlazna pina se koriste kako bi se prikazala detektovana boja, uključivanjem crvene, zelene ili plave LED. Ovi pinovi mogu biti korišćeni i za trigerovanje frugih modula. Oscilator od 6 MHz se mora koristiti kako bi se dobio korektan baud rate, mada se može podesiti i drugi baud rate. U svrhu otklanjanja grešaka, UART port je povezan sa 3-pinskim konektorom P2. Izgled gotovog uređaja prikazan je na slici 3.
Slika 3. Izgled gotovog uređaja
Kod ovog uređaja je veoma jednostavan. RGB komponente su semplovane AD konvertorom mikrokontrolera. Digitalna filtracija je izvršena izračunavanjem prosečne vrednosti 128 merenja. Nakon toga izvršena je standardna HSV transformacija. Kada se izvrši merenje pored uključivanja LED uređaj šalje i sve relevantne podtke sa merenja na UART. Na video klipu koji sledi možete videti kako uređaj zapravo funkcioniše.
Šeme uređaja i kompletan CodeVisionAVR projekat možete pronaći ovde.Izvor: Electronics-base.com