Tartalomjegyzék:
- 1. lépés: Csatlakoztassa a vezetőlapot
- 2. lépés: Helyezzen LED -eket a rácsra
- 3. lépés: Csatlakoztassa a rácsokat az Arduino -hoz
- Lépés: Töltse le a projektvázlatot, és töltse fel az Arduino -ra
- 5. lépés: Alapvető vezérlési funkciók
- 6. lépés: Minták szerkesztése a billentyűzeten
- 7. lépés: Jobb hardver: RGB LED illesztőprogram -pajzs és ház
Videó: Programozható RGB LED szekvenszer (Arduino és Adafruit rácsok használatával): 7 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
A fiaim színes LED csíkokat akartak világítani az asztalukon, én pedig nem akartam konzerv RGB szalagvezérlőt használni, mert tudtam, hogy unni fogják a vezérlők fix mintáit. Azt is gondoltam, hogy remek alkalom lenne arra, hogy olyan oktatóeszközt készítsek számukra, amellyel élesíthetik azokat a programozási és elektronikai készségeket, amelyeket tanítottam nekik. Ez az eredmény.
Megmutatom, hogyan lehet felépíteni ezt az egyszerű, programozható RGB LED szalagvezérlőt egy Arduino Uno (vagy Nano), egy Adafruit rács és egy maroknyi más alkatrész használatával.
Az Adafruit rács az egyik kedvenc új játékom Lady Ada -tól és a legénységtől. Először is, ez mindössze 9,95 dollár a tábla, és további 4,95 dollár a szilikon elasztomer gombpárna (az írásbeli árak). Ez nagyszerű egy 16 gombos 4x4-es mátrixhoz, LED-es képességgel. Nem tartalmaz LED -eket, de ezeket el kell látnia, de ez rugalmasságot biztosít a kívánt színek kiválasztásához (és csökkenti a költségeket és a bonyolultságot a címezhető LED -ek beépítésével szemben). Ennek a projektnek az elkészítéséhez, mint az enyém, maroknyi 3 mm -es LED -re lesz szüksége. Én 2 piros, 2 zöld, 2 kék, 4 sárga és 6 fehér színt használtam.
A Trellis az I2C -t használja a kommunikációhoz, ezért mindössze két I/O -tűre (adat és óra) van szükség a 16 gomb és 16 LED vezérléséhez.
Ennek a projektnek a hardver részét egy kis proto -táblán végezheti el, így készítettem el a prototípusomat. Gyorsan rájöttem, hogy valami rendesebbre és tartalmasabbra van szükségem az asztalukon (egy csupasz Arduino és proto tábla dörömbölése túl törékeny lenne), ezért saját pajzsot készítettem a LED csíkok meghajtásához. A pajzs építésére vonatkozó utasításokat és fájlokat az utolsó lépés tartalmazza.
A meghajtó három IRLB8721 MOSFET -et és három ellenállást használ. És természetesen szüksége lesz egy LED szalagra a vezetéshez; nagyjából minden sima 12 V -os RGB LED -szalag megteszi. Ezek egyszerű LED-ek, mint például az SMD 5050-esek, nem divatos egyedileg címezhetőek (nincsenek NeoPixelek stb.)-ez egy másik projekt! Szüksége van egy 12 V -os tápegységre is, amely elég nagy ahhoz, hogy a használni kívánt LED -ek számát vezesse.
Tehát összefoglalva, itt vannak a projekt alapvető hardverigényei:
- Egy Arduino Uno vagy Nano (ezek az utasítások az Uno -ra vonatkoznak, és női fejlécek vannak telepítve, de a kenyérsütő táblán lévő Nano jól működik) (Adafruit, Amazon, Mouser);
- Egy Adafruit rácsos tábla és szilikon gombpárna (Adafruit);
- Három IRLB8721 N-csatornás MOSFET (Adafruit, Amazon, Mouser);
- Három 1K ellenállás (Amazon, Mouser);
- Három 220 ohmos ellenállás (Amazon, Mouser)
- Egy kis proto tábla (az első 1/4 méretű volt-válasszon bármilyen méretet, amellyel kényelmesen dolgozhat) (Adafruit, Amazon);
- 12 V -os RGB LED szalag (SMD 5050) (Adafruit, Amazon);
- 12 V -os tápegység - válassza ki a meghajtani kívánt LED -ek számának megfelelő teljesítményt.
Kötelező felelősségkizárás: a fenti linkek az Ön kényelmét szolgálják, és semmilyen termék vagy eladó jóváhagyását nem jelentik; és én sem profitálok az ezeken a linkeken végrehajtott vásárlásokból. Ha vannak olyan kereskedői, akik jobban tetszenek, mindenképpen támogassa őket!
Lássunk neki…
1. lépés: Csatlakoztassa a vezetőlapot
Itt a LED meghajtó áramkör. Nagyon egyszerű. IRBLxxx N-csatornás MOSFET-et használ a LED-szalag minden csatornájához. A LED -szalag gyakori anód, azaz +12 V -ot küld a LED -szalagra, és a piros, zöld és kék LED -csatornákat a szalag megfelelő csatlakozásának földelése vezérli. Tehát összekötjük a MOSFET -ek lefolyóját a LED színcsatornákkal, és a forrást a földdel. A kapuk Arduino digitális kimenetekhez csatlakoznak, és az ellenállások lehúzást biztosítanak, amely biztosítja, hogy minden MOSFET szükség szerint teljesen be- vagy kikapcsoljon.
Az Arduino néhány digitális kimenetén impulzusszélesség-modulációt kínál, ezért ezeket a kimeneteket (különösen a D9, D10, D11) fogjuk használni, hogy az egyes színcsatornák intenzitása szabályozható legyen.
Ha zavarban van, hogy hová csatlakoztassa az IRLB8721 MOSFET -eket, tartson egyet a kezében úgy, hogy az eleje felfelé nézzen, ahogy a fenti képen látható. A bal oldali csap (1. tű) a kapu, és egy Arduino digitális kimeneti csaphoz és az ellenálláshoz csatlakozik (az ellenállás másik végének a földhöz kell csatlakoznia). A középen lévő csap (2. tű) a lefolyó, és a LED szalag színcsatornájához csatlakozik. A jobb oldali csap (3. tű) a forrás, és a földhöz van csatlakoztatva. Győződjön meg arról, hogy melyik tranzisztor melyik LED színcsatornához csatlakozik.
Nem részletezem a proto táblák forrasztásának részleteit. Őszintén szólva, utálom, és nem vagyok jó benne. De jó vagy rossz, ez működik, és ez egy gyors és piszkos módszer egy szilárd prototípus vagy egyszeri elkészítésére. Az első táblám itt látható.
Ezt te is kenyérpiríthatnád. Ez minden bizonnyal gyorsabb lenne, mint mindent forrasztani egy proto táblán, de kevésbé állandó.
Miután csatlakoztatta az illesztőprogramot, csatlakoztassa a MOSFET kapu bemeneteit az Arduino digitális kimeneti csapjaihoz: D9 a zöld, D10 a piros és a D11 a kék csatorna. Csatlakoztassa a LED szalagot a proto kártyájához is.
Ezenkívül győződjön meg arról, hogy a vezetőfülkéje külön csatlakozik a földtől az Arduino egyik földelőcsapjához.
Végül, LED tápellátáshoz csatlakoztassa a 12 V -os tápellátás negatív (földelő) vezetékét a vezérlőpanel földeléséhez. Ezután csatlakoztassa a 12 V -os tápfeszültség pozitív vezetékét a LED -szalag anódvezetékéhez (ez egy fekete vezeték a képen látható kábeleimen).
Végül úgy döntöttem, hogy megterveztem egy PC -kártyapajzsot, amely az Uno -ra szerelhető, és rendelkezik egy tartószerkezettel a rácsokhoz. Ez sokkal készebb végterméket eredményezett. Ha ezt szeretné tenni, hagyja ki az itt leírt proto tábla használatát, és készítse el a pajzslapot. Mindez az utolsó lépésben van leírva.
2. lépés: Helyezzen LED -eket a rácsra
A rácsos tábla üres párnákkal rendelkezik a 3 mm -es LED -ekhez, amelyeket ki kell töltenünk. Figyelmesen vegye figyelembe a párnákon lévő szimbólumokat-a pad mellett nagyon finom "+" jelzi az anód oldalt. Ha úgy tartja a táblát, hogy a szöveg a jobb oldalával felfelé legyen, akkor a tábla tetején és alján felirat is jelzi, hogy a LED-es anódok a bal oldalon vannak.
Forrasztja a 3 mm -es LED -eket a táblához. Ha a tábla elejét nézzük, jobb oldali szöveggel felfelé, a bal felső kapcsoló/LED pozíciója az 1., a jobb felső #4, a bal alsó #13 és a jobb alsó #16. Íme az egyes pozíciókban használt színek (és ennek oka van, ezért azt tanácsolom, hogy kövesse a mintámat legalább a felső két sorban):
1 - piros2 - zöld3 - kék4 - fehér5 - piros6 - zöld7 - kék8 - fehér9 - fehér10 - fehér11 - sárga12 - sárga13 - fehér14 - fehér15 - sárga16 - sárga
CC Hozzárendelés: A fenti Rácsos kép az Adafruit által készült, és a Creative Commons - Hozzárendelés/ShareAlike licenc alatt használják.
3. lépés: Csatlakoztassa a rácsokat az Arduino -hoz
A Rácsos öt vezetékpárnával rendelkezik, de ebben a projektben csak négyet használnak. A rácsoknak SDA -ra és SCL -re van szükségük az Arduino -val való kommunikációhoz (I2C használatával), 5V -nak és GND -nek pedig áramellátáshoz. Az utolsó betétet, az INT -t nem használják. A rácsos párnák a tábla mind a négy szélén megjelennek. Bármilyen szettet használhat.
Forrasztjon szilárd összekötő vezetéket az 5V, GND, SDA és SCL párnákhoz. Ezután csatlakoztassa az 5V -os vezetéket az Arduino 5V -os csatlakozójához, a GND -t a földelőcsaphoz, az SDA -vezetéket az A4 -hez, az SCL -vezetéket pedig az A5 -öshöz.
Ezután bekapcsoljuk az Arduino -t, és feltöltjük rá a vázlatot. Itt az ideje, hogy a szilikon gombpárnát a rácsos táblára tegye. Csak a táblán ül (vegye figyelembe a párna alján lévő „gömböket”, amelyek a táblán lévő lyukakba illeszkednek), ezért érdemes néhány darab szalagot használni a párna széleinek a táblához való rögzítéséhez Most.
CC Hozzárendelés: A fenti Rácsos kábelezési kép az Adafruit kép kivágott változata, és a Creative Commons - Hozzárendelés/ShareAlike licenc alatt használják.
Lépés: Töltse le a projektvázlatot, és töltse fel az Arduino -ra
Letöltheti a vázlatot a projekt Github repójából.
Ha megvan, nyissa meg az Arduino IDE -ben, csatlakoztassa az Arduino -t USB -kábellel, és töltse fel a vázlatot az Arduino -ba.
Ha a vázlat feltöltődik, és a rács megfelelően csatlakoztatva van, akkor a rácson lévő gombok háromszor gyorsan villognak, ha megnyomják. Ez azt jelzi, hogy érvénytelen gombot nyomott meg, mert a rendszer "kikapcsolt" állapotban jelenik meg, így az egyetlen érvényes gombnyomás a bekapcsoláshoz szükséges.
A rendszer bekapcsolásához nyomja meg és tartsa lenyomva a bal alsó gombot (#13) legalább egy másodpercig. Amikor elengedi a gombot, az összes LED -nek röviden fel kell világítania, majd az alsó két sor kialszik, kivéve a #13 -at (bal alsó). A rendszer most bekapcsolt és tétlen állapotban van.
Első tesztként megpróbálhatja a felső két sor használatával megvilágítani és tompítani a LED csatornákat. Ha ez működik, akkor folytathatja a következő lépést. Ha nem, ellenőrizze:
- A LED tápegység be van kapcsolva és be van kapcsolva;
-
A vezérlőpanel MOSFET -ei megfelelően vannak bekötve. Ha ugyanazokat az IRLB8721 készülékeket használja, mint én, ellenőrizze:
- A vezérlőpanel jelbemenetei (MOSFET kapuk, IRLB8721 1. tű) az Arduino -hoz vannak csatlakoztatva D9 = zöld, D10 = piros, D11 = kék (lásd az alábbi megjegyzést);
- LED szalag csatlakozik a meghajtó kártyához, és LED színcsatornák vannak csatlakoztatva a MOSFET csatornákhoz (IRLB8721 2. tű);
- A MOSFET forráscsapok (IRLB8721 3. tű) a vezetőkártya földjéhez vannak csatlakoztatva;
- Földelési kapcsolat a vezérlőpanel és az Arduino földelőcsap között.
A következő lépésben a gombos kezelőfelület néhány funkciójával játszunk.
MEGJEGYZÉS: Ha a vezérlő működik, de az intenzitásgombok nem szabályozzák a megfelelő színeket, ne aggódjon, és ne csatlakoztassa újra! Csak menjen be a Vázlatba az Arduino IDE -ben, és módosítsa a VÖRÖS, ZÖLD és KÉK pin -definíciókat a fájl tetejénél.
5. lépés: Alapvető vezérlési funkciók
Most, hogy a rendszer be van kapcsolva, játszhatunk néhány gombbal, és elvégezhetjük a dolgokat.
Amint azt az előző lépésben mondtam, a rendszer bekapcsoláskor "tétlen" állapotba kerül. Ebben az állapotban a felső két sor gombjaival növelheti és csökkentheti a piros, zöld és kék LED -csatornák színintenzitását. Ha a fehér növelés/csökkentés gombokat használja, a rendszer mindhárom csatorna intenzitását növeli vagy csökkenti egyenlő mértékben és egyenlő szinten.
Az alsó két sor az előre beállított minták lejátszására szolgál. Ezeket a mintákat az Arduino EEPROM tárolja. Amikor a vázlat először fut, látja, hogy az EEPROM -ban nincsenek tárolt minták, és tárolja az alapértelmezett mintákat. Ezt követően megváltoztathatja ezeket a mintákat, és a módosításokat az Arduino EEPROM -ban tárolja, és helyettesíti az előre beállított mintát. Ez biztosítja, hogy a minták túléljék az áramszüneteket. A szerkesztési funkciót a következő lépés írja le.
Egyelőre röviden nyomja meg bármelyik előre beállított gombot (az alsó két sor nyolc gombját) az adott gombhoz tárolt minta futtatásához. A gomb villog, amíg a minta fut. A minta leállításához nyomja meg ismét röviden a minta gombot. Miközben a minta fut, a felső sorokban lévő fehér fel/le gombokkal módosítható a minta aránya.
Ha néhány másodpercig békén hagyja a projektet anélkül, hogy megérintené a gombokat, észre fogja venni, hogy a LED -ek halványak. Ez mind az energiatakarékosság érdekében, mind pedig annak elkerülése érdekében, hogy a rácsok túlvilágítsák a LED-ek által keltett "hangulatot". Ha megérint egy gombot a rácson, újra felébred.
A rendszer kikapcsolásához nyomja meg és tartsa lenyomva a bal alsó (#13) gombot egy vagy több másodpercig, majd engedje fel. A rács és a LED szalag elsötétül.
6. lépés: Minták szerkesztése a billentyűzeten
Amint azt az előző lépésben mondtam, a vázlat nyolc alapértelmezett mintát tárol az EEPROM -ban az első futtatáskor. Ebből 7 mintát másra módosíthat, ha szeretné használni a gombok mintaszerkesztő módját.
A minta szerkesztési módba lépéshez először döntse el, hogy melyik gombhoz szeretné szerkeszteni a mintát. A bal alsó gombon kívül bármilyen gombot választhat. Lépjen be a minta szerkesztési módba a kiválasztott minta gomb hosszú megnyomásával (tartsa lenyomva egy másodpercnél tovább). Amikor elengedi, a gomb folyamatosan világít, és a felső két sor villogni kezd. Ez azt jelzi, hogy szerkesztési módban van.
A szerkesztési mód a minta első lépésénél kezdődik, és addig folytatódik, amíg kilép a szerkesztésből vagy befejezi a 16. lépést (mintánként legfeljebb 16 lépés). Minden lépésnél használja a csatornaintenzitás gombjait a felső két sorban, hogy kiválassza az adott lépéshez kívánt színt. Ezután nyomja meg röviden a minta előre beállított gombját a szín mentéséhez, és folytassa a következő lépéssel. Az utolsó lépésben a rövid megnyomás helyett csak hosszan nyomja le a szerkesztést.
Miután kilépett a minta szerkesztéséből, a minta automatikusan lejátszódik.
Ez az! Most van egy RGB LED -vezérlője, amely sorrendben követi a billentyűzeten keresztül programozható mintákat. Itt megállhat, vagy ha ennek a projektnek egy formálisabb változatát szeretné felépíteni, folytassa a többi lépéssel.
7. lépés: Jobb hardver: RGB LED illesztőprogram -pajzs és ház
Amint volt egy működő prototípusom, tudtam, hogy nem hagyhatok állandó megoldásként egy csupasz Arduino és proto táblát a gyerekeim asztalán. Szükségem volt egy szekrényre a projekthez. Azt is elhatároztam, hogy jobb pilótafórumot készítek, és úgy gondoltam, hogy ez a tökéletes alkalom a saját pajzsom elkészítésére.
Letisztítottam a papírvázlatomat azáltal, hogy beírtam az ExpressSCH -be, amely egy ingyenes eszköz, amelyet az ExpressPCB kínál, egy táblagyártó, amely olcsó, rövid PC -lemezeket kínál. Több mint egy évtizede használom az ExpressPCB -t projekteken, de mindenképpen használja a kívánt eszközöket és gyártókat.
Hozzáadtam néhány apró funkciót az alaprajzhoz, hogy jól működjön a projekt pajzsaként. Vezetékpárnákat adtam hozzá a rácsokhoz, egy hálózati aljzatot, egy jelzőlámpát és egy csatlakozót a LED szalaghoz. Hozzáadtam egy helyet egy kondenzátorhoz a tápegységben. A végső áramkör itt látható.
Úgy döntöttem, hogy a projekt ereje a pajzsból származik. A pajzshoz szállított 12 V táplálja mind a LED szalagot, mind az Arduino -t. Az Arduino áramellátását a tápellátás bemenetének az Arduino VIN csapjához való csatlakoztatásával biztosítják, amely kétirányú (ezen a tűn lehet áramot szolgáltatni az Arduino-nak, vagy ha máshol csatlakoztatja az áramot az Arduino-hoz, akkor a mellékelt kapcsolja be ezt a csapot). A D1 védődióda megakadályozza, hogy a közvetlenül az Arduino -hoz csatlakoztatott tápellátás (pl. USB) a LED -ek áramellátását kísérli.
Miért nem használja az Arduino hálózati aljzatát, és csak csatlakoztatja a 12 V -ot? Míg 12 V -ot tudtam volna táplálni az Arduino hálózati aljzatához, és a VIN -érintkező segítségével megragadhatnám ezt az erőt a pajzshoz, aggódtam amiatt, hogy az Arduino D1 diódája és nyomai nem fogják elérni a lehetséges nagy áramokat a LED meghajtásakor csíkok. Szóval, úgy döntöttem, hogy a pajzsom átveszi a tápellátást és az Arduino áramellátását. A rácsokhoz 5V-ra is szükségem volt, de az Arduino fedélzeti áramszabályozója 5 V-ot táplál több tűn, ezért az egyiket használtam a Lugas. Ez mentett meg attól, hogy szabályozó áramkört tettem a pajzsra.
Ezután lefektettem a NYÁK -t. Néhány erőforrást használtam, hogy pontos méréseket kapjak a csapok elhelyezéséhez, hogy megfeleljek az Arduino Uno fejléceinek. Egy kis szorgalom, és első próbálkozásnak megfelelt. Magában a pajzskörben nincs sok, így bőven volt helyem. Széles nyomokat tártam fel a LED-es terhelésekre, így bőven elegendő áramhordozó lenne az igényeimhez. Kiállítottam a MOSFET -eket, hogy hol lehet őket laposan felszerelni, hűtőbordával vagy anélkül. Eddig nem volt szükségem hűtőbordákra az általam használt LED -ek számához, de szükség esetén van hely.
Ezenkívül olyan lyukakat is hozzáadtam, amelyek illeszkednek a rácsok rögzítőfurataihoz, hogy a rácsokat a pajzsomra rögzíthessem. Ha a pajzs az Arduino-hoz van csatlakoztatva, és a rácsok a pajzs fölött leállnak, mindennek szépnek és szilárdnak kell lennie.
Ezután kinyomtattam a tábla elrendezését, és ragasztottam egy darab habmagra, és beillesztettem az alkatrészeimet, hogy minden illeszkedjen. Minden rendben, ezért elküldtem a rendelést.
Ekkor elkezdtem dolgozni egy házon. A Fusion 360 használatával egy egyszerű házat terveztem, amely tartalmazza a három táblát (Arduino Uno, pajzs és rács). A házon lévő lyukak lehetővé teszik a csatlakozást az Arduino USB -portjához, és természetesen hozzáférést biztosítanak a LED szalagcsatlakozáshoz és az árnyékoló hálózati csatlakozóhoz. Az Arduino tápcsatlakozót a burkolat lefedi, hogy ne használják. Néhány próbaüzem prototípus után végre megvolt a tervezés, amivel elégedett voltam. A Thingiverse -hez közzétettem a szekrényhez tartozó STL fájlokat.
A jövőben elkészítem a tábla egy olyan verzióját, amelyhez közvetlenül csatlakoztatható egy Nano. Ez még kompaktabbá tenné a projektet. Addig is használhat egy ilyen Nano -Uno pajzs adaptert.
Ha meg akarja csinálni a pajzsot, az alábbiakban az alábbiakra lesz szüksége az 1. lépésben említett részeken kívül:
- RGB LED Driver Shield PC -kártya (az ExpressPCB -től vagy másoktól; letöltheti a fájlokat a projekt Github repójából);
- 1N4002 dióda;
- 100uF 25V radiális elektrolit kondenzátor (használjon 220uF vagy 470uF, ha nagy a LED terhelés);
- Tápcsatlakozó, PJ202-AH (5A minősítésű modell).
A következő részek nem kötelezőek:
- 3 mm -es LED - bármilyen színű, jelzőlámpához (elhagyható)
- 1500 ohmos ellenállás - csak akkor szükséges, ha LED jelzőlámpát használ
Ajánlott:
Arduino MIDI ritmusszakasz -szekvenszer: 8 lépés (képekkel)
Arduino MIDI ritmusszakasz -szekvenszer: Ma jó és olcsó egy jó szoftveres dobgép, de az egér használata megöli a szórakozást. Ez az oka annak, hogy rájöttem arra, amit eredetileg tiszta 64 lépéses hardveres MIDI dobszekvenszernek szántak, amely képes akár 12 különböző dob elem beindítására
Egyszerű szekvenszer: 16 lépés (képekkel)
Egyszerű szekvenszer: A jó zenélés egyik kulcsa az esztelen ismétlés. Ebben az egyszerű szekvenáló nagyszerű. Ugyanezt csinálja újra és újra, nyolc hangsorban. Beállíthatja a jegyzet gyakoriságát, a hang időtartamát és
Atari punk konzol babával 8 lépéses szekvenszer: 7 lépés (képekkel)
Atari punk konzol Baby 8 lépéses szekvenszerrel: Ez a köztes felépítés az all-in-one Atari Punk Console és a Baby 8 Step szekvenszer, amelyeket a Bantam Tools asztali PCB marógépen marhat. Két áramköri lapból áll: az egyik felhasználói felület (UI) kártya, a másik pedig egy segédprogram
(majdnem) Univerzális MIDI SysEx CC programozó (és szekvenszer ): 7 lépés (képekkel)
(majdnem) Univerzális MIDI SysEx CC programozó (és a szekvenszer …): A nyolcvanas évek közepén a szintetizátorok "kevesebbet jobb" kezdtek. folyamat, amely barebones szintetizátorokhoz vezetett. Ez lehetővé tette a költségek csökkentését a gyártói oldalon, de a javítási folyamatot unalmassá, ha nem lehetetlenné tette a végső felhasználásra
DoReMiQuencer - Programozható MIDI szekvenszer billentyűzettel: 7 lépés
DoReMiQuencer - Programozható MIDI szekvenszer billentyűzettel: Ezt az eszközt a VCVRack, a VCV által létrehozott virtuális moduláris szintetizátorral való használatra hozták létre, de általános célú MIDI vezérlőként is szolgálhat. MIDI szekvenszerként vagy billentyűzetként szolgál a kiválasztott módtól függően. A MIDI jegyzetek hozzárendelve a billentyűzethez