Tartalomjegyzék:

42 RGB LED Pixel Art festés: 5 lépés
42 RGB LED Pixel Art festés: 5 lépés

Videó: 42 RGB LED Pixel Art festés: 5 lépés

Videó: 42 RGB LED Pixel Art festés: 5 lépés
Videó: Drawing Among Us Neon Glow Effect Using Posca Markers! ( #Shorts ) 2024, Július
Anonim
42 RGB LED Pixel Art festmény
42 RGB LED Pixel Art festmény

Hé, Tehát az "If this then that" elnevezésű iskolai feladathoz interaktív // valamit kellett készítenem egy Arduino Uno starterkit segítségével (és bármi mással, amit valaki hajlandó volt megvenni). Látva, hogy művészeti/technológiai tanulmányt végzek, mindkettőt (művészet és technika) kombinálni akartam. Arra gondoltam, hogy készítek egy festményt, amely annyi RGB LED -ből áll, amennyi elfér az Arduino -n, és hagyom, hogy a lejátszó/előadó manuálisan ciklusozzon az RGB LED -ek között, és válasszon egy színt. Így elkészíthetik saját "pixel art" -jukat!

1. lépés: Néhány háttérinformáció és elmélet

Oké, ne verjük a bokrot. Ha életre akarja kelteni ezt a projektet: Nehéz. Sok órámba telt, amíg rájöttem/megtanulom, mit kell tennem, és még többre, hogy ténylegesen megvalósítsam, de ha tényleg egy olyan drótdobozt szeretne, amely nagyon kicsi "festményeket" hoz létre, megtanítom, hogyan.

Tehát először az első dolgok. Azt szeretnénk, hogy minél több LED/RGB LED legyen az Arduino -n. Minél több (RGB) LED -et csatlakoztat, annál részletesebben készítheti el a "festményt" (10x10 képpont nagyobb mozgástérrel rendelkezik, mint 2x2 jobb). Feltételezem, hogy több módja is van annak, hogy valóban sok (RGB) LED -et kapjon a 13 digitális érintkezőjére (például egy váltóregiszter), de a "Charlieplexing" nevű módszert használtam. Linkelni fogok egy oktatható anyagot, amely segített megérteni ezt a fogalmat (komolyan, nagyon jól elmagyarázzák), de itt megadom a gyors verziót is. A Charlieplexing a következőképpen működik:

Egy LED -et helyez az 1 -es és a 2 -es tű közé, ha az 1 -es tűt HIGH, a 2 -es LOW értéket állítja be, akkor a kör simán fog futni, és a LED bekapcsol. Alapok. Nos, most csatlakoztat egy másik LED -et, de megfordult. A hosszú vége a 2 -esen, a rövid vége pedig az 1 -es tűn van. Ha most a 2 -es csapot HIGH -ra és az 1 -es LOW -ra állítja, akkor a második LED bekapcsol, és az első nem fog világítani, mert az áramlás rossz lesz. Most 2 LED -et rögzíthet 2 tűre. Ha megkapjuk a keverék 3. csapját, akkor ezt a trükköt megteheti 1 és 2, 1 és 3, valamint 2 és 3 között. Ez 6 LED. Ez folytatódik, 5 érintkezővel (2 + 4 + 6 + 8) 20 LED -et kapunk. Mind a 13 digitális csap használata 156 lehetőséget kínál. Ez 156 LED, amelyeket külön -külön be- és kikapcsolhat.

(Rendben, így azoknak, akik kíváncsiak. Igen, ha sok lehetetlenség van, hogy valójában néhányat egyszerre bekapcsoljon, de nem kell aggódnia, az arduino olyan gyorsan tud váltani a LED -ek között, hogy az emberi szem nem látja a villódzást)

(Jobb és részletesebb magyarázat, képekkel)

Oké, sok erőfeszítéssel, amikor kábelezésről van szó (erre később kitérek), elég sok LED -rácsot készíthetünk, de valljuk be. A LED -ek rettenetesen unalmasak. Hogyan lehet egy képet csak 2 színből készíteni? Gondolom, megtehetné, de sokkal hűvösebb, ha több szín közül választhat jobbról? jobb. Tehát forduljunk az RGB LED -ekhez!

Az RGB LED -ek alapvetően 3 LED az 1 -ben. Közös katódjuk vagy anódjuk van (ahol az áram be- vagy kiesik), a másik 3 "láb" pedig a piros zöld és kék LED. Ezt szem előtt tartva, igen, mi is charlieplexelhetjük őket! Minden RGB LED 3 normál LED -et tartalmaz. Így továbbra is be- és kikapcsolhatja mindegyiket, és hűvös színek közül választhat! Az egyetlen hátránya, hogy ez sokkal megnehezíti a dolgokat, mivel háromszor annyi LED -et kell feltérképeznie/terveznie és bekötnie, mint eredetileg kellett.

42 RGB LED -et kerestem 13 tűn. Ez 126 normál LED … … elég sok. Hadd mondjam el, hogyan csináltam.

2. lépés: Tervezés

Tervezés
Tervezés

Igen, ez a lépés nagyon egyszerű, ha megérted az elméletet, amit csinálsz. Alapvetően kiírja az összes LED -jét, és megtervezi, hogy melyik csapnak melyik RGB LED -nek kell mennie, így minden lehetőséget lefed. Csatoltam egy képet a tervezésemről, bátran használd azt is (nem használtam az összes rendelkezésre álló lehetőséget, mivel "csak" 126 kapcsolatra volt szükségem a 156 -ból. Ezt így strukturáltam, mert ez egy kicsit bonyolultabbá teszi az építkezést).

Fontos, hogy ezt papírra vigye, később szüksége lesz rá a kódoláshoz. Ha nem írja ki ezt, és elrontja az 1 kapcsolatot, akkor a kód nem fog működni az adott LED esetén.

3. lépés: A kód

Rendben, tehát ha már van ötlete, hogyan kell 2 ilyen RGB LED -et 2 tűre csatlakoztatni: Folytassa! Jó ellenőrizni a kódot, de biztosíthatom, hogy működik! Próbáltam a lehető legtöbb "tiszta" kódolást elvégezni (ezt a kapcsolók kapcsolóival is kezelheti, de ez csak egy szörnyű gond, amiért le kell írnia az összes x42 kódot, és rájöttem, hogy valószínűleg van jobb út).

A kód célja a következő. Kezdje a LED1 -el. Az 1 gomb lehetővé teszi, hogy a következő LED -re lépjen, de az előző LED világít. A Button2 segítségével visszaléphet az előző LED -hez, a 3 gomb segítségével megváltoztathatja a színét. Az aktuálisan kiválasztott LED villog, így láthatja, melyik LED van "kiválasztva".

Ennek érdekében tömbökkel dolgoztam. Létrehoztam egy LED osztályt, amely a tervezési szakaszban leírt információk alapján megállapítja, hogy melyik csapnak kell egy bizonyos szín létrehozásához. Mindegyiket egy tömbbe helyezem, és hagyom, hogy az arduino cikluson átmenjen a LEDarray -n, hogy meghatározza, melyik van bekapcsolva, és a színsávon keresztül, hogy meghatározza, melyik szín van kiválasztva (a színt a kapcsoló határozza meg, amely lehetővé teszi 7 szín kiválasztását). A villogást az if-utasítás szabályozza.

A kód csatolva van, nyugodtan töltse le és használja. A megjegyzés rész nyitott kérdésekre, ha valamit nem értesz, de alapvetően másolhatsz!

4. lépés: A legnehezebb rész

A legnehezebb rész
A legnehezebb rész
A legnehezebb rész
A legnehezebb rész

Tehát most van egy ötlete, egy működő kód… csak nem a tényleges termék. Ez messze a legszörnyűbb része ennek a projektnek, és azt tanácsolom, hogy ne vegye ezt félvállról. Emlékszel a különböző lábakra, amelyek ugyanabban a csapban végződnek? hát igen … el kell készítenie a LED -ek rácsát, majd minden lábát össze kell kötni minden másik lábbal, amelyeknek ugyanabba a csapba kell menniük, majd össze kell kötni őket az említett tűvel. Ez messze a legnehezebb rész, és az enyém sem lett 100% -ban tökéletes, ha jól forrasztod, akkor lehet esélyed.

Egy időben sorba tettem RGB LED -eket, és rézvezetéket kötöttem mindegyik lábhoz (rézdrótot ajánlok burkolattal/csomagolással. Az enyém túl vastag volt, és SOK bánatot okozott nekem). Ügyeljen arra, hogy két láb vagy vezeték ne érjen egymáshoz! majd "egyszerűen" csatlakoztassa az összes vezetéket, amelyeknek ugyanabba a csapba kell menniük, majd csatlakoztassa őket egy ellenálláshoz, és csatlakoztassa azt az említett csaphoz. Biztos vagyok benne, hogy van erre egy "biztonságosabb" módszer, de biztos vagyok benne, hogy az ember drótba fulladna próbálkozás közben és őszintén….

(hozzáadtam egy rajzot, amely leegyszerűsítheti ezt a lépést. Megmondja, hogy melyik lábnak melyik csaphoz kell mennie, hogy pontosan kövesse a kódomat.)

4 egész napos munkámba telt, de most minden LED (mínusz 3-4, amit elcsavartam) külön-külön bekapcsolható!

akkor csak néhány gombot és presto -t kell bekötni! Saját Pixel Art festmény!

Ez a fickó is példát mutatott a bekötésre, ez valóban hasznos

5. lépés: Gloat. Abszolút Gloat

Ha kezdő vagy (mint én), és sikerült valami hasonlót csinálnod ehhez a patkányok drótfészkéhez, és bekapcsol; mocsok. Igazán jól tetted!

Ha bármilyen kérdése/megjegyzése van, hagyja őket lent, megpróbálok segíteni, ha tudok!

Ajánlott: