Cuprins:

42 RGB LED Pixel Art Painting: 5 pași
42 RGB LED Pixel Art Painting: 5 pași
Anonim
42 RGB LED Pixel Art Painting
42 RGB LED Pixel Art Painting

Hei, Deci, pentru o misiune școlară numită „Dacă asta atunci”, a trebuit să fac un // ceva // interactiv folosind un starterkit Arduino Uno (și orice altceva era dispus să se cumpere). Văzând că fac un studiu de artă / tehnologie, am vrut să fac o combinație a acestora (artă și tehnologie). M-am gândit că voi face o pictură constând din cât mai multe LED-uri RGB pe care aș putea să le încadrez pe Arduino și să las jucătorul / artistul să parcurgă manual aceste LED-uri RGB și să aleagă o culoare. În acest fel își pot crea propriul „pixel art”!

Pasul 1: Câteva informații și teorie de fundal

Bine, să nu batem în jurul tufișului. Dacă doriți ca acest proiect să prindă viață: este greu. Mi-au trebuit multe ore să-mi dau seama / să învăț ce să fac și chiar mai mult să-l realizez, dar dacă vrei cu adevărat o cutie plină cu sârmă care să poată crea „tablouri” foarte mici, te voi învăța cum.

Deci, primul lucru pe primul loc. Vrem cât mai multe LED-uri / LED-uri RGB pe Arduino. Cu cât conectați mai multe LED-uri (RGB), cu atât mai detaliat puteți face „pictura” (10x10 pixeli vă oferă mai mult spațiu de mișcare decât 2x2 dreapta). Presupun că există mai multe modalități de a obține de fapt o mulțime de LED-uri (RGB) pe cei 13 pini digitali (lucruri precum un registru de schimbare), dar am folosit o metodă numită „Charlieplexing”. Voi face legătura cu un instructiv care m-a ajutat să înțeleg acest concept (în mod serios, îl explică foarte bine), dar îți voi oferi și versiunea rapidă aici. Charlieplexing se face după cum urmează:

Puneți un LED între pinul 1 și pinul 2, dacă setați pinul 1 la HIGH și 2 la LOW, cercul va funcționa fără probleme și LED-ul se va aprinde. Noțiuni de bază. Ei bine, acum atașați un alt LED, dar ați răsucit. Capătul lung este pe 2, iar cel scurt este pe pinul 1. Acum, dacă rotiți pinul 2 la HIGH și pinul 1 la LOW, al doilea LED se va aprinde și primul dvs. va rămâne oprit, deoarece fluxul va fi greșit. Acum puteți atașa 2 LED-uri pe 2 pini. Dacă obținem al treilea pin în mix, puteți face acest truc între 1 și 2, 1 și 3 și 2 și 3. Asta înseamnă 6 LED-uri. Acest lucru continuă, 5 pini ne vor oferi (2 + 4 + 6 + 8) 20 de LED-uri. Utilizarea tuturor celor 13 pini digitali ne oferă 156 de opțiuni. Este vorba de 156 de LED-uri pe care le puteți porni și opri individual.

(Bine, deci pentru cei care vă întrebați. Da, atunci când aveți multe, este imposibil să aveți unele aprinse în același timp, dar nu vă faceți griji, arduino poate comuta între LED-urile dvs. atât de repede încât ochiul uman nu poate vedea pâlpâitul)

(Explicație mai bună și mai detaliată, cu imagini)

Bine, deci, cu mult efort în ceea ce privește cablarea (voi atinge acest lucru mai târziu), putem face o grilă de LED-uri, dar să ne confruntăm. LED-urile sunt teribil de plictisitoare. Cum se poate face o poză cu doar 2 culori? Presupun că ai putea, dar e mai rece dacă ai mai multe culori de ales? dreapta. Deci, la LED-urile RGB ne întoarcem!

LED-urile RGB sunt în principiu 3 LED-uri în 1. Acestea împărtășesc un catod sau un anod comun (unde puterea intră sau iese), iar celelalte 3 „picioare” sunt LED-ul roșu verde și albastru. Ținând cont de acest lucru, da, putem să le împiedicăm și noi! Fiecare LED RGB contează pentru 3 LED-uri obișnuite. În acest fel, puteți totuși să le activați și să le dezactivați individual și să creați culori reci din care să alegeți! Singurul dezavantaj este că acest lucru face lucrurile mult mai dificile, deoarece trebuie să cartografiați / planificați și să conectați de 3 ori mai multe LED-uri decât a trebuit inițial.

Am ales 42 de LED-uri RGB pe 13 pini. Este vorba de 126 de LED-uri obișnuite … … destul de mult. Permiteți-mi să vă spun cum am făcut-o.

Pasul 2: Planificare

Planificare
Planificare

Da, acest pas este destul de ușor odată ce înțelegi teoria din spatele a ceea ce faci. Practic, vă scrieți toate LED-urile și planificați care pin trebuie să meargă la ce „picior” din care LED RGB, astfel încât să acoperiți toate opțiunile. Am atașat o imagine a planificării mele, simțiți-vă liber să o folosiți și pe mine (nu am folosit toate opțiunile disponibile, având în vedere că „aveam nevoie doar de 126 de conexiuni din 156. Am structurat-o astfel, deoarece ar face construcția un pic mai ușor de realizat).

Este important să obțineți acest lucru pe hârtie, veți avea nevoie de el mai târziu pentru a codifica. Dacă nu scrieți acest lucru și dezorientați o conexiune, codul nu va funcționa pentru acel LED.

Pasul 3: Codul

Bine, deci dacă aveți deja o idee despre cum să conectați 2 LED-uri RGB de acest fel pe 2 pini: Mergeți! Este plăcut să verifici codul, dar te asigur că funcționează! Am încercat să fac cât mai multă codificare "curată", aș putea (ați putea gestiona acest lucru cu comutatoare în comutatoare, dar asta este doar o problemă teribilă care vă face să scrieți tot codul dvs. x42, m-a făcut să-mi dau seama că probabil există o mai bună cale).

Scopul codului este următorul. Începi de la LED1. Butonul 1 vă permite să treceți la următorul LED, dar LED-ul anterior rămâne aprins. Butonul 2 vă permite să reveniți la LED-ul anterior, butonul 3 vă permite să schimbați culoarea. LED-ul selectat curent clipește, astfel încât să puteți vedea ce LED este „selectat”.

Pentru a realiza acest lucru, am lucrat cu tablouri. Am creat o clasă de LED-uri care folosește informațiile pe care le-ați notat în etapa de planificare pentru a vedea de ce pin are nevoie pentru a crea o anumită culoare. Le-am pus pe toate într-o matrice și am lăsat bucla arduino prin LEDarray pentru a determina care este activată și prin colorarray pentru a determina ce culoare este selectată (culoarea este determinată de comutatorul care permite alegerea a 7 culori). Clipirea este reglementată de o declarație if.

Codul este atașat, nu ezitați să descărcați și să utilizați. Secțiunea de comentarii este deschisă pentru întrebări dacă există ceva pe care nu îl înțelegeți, dar puteți copia practic lipiți!

Pasul 4: partea cea mai grea

Partea cea mai grea
Partea cea mai grea
Partea cea mai grea
Partea cea mai grea

Deci, acum aveți o idee, un cod de lucru … doar nu produsul real. Aceasta este de departe cea mai oribilă parte a acestui proiect și v-aș sfătui să nu luați acest lucru cu ușurință. Vă amintiți toate acele picioare diferite care se termină cu același ac? Ei bine, da … trebuie să-ți faci rețeaua de LED-uri, apoi să conectezi fiecare picior la orice alt picior care trebuie să meargă la același pin, apoi să le conectezi la pinul respectiv. Aceasta este de departe cea mai dificilă parte, iar a mea nu a ieșit nici 100% perfectă, dacă ești bun la lipit s-ar putea să ai o șansă.

Am pus într-un rând de LED-uri RGB la un moment dat și am conectat câte un fir de cupru la fiecare picior (recomand sârmă de cupru cu carcasă / înfășurare. Al meu era prea gros și mi-a cauzat MULTE durere). Aveți grijă să nu se atingă două picioare sau fire! apoi „pur și simplu” conectați toate firele care trebuie să meargă la același pin și apoi conectați-le la un rezistor și conectați-le la respectivul pin. Sunt sigur că există o modalitate „mai sigură” de a face acest lucru, dar sunt sigur că cineva s-ar îneca în sârmă în timp ce încercați și sincer … panoul dvs. este atât de mare!

(Am adăugat un desen care ar putea simplifica acest pas. Vă spune ce picior trebuie să meargă la ce pin, pentru a urma codul meu exact.)

Mi-au luat 4 zile întregi de muncă, dar acum fiecare LED (minus 3-4 pe care l-am înșurubat) poate fi aprins individual!

atunci nu trebuie decât să conectezi niște butoane și presto! Pictura ta Pixel Art!

Acest tip a făcut, de asemenea, un exemplu de cablare, este foarte util

Pasul 5: Gloat. Absolut Gloat

Dacă ești un starter (ca mine) și ai reușit să faci ceva asemănător cu acest cuib de șobolani de șobolani și se aprinde; gloat. Ai făcut foarte bine!

Dacă aveți întrebări / comentarii, lăsați-le mai jos, voi încerca să vă ajut dacă pot!

Recomandat: