Cuprins:

Arduino RGB Color Picker - Alegeți culorile din obiectele din viața reală: 7 pași (cu imagini)
Arduino RGB Color Picker - Alegeți culorile din obiectele din viața reală: 7 pași (cu imagini)

Video: Arduino RGB Color Picker - Alegeți culorile din obiectele din viața reală: 7 pași (cu imagini)

Video: Arduino RGB Color Picker - Alegeți culorile din obiectele din viața reală: 7 pași (cu imagini)
Video: 1. q light control plus primii pași pentru QLC +. Lămpi și funcții 2024, Iulie
Anonim
Image
Image
Conectarea circuitului de test RGB Color Picker
Conectarea circuitului de test RGB Color Picker

Proiecte Tinkercad »

Alegeți cu ușurință culorile din obiecte fizice cu acest selector de culori RGB bazat pe Arduino, permițându-vă să recreați culorile pe care le vedeți în obiectele din viața reală de pe computer sau telefonul mobil. Pur și simplu apăsați un buton pentru a scana culoarea obiectului utilizând un modul senzor de culoare TCS34725 ieftin și vi se oferă valorile culorilor RGB, precum și o indicație a culorii măsurate pe un LED RGB.

Dacă vă place acest Instructable, vă rugăm să îl votați în Concursul Make It Glow.

Am proiectat o carcasă simplă imprimată 3D pentru electronică pentru a face dispozitivul portabil, pur și simplu conectați-l la un port USB, încărcător sau banc de alimentare pentru a-l alimenta. De asemenea, puteți modifica designul pentru a găzdui o baterie pentru a o face și mai portabilă.

De obicei, încerc să folosesc un Arduino Uno deoarece aceasta este una dintre cele mai utilizate plăci Arduino, dar pentru a face acest dispozitiv portabil, acesta a fost proiectat în jurul unei plăci Arduino Pro Micro. Cu toate acestea, poate fi ușor adaptat pentru a rula pe majoritatea celorlalte plăci compatibile Arduino cu suficient IO, cum ar fi Uno, Leonardo sau Mega.

Acest ghid presupune că ați lucrat cu un microcontroler Arduino înainte de a cunoaște elementele de bază ale programării Arduino și conectării unui panou LCD la acesta. În caz contrar, urmați ghidurile conectate pentru mai multe informații și explicații detaliate.

Provizii

  • Arduino Pro Micro (sau altele) - Cumpărați aici
  • Senzor RGB TCS34725 - Cumpărați aici
  • Panou LCD 16 x 2 - Cumpărați aici
  • Buton - Cumpărați aici
  • 2 rezistențe 10K - Cumpărați aici
  • 3 x Rezistențe 220Ω - Cumpărați aici
  • Rezistor 470Ω - Cumpărați aici
  • LED RGB - Cumpărați aici
  • Benzi antet feminin cu 7 pini (tăiate la lungime) - Cumpărați aici
  • Potențiometru 10K - Cumpărați aici
  • Breadboard & Jumpers pentru testare - Cumpărați aici
  • Imprimantă 3D și filament alb / negru (opțional pentru carcasă) - Acesta este folosit

În plus față de acestea, veți avea nevoie de instrumente de bază pentru lucrul cu electronice, inclusiv un fier de lipit, dacă vă construiți permanent circuitul pentru utilizare într-o incintă.

Pasul 1: Conectarea circuitului de test RGB Color Picker

Conectarea circuitului de test RGB Color Picker
Conectarea circuitului de test RGB Color Picker
Conectarea circuitului de test RGB Color Picker
Conectarea circuitului de test RGB Color Picker

Este întotdeauna o idee bună să vă asamblați mai întâi componentele pe un panou pentru a le testa și a vă asigura că circuitul și software-ul funcționează corect înainte de a face conexiuni lipite.

Componentele sunt conectate la panoul de control, așa cum se arată în schema de circuit.

Nu există nimic deosebit sau ciudat cu oricare dintre aceste conexiuni între componente și Arduino, acestea sunt configurații tipice de circuit de bază pentru conectarea unui LCD, buton și LED-uri la Arduino.

Rezistențele de 10K sunt utilizate pentru conectarea butonului și rezistențele de 220Ω pentru LED-ul senzorului de culoare și picioarele roșii și albastre ale LED-ului RGB. Rezistorul de 470Ω este utilizat pentru piciorul verde al LED-ului pentru a reduce puțin luminozitatea acestuia pentru a crea culori mai realiste.

Senzorul de culoare RGB este conectat la Arduino folosind interfața I2C simplă. Asigurați-vă că utilizați pinii corecți pentru această interfață dacă utilizați o altă placă. Este controlat utilizând biblioteca Adafruit discutată în secțiunea cod.

Dacă utilizați o placă Arduino diferită, asigurați-vă că aveți aceeași funcționalitate pe fiecare pin ca și cea utilizată pe Pro Micro. De exemplu, aveți nevoie de pini activați PWM pentru controlul LED-ului RGB pentru a simula culoarea RGB aleasă.

Pasul 2: Programarea selectorului de culori Arduino RGB

Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB
Programarea selectorului de culori Arduino RGB

Acum, după ce ați asamblat componentele pe panou și ați făcut interconectările necesare, puteți încărca codul pe Arduino folosind computerul și verificați dacă componentele funcționează corect.

Verificați din nou toate conexiunile înainte de a conecta cablul USB la Arduino pentru a vă asigura că acestea sunt corecte. Cablul USB alimentează placa și componentele conectate, care le pot deteriora dacă nu sunt conectate corect.

Această placă specială, Arduino Pro Micro, acționează ca un Leonardo atunci când este conectat la computerul dvs., deci asigurați-vă că selectați tipul corect de placă în ID-ul Arduino, altfel veți primi erori atunci când încercați să încărcați codul.

Iată un link către codul de selectare a culorilor RGB: Descărcați codul de selectare a culorilor RGB

Codul conține comentarii pentru a explica ce face fiecare secțiune. Identificarea culorii și porțiunea LED se bazează pe exemplul de cod Adafruit colorview. Dacă doriți să încercați să scrieți propriul cod, acesta este un exemplu util pentru a lucra și pentru a începe.

Va trebui să aveți bibliotecile Adafruit instalate. Acest lucru se face ușor făcând clic pe Instrumente -> Gestionați bibliotecile din IDE-ul dvs. și apoi tastați „Adafruit TCS” în bara de căutare și instalând biblioteca găsită.

Câteva lucruri care trebuie avute în vedere în cod:

Pinii alocați LCD sunt într-o ordine ciudată (15, 14, 16, 4, 5, 8, 7). De obicei încerc să păstrez pinii secvențial, dar în acest exemplu sunt puțin amestecați din cauza a două lucruri, unul pentru că trebuia să lucrez în jurul pinilor PWM pentru LED și al doilea pentru că pinii de pe Pro Micro nu sunt toți în ordine secvențială.

LED-ul senzorului de culoare și butonul sunt conectate la intrările analogice ale Pro Micro, fiind utilizate ca IO digitale, deoarece nu erau disponibili suficient IO pin-uri digitale. Acestea sunt încă definite în cod ca pini IO digitale standard.

Există o scurtă rutină pentru a estompa LED-ul între roșu, verde și albastru la pornire. Acesta este doar un efect vizual care durează aproximativ 1,5 secunde și poate fi eliminat dacă doriți ca selectorul dvs. de culori să pornească mai repede.

Programul nu va progresa după configurare dacă nu stabilește o conexiune cu senzorul de culoare, va apărea ca „Eroare senzor” pe ecranul LCD dacă nu poate stabili o conexiune. Dacă LED-ul se aprinde, indicând puterea senzorului, verificați conexiunile SDA și SCL și că utilizați pinii Arduino corecți.

Tabelul gamma convertește pur și simplu valorile RGB măsurate de la senzor în valori care vor avea ca rezultat o reprezentare LED mai realistă a culorii reale, aceasta este doar pentru a îmbunătăți efectul de vizualizare LED și nu are efect asupra valorilor RGB măsurate afișate.

Codul așteaptă apoi introducerea butonului pentru a face o citire de la senzor și afișa valorile pe ecranul LCD și prin LED. Cele trei întârzieri în buclă dacă instrucțiunea sunt pur și simplu pentru a evita efectuarea citirilor repetate înainte ca butonul să fie eliberat din nou, deoarece timpul efectiv de citire și ciclu ar fi de aproximativ 100 ms, puteți juca și cu aceste valori dacă doriți să faceți selectorul mai repede sau mai lent.

Pasul 3: Instalarea componentelor în incintă

Instalarea componentelor în carcasă
Instalarea componentelor în carcasă
Instalarea componentelor în carcasă
Instalarea componentelor în carcasă
Instalarea componentelor în carcasă
Instalarea componentelor în carcasă

Pentru a face un dispozitiv util și portabil, am decis să lipesc componentele împreună și să le montez într-o carcasă simplă tipărită 3D.

Un circuit de această complexitate ar trebui să fie proiectat probabil pe un PCB, dar majoritatea oamenilor nu au acces la serviciile de fabricație a PCB-ului, așa că am rămas cu lipirea componentelor împreună cu secțiuni de cablu cu bandă.

Pasul 4: Imprimați 3D carcasa

Imprimați 3D carcasa
Imprimați 3D carcasa
Imprimați 3D carcasa
Imprimați 3D carcasa
Imprimați 3D carcasa
Imprimați 3D carcasa
Imprimați 3D carcasa
Imprimați 3D carcasa

Am proiectat o carcasă dreptunghiulară de bază pentru selectorul de culori, fișierele de imprimare 3D pot fi descărcate de aici. De asemenea, ați putea fi creativ și puteți schimba designul în funcție de componentele dvs. și modul în care veți folosi selectorul de culori.

Senzorul de culoare se află pe spate, astfel încât să puteți ține dispozitivul peste un obiect și să alegeți culoarea cu citirea afișată în față.

Am imprimat carcasa folosind PLA alb și 20% umplutură, aș evita să folosesc un filament colorat pentru panoul din spate, deoarece nu doriți să introduceți lumină colorată reflectată pe suprafața aleasă.

Dimensiunile carcasei sunt de aproximativ 110 mm (4,3”) x 46 mm (1,8”) x 20 mm (0,78”) cu ambele jumătăți asamblate. Fiecare jumătate are o înălțime de 10 mm.

Pasul 5: lipiți circuitul

Lipiți circuitul
Lipiți circuitul
Lipiți circuitul
Lipiți circuitul
Lipiți circuitul
Lipiți circuitul

Odată ce ați imprimat carcasa 3D, veți avea o idee despre locul în care sunt montate toate componentele și cât timp veți face conexiunile de cablu panglică lipite.

Începeți prin lipirea fiecărei componente pe Arduino în timp ce o scoateți de pe panou și încercați să scoateți componentele pentru a forma un circuit complet la un moment dat.

De exemplu, începeți cu circuitul LED și lipiți rezistențele la LED și apoi conectați-le la Arduino înainte de a scoate componentele butonului. În acest fel, veți putea urmări componentele și vă asigurați că le conectați individual la intrările și ieșirile Arduino corecte.

Aveți grijă cu panoul LCD și senzorul de culoare pentru a vă asigura că faceți conexiunile la porturile Arduino IO corecte.

Conexiunile senzorului de culoare pot fi lipite pe banda antet feminin cu 7 pini (tăiați o bandă antet cu 8 pini până la 7 pini) pentru a permite conectarea acestuia prin secțiunea din spate a carcasei. Acest lucru permite separarea corectă a celor două jumătăți dacă trebuie să le deschideți. De asemenea, puteți lipi direct la senzorul de culoare cu o secțiune de cablu panglică, asigurați-vă că cablul panglică trece prin fanta din carcasă înainte de a lipi conexiunile.

Există o serie de conexiuni care trebuie făcute la GND și 5V și vă ușurează conectarea la punctele centrale mai mari decât să încercați să le lipiți pe toate pe cei doi pini Arduino. Le-am conectat pe toate pe cele două picioare exterioare ale potențiometrului LCD, deoarece acesta este aproximativ în centrul carcasei și are cea mai mare suprafață pentru a face conexiunile.

După ce ați realizat toate conexiunile și vă veți bucura de lungimile cablurilor panglică. Încercați să porniți din nou circuitul pentru a verifica dacă totul funcționează corect înainte de a monta componentele în carcasă. Asigurați-vă că niciuna dintre componente sau terminale expuse nu se ating, ceea ce poate duce la un scurtcircuit. Este posibil să fie nevoie să adăugați un pic de bandă izolatoare sau hârtie între componente pentru a evita scurtcircuitele.

Dacă circuitul dvs. funcționează corect, vă puteți monta componentele în carcasa imprimată 3D.

Pasul 6: Montați componentele în incintă

Montați componentele în incintă
Montați componentele în incintă
Montați componentele în incintă
Montați componentele în incintă
Montați componentele în incintă
Montați componentele în incintă

Ultimul pas este să vă montați componentele în carcasă. Am folosit un pistol de lipit la cald pentru a monta componentele, puteți folosi și epoxidic sau o cantitate mică de superglue.

Senzorul de culoare poate fi lipit în cavitatea din spatele carcasei, cu banda antetului pinului care se lipeste de interiorul carcasei. Banda de antet feminin va fi apoi utilizată pentru ca senzorul să se conecteze la circuit.

Montați butonul, LCD-ul și LED-ul prin orificiile din panoul frontal și lipiți-le în loc în interiorul carcasei.

Arduino ar trebui să se potrivească perfect în slotul de la bază și nu ar trebui să aibă nevoie de niciun adeziv pentru a-l ține în poziție, dar dacă este așa, asigurați-vă că nu puneți adeziv pe componentele din spatele plăcii. Mai degrabă puneți adeziv de-a lungul marginilor plăcii.

Portul micro USB ar trebui să fie ușor accesibil prin partea laterală a carcasei.

Lipiți cele două jumătăți împreună, folosind cârligele de pe cele două colțuri ca ghid. Acestea ar trebui să se strângă strâns și să ajute la menținerea celor două jumătăți împreună. Asigurați-vă că niciunul dintre terminalele expuse sau cablurile de pe rezistoare, LED sau potențiometru nu atinge altceva din circuitul dvs., așa cum s-a menționat anterior, puteți folosi o bandă izolatoare sau hârtie pentru a separa componentele - Am folosit o bandă galbenă pe spate a ecranului LCD.

Pasul 7: Utilizarea selectorului de culori RGB

Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB
Utilizarea selectorului de culori RGB

Pentru a utiliza selectorul de culori, conectați un cablu micro USB la portul din partea laterală a selectorului de culori pentru al porni.

Secvența de pornire ar trebui să ruleze și apoi veți putea alege o culoare, indicată de Color Picker Ready.

Plasați senzorul peste culoarea pe care doriți să o alegeți și apoi apăsați butonul pentru a alege culoarea. Lumina LED de pe senzor ar trebui să se aprindă momentan, după care veți obține o citire RGB pe LCD, iar LED-ul se va schimba pentru a reflecta culoarea care a fost aleasă.

LED-ul RGB este menit să vă ofere o indicație a culorii identificate. Aceasta este doar o modalitate rapidă de a verifica dacă senzorul a preluat culoarea corectă și nu este întotdeauna o reprezentare exactă a culorii din cauza limitărilor cu LED-ul. De exemplu, nu pot afișa negri sau gri, deoarece materialul LED real este alb și poate produce lumină doar pentru a reproduce culorile. Din același motiv, și culorile mai închise nu apar bine pe LED.

Dacă ți-a plăcut acest Instructable, votează-l în cadrul Concursului Make It Glow.

Aruncați o privire la blogul meu pentru mai multe tutoriale, proiecte și idei Arduino.

Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire
Faceți-l Concurs de strălucire

Locul doi în concursul Make it Glow

Recomandat: