Tartalomjegyzék:
- 1. lépés: Programozás
- 2. lépés: A kód
- 3. lépés: Az elektronika összeszerelése a vezérlőhöz
- 4. lépés:
- 5. lépés:
- 6. lépés:
- 7. lépés:
- 8. lépés:
- 9. lépés:
- 10. lépés:
- 11. lépés: A fénytoll összeszerelése
- 12. lépés:
- 13. lépés:
- 14. lépés:
- 15. lépés:
- 16. lépés: Példák
- 17. lépés: A fájlok
Videó: RGB LED toll fényfestéshez: 17 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Ez egy komplett építési utasítás egy fényfestő eszközhöz, amely RGB LED vezérlőt használ. Sokat használom ezt a vezérlőt a fejlett eszközeimben, és úgy gondoltam, hogy egy dokumentumfilm arról, hogyan épül fel és programozható, segíthet néhány embernek.
Ez az eszköz egy moduláris RGB fénytoll könnyű íráshoz, könnyű rajzoláshoz és graffiti megvilágításához. Könnyen használható, mert csak a toll van a kezében, és gyorsan megváltoztathatja a színét.
Az eszköz a következőkből áll:
- egy 3D nyomtatott tok
- egy Arduino Micro
- egy WS2816B LED
- két potenciométer (10K vagy 100K)
- két kapcsoló
- nyomógomb
- és néhány kábel.
Egy Arduino Micro tökéletes erre, mert rendkívül kicsi és nagyszerű az RGB LED -ek vezérlésére. Használhat még kisebb mikrokontrollereket is, mint például LilyPad vagy akár ATtiny85, de gyakran használom a Micro -t, mert könnyen használható, mivel készen áll az USB -csatlakozóra. Mind az Arduino, mind a LED 5 V -ról táplálkozik, ezért gondoskodnia kell a megfelelő tápellátásról. Ezt az eszközt négy AAA újratölthető elem használatára tervezték, mivel általában 1,2 V -os és 4,8 V -os kombinált akkumulátorral rendelkeznek, ami elegendő az Arduino és a LED táplálásához. Ügyeljen arra, hogy ne használjon hagyományos AAA elemeket, mert azok 1,5 V -os feszültséggel rendelkeznek, és a kombinált feszültség túl sok lehet az alkatrészek számára, és károsíthatja azokat. Ha normál elemeket szeretne használni, akkor csak három darabot használjon, a feszültségnek még mindig elegendőnek kell lennie. Egy másik nagyszerű 3D -s nyomtatott részt használtam valaki mástól az elemtartóhoz, amely itt található: "Rugalmas elemtartók".
1. lépés: Programozás
Először az Arduino IDE -re van szüksége a mikrovezérlő programozásához, amely ingyenesen letölthető és használható. Ez első pillantásra elég bonyolultnak hangzik, de valójában nagyon egyszerű. A szoftver telepítése után kap egy egyszerű szövegszerkesztő ablakot, amely az Arduino -ba feltöltött vázlat kódolására szolgál. Ez az eszköz a FastLED könyvtárat is használja, amely egy nagyszerű és könnyen használható könyvtár, amely szinte bármilyen megvásárolható RGB LED vezérlésére szolgál. A könyvtár letöltése után telepítenie kell a fájlokat az Arduino IDE által létrehozott könyvtármappába. Ez általában a „C: / Users {User Name} Documents / Arduino / libraries” alatt található, ha nem változtatta meg. Miután a könyvtárat ebbe a mappába helyezte, újra kell indítania az IDE -t, ha az már fut. Most készen állunk a vezérlő kódjának létrehozására.
2. lépés: A kód
A FastLED könyvtár használatához először be kell vennünk azt a kódunkba. Ez a kód tetején történik, mielőtt bármi más ezzel a sorral:
#befoglalni
Ezután definiálunk néhány állandót. Ez azért történik, mert ezek az értékek nem változnak a kód futása közben, és azért is, hogy jobban olvasható legyen. Ezeket az értékeket közvetlenül beírhatja a kódba, de ha valamit módosítania kell, akkor a teljes kódot végig kell néznie, és meg kell változtatnia minden értéket. és nem kell hozzáérni a fő kódhoz. Először határozzuk meg a vezérlő által használt csapokat:
#define HUE_PIN A0
#define BRIGHT_PIN A1 #define LED_PIN 3 #define LIGHT_PIN 6 #define COLOR_PIN 7 #define RAINBOW_PIN 8
A számok vagy nevek ugyanazok, mint az Arduino -n. Az analóg csapokat a szám előtt egy A jelöli, a digitális tüskék csak a kódban szereplő számot használják, de néha a táblán vezető D -vel vannak nyomtatva.
Az A0 érintkező potenciométerével szabályozható a színárnyalat, az A1 tűn lévő potenciométerrel a fényerő. A D3 tűt jelként használják a LED -hez, így az Arduino adatokat küldhet a szín szabályozására. A D6 érintkező a fény átkapcsolására szolgál, a D7 és D8 csap pedig a vezérlő módjának beállítására szolgál. Ennek a vezérlőnek az üzemmódjait valósítottam meg, az egyik egyszerűen a színpotenciométer által meghatározott színt helyezi a LED -re, a másik pedig elhalványul minden színben. Ezután szükségünk van néhány definícióra a FastLED könyvtárhoz is:
#define COLOR_ORDER GRB
#define CHIPSET WS2811 #define NUM_LEDS 5
A lapkakészlet segítségével meg lehet mondani a könyvtárnak, hogy milyen LED -et használunk. A FastLED szinte minden elérhető RGB LED -et támogat (például NeoPixel, APA106, WS2816B stb.). Az általam használt LED WS2816B néven kerül forgalomba, de úgy tűnik, egy kicsit más, így a WS2811 lapkakészlet használatával működik a legjobban. A LED -hez küldött bájtok sorrendje a szín beállításához szintén különbözhet a gyártók között, így a bájtsorrendre is van definíciónk. Az itt megadott meghatározás csak azt mondja a könyvtárnak, hogy küldje el a színt zöld, piros, kék sorrendben. Az utolsó definíció a csatlakoztatott LED -ek mennyiségére vonatkozik. Mindig kevesebb LED -et használhat, mint amit kódban definiál, ezért 5 -re állítottam a számot, mert ezzel az eszközzel nem tervezek 5 -nél több LED -et tartalmazó tollat. A számot sokkal magasabbra állíthatná, de a teljesítmény miatt olyan kicsire tartom, amennyire szükségem van.
A fő kódhoz néhány változóra is szükségünk van:
int fényerő = 255;
unsigned int pot_Reading1 = 0; unsigned int pot_Reading1 = 0; unsigned long lastTick = 0; unsigned int wheel_Speed = 10;
Ezeket a változókat a fényerő, a potenciométerek leolvasása, a kód utoljára történő végrehajtása és a szín elhalványulásának emlékezése alapján használják.
Ezután meghatározzuk a LED -ek tömbjét, amely egyszerű módja a szín beállításának. A meghatározott mennyiségű LED -et használjuk a tömb méretének beállítására:
CRGB -ledek [NUM_LEDS];
A definíciók gondozása után most írhatjuk a beállítási funkciót. Ez elég rövid ehhez a programhoz:
void setup () {
FastLED.addLeds (ledek, NUM_LEDS).setCorrection (tipikusLEDStrip); pinMode (LIGHT_PIN, INPUT_PULLUP); pinMode (COLOR_PIN, INPUT_PULLUP); pinMode (RAINBOW_PIN, INPUT_PULLUP); }
Az első sor inicializálja a FastLED könyvtárat a korábban megadott definíciók használatával. Az utolsó három sor jelzi az Arduino -nak, hogy ezeket a csapokat bemenetként használják, és ha nincs csatlakoztatva semmihez, akkor a feszültséget magasra kell állítani (PULLUP). Ez azt jelenti, hogy ezeket a csapokat a GND -hez kell csatlakoztatnunk, hogy valamit kiválthassunk.
Most már gondoskodhatunk a fő programról. Ez a hurok funkcióban történik. Először néhány változót állítunk be, és leolvassuk a potenciométereket:
void loop () {
statikus uint8_t színárnyalat = 0; statikus uint8_t wheel_Hue = 0; pot_Reading1 = analogRead (HUE_PIN); árnyalat = térkép (pot_Reading1, 0, 1023, 0, 255); pot_Reading2 = analogRead (BRIGHT_PIN); fényerő = térkép (pot_Reading2, 0, 1023, 0, 255);
Az első két sor olyan változókat állít be, amelyeket később használnak a színhez. A következő két mondat gondoskodik a potenciométer értékeinek leolvasásáról. Mivel 0 és 1023 közötti értéket kap, ha kiolvas egy PIN -kódot az „analogRead” segítségével, de a színárnyalatnak és a fényerőnek 0 és 255 közötti értékre van szüksége, a „map” funkciót használva fordítjuk le a leolvasást egyik értékrégióról a másikra. Ennek a függvénynek az első paramétere a fordítani kívánt érték, az utolsó négy pedig a fordításhoz használni kívánt régiók minimuma és maximális értéke.
Ezután értékeljük a nyomógombot:
if (digitalRead (LIGHT_PIN) == LOW) {
Ellenőrizzük a leolvasást a LOW értékkel szemben, mert a csapot magasnak határoztuk meg, ha nem váltjuk ki. Tehát, ha megnyomja a nyomógombot, a csap csatlakozik a GND -hez, és alacsony értéket mutat. Ha nem nyomja meg a csapokat, nincs sok tennivaló.
Először is ügyeljünk arra, hogy a LED -et csak egy színben világítsuk meg:
if (digitalRead (COLOR_PIN) == LOW) {
if (színárnyalat <2) {FastLED.showColor (CRGB:: Fehér); FastLED.setBrightness (fényerő); } else {FastLED.showColor (CHSV (színárnyalat, 255, fényerő)); FastLED.setBrightness (fényerő); } késleltetés (10);
Ki kell értékelnünk a színtűt, hogy tudjuk, hogy ezt a módot szeretnénk használni. Ezután ellenőrizhetjük, hogy milyen színre van szükség. Mivel itt a HSV színmodellt használjuk, a szín meghatározásához csak az árnyalatra van szükségünk. De ez azt a problémát is okozza, hogy nincs módunk fehérre állítani a színt. Mivel a 0 és a 255 színárnyalat egyaránt pirosra fordítható, itt egy kis trükköt alkalmazok, és ellenőrzöm, hogy a színárnyalat -potenciométer leolvasása kisebb -e, mint 2. Ez azt jelenti, hogy a potenciométert teljesen az egyik oldalra fordították, és ezzel beállíthatjuk a fehéret. Még mindig piros a másik oldalunk, így itt nem veszítünk semmit.
Tehát vagy fehérre állítjuk a színt, majd a fényerőt, vagy pedig beállítjuk a színt a színárnyalat és a fényerő alapján.
Utána hozzáadtam egy kis késleltetést, mert sokkal jobb, ha egy kis állásidőt adunk a vezérlőnek az energiatakarékosság érdekében, és 10 milliszekundum késleltetés nem lesz érezhető.
Ezután kódoljuk a színfakulást:
else if (digitalRead (RAINBOW_PIN) == LOW) {
kerék_sebesség = térkép (pot_Reading1, 0, 1023, 2, 30); if (lastTick + wheel_Speed 255) {wheel_Hue = 0; } lastTick = millis (); } FastLED.showColor (CHSV (kerék_árnyalat, 255, fényerő)); }
Először ezt a módot váltó tűt kell ellenőrizni. Mivel nem akartam hozzáadni egy harmadik potenciométert az elhalványulás sebességének szabályozásához, és mivel a színárnyalat -potenciométert nem használják ebben az üzemmódban, ezt a potenciométert használhatjuk a sebesség beállításához. A térképfunkció újbóli használatával leolvashatjuk az olvasást egy késleltetésre, amelyet az elhalványulás sebességére fordítunk. A késleltetéshez 2 és 30 közötti értéket használtam, mert tapasztalatok alapján ez jó sebesség. A „millis” függvény ezredmásodperceket ad vissza az Arduino bekapcsolása óta, így ezt használhatjuk az idő mérésére. Az utolsó színárnyalat -változást egy korábban definiált változóban tároljuk, és ezt minden alkalommal összehasonlítjuk, hogy meg kell -e változtatnunk a színárnyalatot. Az utolsó sor beállítja a következő szín megjelenítését.
A kód befejezéséhez:
} más {
FastLED.showColor (CRGB:: Fekete); }}
Csak ki kell kapcsolnunk a LED -et, ha a gombot nem nyomjuk meg a szín beállításával, és bezárjuk a nyitott zárójeleket.
Amint láthatja, ez egy nagyon rövid és egyszerű kód, amelyet sok olyan eszközhöz lehet használni, amelyek RGB LED -eket használnak.
Miután megvan a teljes kód, feltöltheti azt az Arduino -ba. Ehhez csatlakoztassa az Arduino -t a számítógéphez USB -kábellel, és válassza ki az Arduino típust az IDE -ben.
Ebben az utasításban az Arduino Pro Micro -t használom. Az Arduino modell beállítása után ki kell választania azt a portot, ahol az IDE megtalálhatja. Nyissa meg a port menüt, és látnia kell a csatlakoztatott Arduino -t.
Most már csak annyit kell tennie, hogy feltölti a kódot az Arduino -ba az ablak tetején lévő második kör gomb megnyomásával. Az IDE felépíti a kódot és feltölti. Miután ez sikeres volt, leválaszthatja az Arduino -t, és folytathatja a vezérlő összeszerelését.
3. lépés: Az elektronika összeszerelése a vezérlőhöz
Mivel mi gondoskodtunk az Arduino kódolásáról, most összeállíthatjuk a vezérlő hardverét. Kezdjük azzal, hogy az alkatrészeket a tokba helyezzük. A potenciométerek a bal oldali két kerek lyukba mennek, az áramellátás kapcsolója alul, az üzemmód kapcsolója a jobb felső sarokban, az Arduino pedig a középen lévő tartóba kerül.
4. lépés:
Kezdje azzal, hogy forraszt egy piros kábelt a főkapcsolóról az Arduino RAW tűjére. Ez a csap a tápellátás menetes csapja, mivel feszültségszabályozóhoz van csatlakoztatva, így még akkor is, ha a feszültség magasabb, mint 5 V, ez a csap használható az Arduino tápellátására. Ezután forrasztjon egy másik piros vezetéket a VCC csaphoz, mivel szükségünk van a potenciométer magas feszültségére. Forrasztjon két fehér vezetéket az A0 és A1 csapokhoz a potenciométer leolvasásához.
5. lépés:
Most tegyen egy hosszú fehér és egy hosszú zöld vezetéket a felső nyíláson keresztül, amelyeket később a LED csatlakoztatására használnak. A zöldet forrasztja a 3 -as, a fehéret a 6 -os csaphoz, és laposan nyomja rá az Arduino -ra. Forrasztjon két fekete vezetéket az Arduino bal oldalán lévő GND csapokhoz, ezeket használják a potenciométerek alacsony feszültségéhez. Forrasztjon két kék vezetéket a 7 -es és 8 -as érintkezőhöz az üzemmódváltáshoz.
6. lépés:
A vörös kábelt, amelyet a VCC csapra forrasztottunk, most az első potenciométer egyik külső csapjához kell forrasztani. Egy másik piros kábellel folytassa ezt a második potenciométerrel. Ügyeljen arra, hogy mindkét potenciométeren ugyanazt az oldalt használja, így a tele mindkét oldalon ugyanaz az oldal lesz. Forrasztja a két fekete kábelt a potenciométerek másik oldalára, és a fehér kábeleket az A0 és A1 csapokból a középső csapra. A potenciométerek úgy működnek, hogy a középső tüske feszültségét a külső csapokra alkalmazott feszültségek közötti feszültségre állítják be, így ha magas és alacsony feszültséget kapcsolunk össze, akkor a középső csap között feszültséget kaphatunk. Ezzel befejeződött a potenciométerek vezetékezése, és egy kicsit elforgathatók, így a csapok el vannak zárva.
7. lépés:
Forrasztjon egy fekete kábelt az üzemmódkapcsoló középső csapjához, és tegyen egy hosszú fekete kábelt a tápegységhez vezető nyíláson keresztül. Húzzon át egy másik hosszú fekete kábelt a felső nyíláson a LED GND -jeként.
8. lépés:
A tápegységből érkező fekete kábel egy másik fekete vezetékhez van forrasztva, amely az Arduino utolsó szabad GND tűjéhez van csatlakoztatva. Forrasztja össze a LED -hez vezető vezetéket és az üzemmódkapcsoló fekete vezetékét, és végül forrassza össze a két pár fekete vezetéket, amelyek most együtt vannak. Használjon zsugorcsövet a forrasztás elkülönítéséhez, hogy elkerülje a rövidzárlatot a vezérlőben.
9. lépés:
Utolsó lépésként most forraszthatjuk a két kék vezetéket az üzemmód kapcsolóhoz. Ezek a kapcsolók úgy működnek, hogy a középső csapot az egyik külső csaphoz csatlakoztatják, attól függően, hogy melyik oldalon van a kapcsoló. Mivel a GND -hez csatlakoztatva a 7 -es és a 8 -as érintkezőt aktiválni kell, használhatjuk a kapcsoló külső csapjait a csapokhoz, a középsőt pedig a GND -hez. Így az egyik csap mindig kiold.
Végül tegyen egy piros vezetéket a tápnyíláson, és forrasztja a főkapcsoló középső tűjére, és tegyen egy másik hosszú piros vezetéket a nyíláson keresztül a LED -hez, és forrasztja ezt a főkapcsoló ugyanazon tűjéhez, amelyhez az Arduino csatlakozik.
10. lépés:
Forrasztja a tápkábeleket az elemtartóhoz, és csavarja be a klipet, amely a LED -hez vezető kábeleket tartja. Ezzel befejeződik a vezérlő bekötése.
11. lépés: A fénytoll összeszerelése
Mivel ez az eszköz moduláris és különböző tollakat használ, szükségünk van egy csatlakozóra a LED -ek vezetékein. Olcsó 4 terminálos molex csatlakozót használtam, amely általában megtalálható a számítógép ventilátorainak kábelein. Ezek a kábelek olcsók és könnyen beszerezhetők, így tökéletesek.
12. lépés:
Amikor elkezdtem bekötni a vezérlőt, nem ellenőriztem a csatlakozók kábeleinek színét, így kissé eltérnek, de könnyen megjegyezhetők. A fekete vezetékeket, a tápellátást sárgára, a zöldet a zöldre és a fehéret a kékre kötöttem, de tetszőleges kombinációt használhat, csak emlékezzen a többi tollra is. Ügyeljen arra, hogy a forrasztott területeket zsugorodó csővel szigetelje, hogy elkerülje a rövidzárlatot.
13. lépés:
Tegyen egy hosszú piros és egy hosszú zöld vezetéket a tollba, és forrasztjon fekete vezetékeket a nyomógomb egyik oldalára, és fehér vezetéket a másik oldalra. Az ilyen nyomógomboknak négy csapja van, amelyek közül kettő párban van csatlakoztatva. A gomb aljára pillantva láthatja, hogy mely csapok vannak csatlakoztatva, és van egy rés a csatlakoztatott párok között. Ha megnyomja a gombot, a két oldal egy másikhoz kapcsolódik. A fehér és egy fekete kábelt ezután húzza át a toll végére, a gomb nyílásánál kezdődően. A másik fekete kábelt előre kell húzni. Győződjön meg arról, hogy mindkét oldalán elegendő kábel van a munkához.
14. lépés:
Nyomja be a gombot a nyílásba, és készítse elő a többi kábelt. A legjobb, ha a kábeleket a LED -hez úgy forrasztjuk, hogy azok a LED közepe felé nézzenek, mert a kábelek a toll közepén haladnak keresztül. Forrasztja a piros vezetéket az 5 V -os forrasztópárnához, a fekete vezetéket a GND forrasztópadhoz és a zöld vezetéket a Din forrasztópadhoz. Ha több LED -je van, akkor az első LED Dout forrasztópadja a következő LED Din -jéhez van csatlakoztatva és így tovább.
15. lépés:
Most nyomja meg a toll elején lévő gombot, és tegyen mögé egy csepp ragasztót, hogy a helyén tartsa.
Most már csak a toll végén lévő vezetékeket kell forrasztani a csatlakozó másik oldalára, szem előtt tartva a színeket.
A legjobb, ha egy csepp ragasztót és néhány szalagot használ a feszültségoldáshoz, és engedje el a toll végén lévő kábeleket, nehogy eltörjenek. Ez befejezi a könnyű toll összeszerelését.
16. lépés: Példák
Végezetül szeretnék néhány példát mutatni, ahol ezt az eszközt használtam. A szögletes toll remekül megvilágítja a graffiti vonalait, az egyenes toll pedig nagyszerű dolgokat rajzol és ír a levegőbe (amihez csak kevés tehetségem van).
Ez az eszköz fő célja. Amint látja, a lehetőségek elképesztőek, ha hosszú expozíciókat kombinál ezzel az eszközzel.
Az ilyen típusú fényképezéshez először a fényképezőgép által támogatott legalacsonyabb ISO -értéket és a nagy rekeszértéket használja. Egy jó módszer a megfelelő beállítások megtalálására, ha a fényképezőgépet rekesz módba állítja, és bezárja a rekesznyílást, amíg a fényképezőgép olyan expozíciós időt nem mutat, amennyi szükséges ahhoz, hogy lerajzolja, mit szeretne hozzáadni a képhez. Ezután váltson kézi üzemmódra, és vagy használja ezt az expozíciós időt, vagy használja az izzó módot.
Jó szórakozást ezek kipróbálásához! Csodálatos művészeti forma.
Ezt az utasítást hozzáadtam a feltalálók és a szokatlan felhasználások kihívásához, így ha tetszik, hagyj szavazni;)
17. lépés: A fájlok
Hozzáadtam a hevedertartókhoz készült modelleket is, amelyeket a vezérlőház aljára kell ragasztani, így felragaszthatja a karjára, és egy klipet a tollhoz, amelyet a fedélhez lehet ragasztani, amikor nincs szüksége a tollra a kezedben.
Vannak diffúzor kupakok is, amelyekkel egyenletesebbé tehetjük a fényt és megelőzhetjük a fellángolást, amikor a toll közvetlenül a fényképezőgépbe mutat.
Ajánlott:
Kapacitív toll egy eldobható tollhoz: 6 lépés (képekkel)
Kapacitív ceruza eldobható tollhoz: van egy tucat Uni-ball Micro Goller toll. Kapacitív ceruzát szeretnék hozzáadni az egyik sapkájához. Ezután a kupak és az érintőceruza áthelyezhető egyik tollról a másikra, amikor kifogy a tinta. Hálás vagyok Jason Poel Smithnek
Szuper egyszerű DIY spot hegesztő toll (MOT akkumulátor fül hegesztő toll) 10 $: 7 lépés (képekkel)
Szuper egyszerű DIY Spot Hegesztő Toll (MOT Battery Tab Welder Pen) 10 $: Megnéztem az összes online oldalt, ahol Spot hegesztő tollat árultak, és láttam, hogy mennyit állítottak össze. Találtam egy készletet, amely olcsóbb volt, mint a többi, de mégis valamivel több, mint amennyit megengedhettem magamnak. Aztán észrevettem valamit. Minden, amit
Egyszerű, olcsó ÉS hozzáférhető toll: 4 lépés (képekkel)
Egyszerű, olcsó ÉS hozzáférhető toll: A kapacitív érintésérzékelők különböző formákban jelennek meg. Sok népszerű űrlap tartalmazza az okostelefonok, táblagépek és kapcsolók képernyőit. Ezen képernyők vagy kapcsolók aktiválásához egy vezető anyagnak kell közel lennie. Sokan használják a
Polaritás toll: 3 lépés (képekkel)
Polaritás toll: Polaritás toll tesztelő - Egyszerűsített Ez az egyszerű polaritásmérő az autóipari rendszerek teszteléséhez és az elektronikai padokhoz is. Az áramkör nagyon egyszerű és a működése is. Sárga LED jelzi, ha a toll csatlakoztatva van a hálózathoz
TTL logikai szintmérő toll: 5 lépés (képekkel)
TTL logikai szintű tesztelő toll: Polaritásmérő toll & TTL logikai szintmérő toll. Ez a polaritástesztelő toll kissé eltér attól, hogy képes a TTL szintek tesztelésére, és megjeleníti az állapotot egy 7 szegmenses kijelzőn a "H" betűkkel. (Magas) a logikai szinthez "