Taula de continguts:

42 RGB LED Pixel Art Painting: 5 passos
42 RGB LED Pixel Art Painting: 5 passos

Vídeo: 42 RGB LED Pixel Art Painting: 5 passos

Vídeo: 42 RGB LED Pixel Art Painting: 5 passos
Vídeo: AmazingChina: Modular & Flexible LED TV Wall 2024, Juliol
Anonim
42 RGB LED Pixel Art Painting
42 RGB LED Pixel Art Painting

Ei, Així doncs, per a una tasca escolar anomenada "If this then that", he de fer un // interactiu // amb un starterkit Arduino Uno (i qualsevol altra cosa que estigués disposat a comprar-se). Vist que feia un estudi d'art / tecnologia, volia fer una combinació d'ambdós (art i tecnologia). Vaig pensar que faria una pintura que consistiria en tants LED RGB com pogués cabre al meu Arduino i deixaria que el reproductor / artista circulés manualment per aquests LED RGB i escollís un color. D'aquesta manera, poden crear el seu propi "pixel art".

Pas 1: Alguna informació i teoria de fons

D’acord, doncs, no batem al voltant de l’arbust. Si voleu que aquest projecte prengui vida: és difícil. Vaig trigar moltes hores a esbrinar / aprendre què fer, i encara més a aconseguir-ho, però si realment voleu una caixa plena de filferro que pugui crear "pintures" molt petites, us ensenyaré com fer-ho.

Per tant, primer, primer. Volem tants LEDs / LED RGB al nostre Arduino com sigui possible. Com més LEDs (RGB) connecteu, més detall podreu fer la vostra "pintura" (10x10 píxels us donen més espai de balanceig que 2x2 a la dreta). Suposo que hi ha més maneres d’obtenir molts LEDs (RGB) als vostres 13 pins digitals (com ara un registre de torns), però he utilitzat un mètode anomenat "Charlieplexing". Enllaçaré a una informació instructiva que em va ajudar a entendre aquest concepte (ho expliquen seriosament molt bé), però també us donaré la versió ràpida aquí. Charlieplexing és el següent:

Poseu un LED entre el pin 1 i el pin 2, si configureu el pin 1 a HIGH i 2 a LOW, el cercle funcionarà sense problemes i el LED s’encendrà. Conceptes bàsics. Bé, ara enganxeu un altre LED, però gireu. L’extrem llarg és al 2 i l’extrem curt al pin1. Ara, si gireu el pin 2 a HIGH i el pin 1 a LOW, el vostre segon LED s’encendrà i el primer quedarà apagat perquè el flux no serà correcte. Ara podeu connectar 2 LEDs a 2 pins. Si aconseguim el tercer pin de la barreja, podeu fer aquest truc entre 1 i 2, 1 i 3 i 2 i 3. Són 6 LED. Això continua, 5 pins ens concediran (2 + 4 + 6 + 8) 20 LED. L’ús dels 13 pins digitals ens proporciona 156 opcions. Són 156 LEDs que podeu encendre i apagar individualment.

(D'acord, per a aquells que us pregunteu. Sí, quan teniu molts és impossible tenir-ne alguns encesos alhora, però no us preocupeu, l'arduino pot canviar entre els LEDs tan ràpidament que l'ull humà no pot veure el parpelleig)

(Explicació millor i més detallada, amb imatges)

D’acord, doncs, amb molt d’esforç pel que fa al cablejat (ho tocaré més endavant), podem fer bastants quadrícules de LED, però deixem-ho clar. Els LED són terriblement avorrits. Com es pot fer una imatge amb només 2 colors? Suposo que sí, però és molt més fresc si teniu més colors per triar, oi? dret. Així doncs, recorrem als LED RGB.

Els LED RGB són bàsicament 3 LEDs en 1. Comparteixen un càtode o ànode comú (on entra o surt l’energia) i les altres 3 "potes" són el vostre LED vermell verd i blau. Tenint això en compte, sí, també els podem flexibilitzar. Tots els LED RGB compten amb 3 LED normals. D’aquesta manera, podeu activar-los i desactivar-los tots individualment i crear colors frescos per triar. L'únic inconvenient és que això dificulta molt les coses, ja que heu de mapar / planificar i connectar 3 vegades més LEDs del que originalment havíeu de fer.

Vaig buscar 42 LED RGB en 13 pins. Es tracta de 126 LED normals …..quantitat. Deixeu-me explicar-vos com ho he fet.

Pas 2: planificació

Planificació
Planificació

Sí, aquest pas és bastant fàcil una vegada que entengueu la teoria darrere del que esteu fent. Bàsicament escriviu tots els vostres LEDs i planifiqueu quin pin necessita anar a quin "tram" de quin LED RGB per cobrir totes les vostres opcions. He adjuntat una imatge de la meva planificació, no dubteu a utilitzar-la també (no he fet servir totes les opcions disponibles, ja que "només" necessitava 126 connexions de les 156. Ho vaig estructurar d'aquesta manera perquè la construcció seria més factible)).

És important aconseguir-ho en paper, més endavant el necessitareu per codificar. Si no escriviu això i desordeneu 1 connexió, el codi no funcionarà per a aquest LED.

Pas 3: el codi

D’acord, doncs, si ja teniu una idea de com connectar 2 LED RGB com aquest a 2 pins: Endavant! És bo comprovar el codi, però us asseguro que funciona. Vaig intentar fer la codificació "neta" com puc (també ho podríeu fer amb commutadors en commutadors, però això és una terrible molèstia que heu anotat tot el vostre codi x42, em va fer adonar-me que probablement hi havia un millor manera).

L’objectiu del codi és el següent. Comenceu per LED1. El botó 1 us permet passar al següent LED, però el LED anterior es manté encès. El botó 2 us permet tornar al LED anterior, el botó 3 us permet canviar el color. El LED seleccionat actual parpelleja perquè pugueu veure quin LED està "seleccionat".

Per aconseguir-ho he treballat amb matrius. Vaig crear una classe de LED que utilitza la informació que heu escrit durant la fase de planificació per veure quin pin necessita per crear un color determinat. Els he posat tots en una matriu i deixo el bucle arduino a través del LEDarray per determinar quin està activat i mitjançant el colorarray per determinar quin color està seleccionat (el color està determinat pel commutador que permet seleccionar 7 colors). El parpelleig està regulat per una sentència if.

El codi està adjunt, descarregueu-lo i utilitzeu-lo. La secció de comentaris està oberta per a preguntes si hi ha alguna cosa que no entengueu, però bàsicament podeu copiar i enganxar.

Pas 4: la part més difícil

La part més dura
La part més dura
La part més dura
La part més dura

Així que ara teniu una idea, un codi de treball … només no el producte real. Aquesta és, amb diferència, la part més horrible d’aquest projecte i us aconsellaria que no ho preneu a la lleugera. Recordeu totes les cames diferents que acaben totes en el mateix passador? doncs sí … heu de fer la xarxa de LEDs, després connecteu totes les potes a les altres potes que necessitin anar al mateix pin i, a continuació, connecteu-les al dit pin. Aquesta és, amb diferència, la part més difícil i la meva tampoc no ha sortit 100% perfecta.

Vaig posar una fila de LED RGB a la vegada i vaig connectar un fil de coure a cada pota (recomano fil de coure amb carcassa / embolcall. El meu era massa espès i em va causar molta pena). Aneu amb compte que no es toquin dues potes ni cables. després "simplement" connecteu tots els cables que necessiten anar al mateix pin i, a continuació, connecteu-los a una resistència i connecteu-lo a aquest pin. Estic segur que hi ha una manera "més segura" de fer-ho, però estic segur que s'ofegaria en filferro mentre s'intenta i, sincerament, la vostra taula de treball és tan gran.

(He afegit un dibuix que podria simplificar aquest pas. Us indica quina pota ha d'anar a quin passador, per seguir exactament el meu codi.)

Vaig trigar 4 dies sencers de feina, però ara cada LED (menys 3-4 que he cargolat) es pot encendre individualment.

llavors només cal connectar alguns botons i presto! El vostre propi Pixel Art Painting!

Aquest noi també va fer un exemple de cablejat, és realment útil

Pas 5: Gloat. Absolutament Gloat

Si sou un principiant (com jo) i heu aconseguit fer alguna cosa semblant a aquest niu de filferro de rates que s’encén; gloat. Ho has fet molt bé!

Si teniu alguna pregunta o comentari, deixeu-los a continuació, intentaré ajudar-vos si puc.

Recomanat: