Obsah:

Programovatelný RGB LED sekvencer (pomocí Arduino a Adafruit Trellis): 7 kroků (s obrázky)
Programovatelný RGB LED sekvencer (pomocí Arduino a Adafruit Trellis): 7 kroků (s obrázky)

Video: Programovatelný RGB LED sekvencer (pomocí Arduino a Adafruit Trellis): 7 kroků (s obrázky)

Video: Programovatelný RGB LED sekvencer (pomocí Arduino a Adafruit Trellis): 7 kroků (s obrázky)
Video: RGB индикация температуры на Attiny13 2024, Červenec
Anonim
Image
Image
Zapojte desku řidiče
Zapojte desku řidiče

Moji synové chtěli barevné LED pásky, aby osvětlily jejich stoly, a já nechtěl používat konzervovaný RGB páskový ovladač, protože jsem věděl, že se nudí s pevnými vzory, které tyto ovladače mají. Také jsem si myslel, že by to byla skvělá příležitost vytvořit pro ně výukový nástroj, který by mohli použít k vylepšení programovacích a elektronických dovedností, které jsem je učil. Toto je výsledek.

Ukážu vám, jak postavit tento jednoduchý, programovatelný RGB LED páskový ovladač pomocí Arduino Uno (nebo Nano), Adafruit Trellis a hrstky dalších dílů.

Adafruit Trellis je jednou z mých oblíbených nových hraček od Lady Ada a posádky. Za prvé, je to pouhých 9,95 $ za desku a dalších 4,95 $ za silikonový elastomerový knoflík (ceny od tohoto psaní). To je skvělá nabídka pro 16tlačítkovou matici 4x4 s možností LED. Nejsou dodávány s namontovanými LED, musíte je dodat, ale to vám dává flexibilitu při výběru požadovaných barev (a snižuje náklady a složitost oproti stavění adresovatelných LED). Chcete -li postavit tento projekt jako já, budete potřebovat hrstku 3 mm LED diod. Použil jsem 2 červené, 2 zelené, 2 modré, 4 žluté a 6 bílých.

Trellis ke komunikaci používá I2C, takže k ovládání 16 tlačítek a 16 LED vyžaduje pouze dva I/O piny (data a hodiny).

Hardwarovou část tohoto projektu můžete provést na malé proto desce, čímž jsem vytvořil svůj prototyp. Rychle jsem si uvědomil, že na jejich stolech potřebuji něco úhlednějšího a více obsaženého (holé bouchání desky Arduino a proto by bylo příliš křehké), a tak jsem si vyrobil vlastní štít pro řízení LED pásků. V posledním kroku jsou zahrnuty pokyny a soubory pro stavbu štítu.

Ovladač používá tři IRLB8721 MOSFETy a tři odpory. A samozřejmě budete k řízení potřebovat LED pásek; poslouží téměř každý obyčejný 12V RGB LED pásek. Jedná se o jednoduché LED diody, jako SMD 5050, ne okouzlující individuálně adresovatelné (žádné NeoPixels atd.)-to je další projekt! Potřebujete také dostatečně velký napájecí zdroj 12V, který by poháněl počet diod LED, které hodláte použít.

Abychom to zrekapitulovali, zde jsou základní hardwarové potřeby tohoto projektu:

  • Jedno Arduino Uno nebo Nano (tyto pokyny platí pro Uno s nainstalovanými hlavičkami, ale Nano na prkénku funguje dobře) (Adafruit, Amazon, Mouser);
  • Jedna deska Adafruit Trellis a silikonová podložka na knoflíky (Adafruit);
  • Tři IRLB8721 N-kanálové MOSFETy (Adafruit, Amazon, Mouser);
  • Tři 1K odpory (Amazon, Mouser);
  • Tři 220 ohmové odpory (Amazon, Mouser)
  • Jedna malá proto deska (moje první měla velikost 1/4-vyberte si libovolnou velikost, se kterou můžete pohodlně pracovat) (Adafruit, Amazon);
  • 12V RGB LED pásek (SMD 5050) (Adafruit, Amazon);
  • Napájení 12 V - vyberte výkon odpovídající počtu LED, které plánujete řídit.

Požadované odmítnutí odpovědnosti: výše uvedené odkazy jsou poskytovány pro vaše pohodlí a nejsou potvrzením žádného produktu nebo prodejce; ani nemám zisk z žádných nákupů provedených prostřednictvím těchto odkazů. Pokud máte dodavatele, které se vám líbí více, v každém případě je podpořte!

Začněme…

Krok 1: Zapojte desku ovladače

Zapojte desku řidiče
Zapojte desku řidiče

Zde je obvod ovladače LED. Je to velmi jednoduché. Pro každý kanál na LED pásku používá N-kanálový MOSFET IRBLxxx. LED pásek je společná anoda, což znamená, že na LED pás je odesláno +12V a červené, zelené a modré LED kanály jsou ovládány zajištěním uzemnění na příslušném připojení k pásku. Takže připojíme odtok MOSFETů k barevným kanálům LED a zdroj k zemi. Brány budou připojeny k digitálním výstupům Arduino a odpory poskytují rozevírání, které zajistí, že se každý MOSFET plně zapne nebo vypne podle potřeby.

Arduino na některých svých digitálních výstupech nabízí modulaci šířky pulzu, takže tyto výstupy (konkrétně D9, D10, D11) použijeme, aby bylo možné ovládat intenzitu každého barevného kanálu.

Pokud jste zmatení z toho, kam se na MOSFETech IRLB8721 připojit, držte jeden v ruce čelem k sobě, jak je vidět na fotografii výše. Kolík vlevo (kolík 1) je bránou a připojí se k digitálnímu výstupnímu kolíku Arduino a rezistoru (druhý konec rezistoru by se měl připojit k zemi). Kolík ve středu (kolík 2) je odtok a připojuje se k barevnému kanálu LED pásku. Kolík vpravo (kolík 3) je zdrojem a je připojen k zemi. Ujistěte se, že sledujete, který tranzistor se připojuje ke kterému barevnému kanálu LED.

Nebudu zacházet do podrobností, jak pájet desky proto. Upřímně, nesnáším to a nejsem v tom dobrý. Ale k lepšímu nebo horšímu to funguje a je to rychlý a špinavý způsob, jak získat solidní prototyp nebo jednorázový úkol. Tady je ukázána moje první deska.

Můžete to také probít. Určitě by to bylo rychlejší než pájení všeho na proto desce, ale méně trvalé.

Jakmile zapojíte ovladač, připojte vstupy brány MOSFET k digitálním výstupním pinům Arduino: D9 pro zelený kanál, D10 pro červený kanál a D11 pro modrý kanál. Připojte také pás LED k desce proto.

Rovněž se ujistěte, že má vaše deska ovladače oddělené připojení od země k jednomu ze zemnicích kolíků Arduina.

Nakonec pro napájení LED připojte záporný (uzemňovací) vodič napájení 12V k uzemnění na desce ovladače. Poté připojte kladný vodič napájení 12 V k anodovému kabelu LED pásku (toto je černý vodič na mých kabelech zobrazený na obrázku).

Nakonec jsem skončil s návrhem štítu desky PC, který se montuje na Uno, a také má montážní podporu pro Trellis. To poskytlo mnohem více hotového konečného produktu. Pokud to chcete udělat, můžete přeskočit používání desky proto, jak je zde popsáno, a nechat si vyrobit štítovou desku. To vše je popsáno v posledním kroku.

Krok 2: Umístěte diody LED na mřížoví

Umístěte LED na mřížoví
Umístěte LED na mřížoví

Deska Trellis má prázdné podložky pro 3mm LED diody, které budeme muset vyplnit. Pozorně si všimněte symbolů na podložkách-vedle podložky je velmi jemné „+“pro označení anodové strany. Pokud držíte desku tak, aby byl text pravou stranou nahoru, je v horní a dolní části desky také notový zápis upozorňující na to, že LED anody jsou vlevo.

Připájejte své 3mm LED k desce. Při pohledu na přední stranu desky text vpravo nahoru, poloha levého horního přepínače/LED je #1, vpravo nahoře je #4, vlevo dole je #13 a vpravo dole je #16. Zde jsou barvy, které jsem použil v každé pozici (a má to svůj důvod, proto doporučuji, abyste se řídili mým vzorem alespoň pro horní dva řádky):

1 - červená2 - zelená3 - modrá4 - bílá5 - červená6 - zelená7 - modrá8 - bílá9 - bílá10 - bílá11 - žlutá12 - žlutá13 - bílá14 - bílá15 - žlutá16 - žlutá

Attribution CC: Obrázek Trellis výše je od Adafruit a používán pod licencí Creative Commons - Attribution/ShareAlike.

Krok 3: Připojte Trellis k Arduinu

Připojte Trellis k Arduinu
Připojte Trellis k Arduinu

Trellis má pět elektroinstalačních podložek, ale v tomto projektu jsou použity pouze čtyři. Trellis potřebuje SDA a SCL ke komunikaci s Arduinem (pomocí I2C) a 5V a GND pro napájení. Poslední pad, INT, se nepoužívá. Podložky Trellis se objevují na všech čtyřech hranách desky. Můžete použít libovolnou sadu podložek, které si přejete.

Pájejte pevný propojovací vodič k podložkám 5V, GND, SDA a SCL. Poté připojte 5V vodič k 5V pinu na Arduinu, GND k zemnicímu kolíku, SDA vodič k A4 a SCL vodič k A5.

Dále zapneme Arduino a nahrajeme do něj skicu. Nyní je vhodná doba k položení silikonové podložky na desku Trellis. Prostě sedí na desce (všimněte si „nubů“na spodní straně podložky, které zapadají do otvorů na desce), takže možná budete chtít použít pár kousků pásky, které přidrží okraje podložky k desce pro Nyní.

Attribution CC: Obrázek zapojení Trellis výše je oříznutou verzí tohoto obrázku od Adafruit a je používán pod licencí Creative Commons - Attribution/ShareAlike.

Krok 4: Stáhněte si náčrt projektu a nahrajte jej do Arduina

Náčrt si můžete stáhnout z mého úložiště Github pro tento projekt.

Jakmile ji získáte, otevřete ji v Arduino IDE, připojte Arduino pomocí kabelu USB a nahrajte skicu do Arduina.

Pokud je skica nahrána a Trellis je správně připojen, jakékoli tlačítko na Trellis by mělo při stisknutí třikrát rychle zablikat. To je známkou toho, že jste stiskli neplatné tlačítko, protože systém se nachází ve stavu „vypnuto“, takže jediné platné stisknutí klávesy je to, které je nutné k zapnutí.

Systém zapnete stisknutím a podržením levého dolního tlačítka (#13) po dobu alespoň jedné sekundy. Když tlačítko uvolníte, všechny LED diody by se měly krátce rozsvítit a poté spodní dvě řady zhasnou, kromě #13 (vlevo dole). Systém je nyní v zapnutém a klidovém stavu.

Jako první test můžete zkusit použít horní dva řádky k zesvětlení a ztlumení kanálů LED. Pokud to funguje, můžete přejít k dalšímu kroku. Pokud ne, zkontrolujte:

  1. LED napájení je připojeno a zapnuto;
  2. MOSFETy na desce řidiče jsou správně zapojeny. Pokud používáte stejné IRLB8721, jaké jsem použil, zkontrolujte:

    • Signální vstupy na desce ovladače (brány MOSFET, IRLB8721 pin 1) jsou připojeny k Arduino D9 = zelená, D10 = červená, D11 = modrá (viz poznámka níže);
    • LED pásek je připojen k desce řidiče a barevné kanály LED jsou připojeny k vývodům MOSFET (IRLB8721 pin 2);
    • Piny zdroje MOSFET (IRLB8721 pin 3) jsou připojeny k zemi na desce ovladače;
  3. Uzemnění mezi deskou ovladače a uzemňovacím kolíkem Arduino.

V dalším kroku si zahrajeme s některými funkcemi uživatelského rozhraní tlačítkové podložky.

POZNÁMKA: Pokud váš ovladač funguje, ale tlačítka intenzity neovládají správné barvy, nebojte se a nezapojujte znovu! Stačí přejít na Sketch v Arduino IDE a upravit ČERVENÉ, ZELENÉ a MODRÉ definice pinů v horní části souboru.

Krok 5: Základní ovládací funkce

Základní ovládací funkce
Základní ovládací funkce

Nyní, když je systém zapnutý, si můžeme hrát s některými tlačítky a dělat věci.

Jak jsem řekl v předchozím kroku, po zapnutí se systém dostane do „klidového“stavu. V tomto stavu můžete pomocí tlačítek v horních dvou řadách zvýšit a snížit intenzitu barev každého z červených, zelených a modrých kanálů LED. Pokud použijete bílá tlačítka pro zvýšení/snížení, systém zvýší nebo sníží intenzitu všech tří kanálů stejně a na stejných úrovních.

Spodní dva řádky slouží k přehrávání přednastavených paternů. Tyto vzory jsou uloženy v EEPROM Arduina. Když se skica spustí poprvé, zjistí, že v paměti EEPROM nejsou uloženy žádné vzory, a uloží sadu výchozích vzorů. Poté můžete tyto vzory změnit a vaše změny se uloží do EEPROM Arduina a nahradí přednastavený vzor. To zajišťuje, že vaše vzory přežijí odpojení napájení. Funkce úprav je popsána v dalším kroku.

Prozatím krátce stiskněte kterékoli z přednastavených tlačítek (osm tlačítek v dolních dvou řadách), abyste spustili vzor uložený pro toto tlačítko. Tlačítko bliká, zatímco vzor běží. Chcete -li vzor zastavit, znovu krátce stiskněte tlačítko vzoru. Když je vzor spuštěn, lze pomocí bílých tlačítek nahoru/dolů v horních řadách změnit rychlost vzorování.

Pokud necháte projekt několik sekund v klidu, aniž byste se dotkli jakýchkoli tlačítek, všimnete si, že diody LED zhasnou. To je jak pro úsporu energie, tak pro zabránění tomu, aby Trellis příliš osvětlil jakoukoli „náladu“, kterou se LED diody snaží vytvořit. Stisknutím tlačítka na mřížce se probudí zpět.

Chcete-li systém vypnout, stiskněte a podržte levé nebo spodní tlačítko (#13) na jednu nebo více sekund a uvolněte. Trellis a LED pásek ztmavnou.

Krok 6: Úpravy vzorů na klávesnici

Úpravy vzorů na klávesnici
Úpravy vzorů na klávesnici

Jak jsem řekl v předchozím kroku, skica při prvním spuštění ukládá do EEPROM osm výchozích vzorů. 7 těchto vzorů můžete změnit na něco jiného, pokud si přejete použít režim úpravy vzoru na tlačítkovém panelu.

Chcete -li vstoupit do režimu úpravy vzoru, nejprve se rozhodněte, pro které tlačítko chcete vzor upravit. Můžete zvolit libovolné tlačítko kromě levého dolního tlačítka. Do režimu úpravy vzoru vstoupíte dlouhým podržením (déle než jednu sekundu) na zvoleném tlačítku vzoru. Po uvolnění se tlačítko rozsvítí a horní dvě řady začnou blikat. To znamená, že jste v režimu úprav.

Režim úprav začíná v prvním kroku vzoru a pokračuje, dokud neopustíte úpravy nebo nedokončíte úpravy 16. kroku (maximálně 16 kroků na vzorek). V každém kroku pomocí tlačítek intenzity kanálu v horních dvou řádcích vyberte požadovanou barvu pro daný krok. Poté krátkým stisknutím tlačítka předvolby vzoru uložte tuto barvu a přejděte k dalšímu kroku. V posledním kroku místo krátkého stisknutí ukončete úpravy dlouhým stisknutím.

Poté, co ukončíte úpravy vzoru, se vzor automaticky přehraje.

A je to! Nyní máte ovladač RGB LED, který bude sekvenovat vzory, které můžete naprogramovat pomocí klávesnice. Zde se můžete zastavit, nebo pokud chcete vytvořit formálnější verzi tohoto projektu, pokračujte dalšími kroky.

Krok 7: Lepší hardware: Štít a kryt ovladače RGB LED

Image
Image
Lepší hardware: štít a skříň ovladače RGB LED
Lepší hardware: štít a skříň ovladače RGB LED
Lepší hardware: štít a skříň ovladače RGB LED
Lepší hardware: štít a skříň ovladače RGB LED

Jakmile jsem měl funkční prototyp, věděl jsem, že nemůžu nechat holé desky Arduino a proto na stole svých dětí jako trvalé řešení. K projektu jsem potřeboval přílohu. Také jsem se rozhodl, že udělám lepší řidičskou desku, a myslel jsem si, že je to ideální příležitost k vytvoření vlastního štítu.

Vyčistil jsem své papírové schéma zadáním do ExpressSCH, bezplatného nástroje nabízeného ExpressPCB, výrobcem desek, který nabízí levné krátké série malých desek pro PC. Na projektech používám ExpressPCB více než deset let, ale v každém případě použijte jakékoli nástroje a výrobce, kterým dáte přednost.

Do základního schématu jsem přidal několik malých funkcí, aby dobře fungoval jako štít pro tento projekt. Přidal jsem propojovací podložky pro připojení Trellis, napájecí konektor, pilotní lampu a konektor pro LED pásek. Přes napájecí zdroj jsem také přidal místo pro kondenzátor. Zde je ukázán konečný okruh.

Rozhodl jsem se, že energie pro projekt by měla pocházet ze štítu. Napájení 12V dodávané do štítu napájí LED pásek i Arduino. Napájení Arduina je zajištěno připojením napájecího vstupu k VIN pinu Arduina, který je obousměrný (na tomto pinu můžete napájet Arduino, nebo pokud připojíte napájení k Arduinu jinde, získáte dodaný napájení na tomto pinu). Ochranná dioda D1 brání jakémukoli napájení připojenému přímo k Arduinu (např. USB) ve snaze napájet LED diody.

Proč nevyužít napájecí konektor Arduina a jednoduše tam připojit 12 V? I když jsem mohl dodávat 12V do napájecího konektoru Arduina a pomocí VIN pinu chytit tuto energii do štítu, obával jsem se, že dioda Arduino D1 a stopy nebudou dosahovat vysokých proudů, které jsou možné při řízení LED proužky. Rozhodl jsem se tedy, že můj štít převezme místo toho příkon a napájení Arduina. Také jsem potřeboval 5V pro Trellis, ale palubní regulace napájení Arduina dodává 5V na několika pinech, takže jsem jeden z nich použil pro Trellis. To mě zachránilo nasadit na štít obvod regulátoru.

Poté jsem rozložil desku plošných spojů. Použil jsem nějaké zdroje, které jsem našel, abych získal přesná měření pro umístění kolíků tak, aby splňovaly záhlaví na Arduino Uno. Trocha pečlivosti a vyrovnalo se to na první pokus. Na samotný obvod štítu toho moc není, takže jsem měl dost místa. Vyložil jsem široké stopy pro zátěže LED, takže pro mé potřeby bude spousta proudové kapacity. Nastavil jsem MOSFETy tam, kde je lze namontovat naplocho, s nebo bez chladičů. Doposud jsem nepotřeboval chladiče pro počet LED, které používám, ale prostor je tam, pokud je to potřeba.

Také jsem přidal otvory, které odpovídaly montážním otvorům na mřížoví, takže jsem mohl použít distanční držáky k upevnění mříže na můj štít. Když je štít zapojen do Arduina a Trellis zavěšen na stojanech nad štítem, vše by mělo být hezké a pevné.

Poté jsem vytiskl rozložení desky a přilepil ji na kus pěnového jádra a vložil své části, abych se ujistil, že vše sedí. Vše v pořádku, objednávku jsem tedy odeslal.

Poté jsem začal pracovat na výběhu. Pomocí Fusion 360 jsem navrhl jednoduchý kryt, který bude obsahovat tři desky (Arduino Uno, štít a Trellis). Otvory v krytu umožňují připojení k USB portu Arduina a samozřejmě přístup k připojení LED pásku a stínění napájecího konektoru. Napájecí konektor Arduino je zakryt krytem, aby bylo zajištěno, že nebude používán. Po několika prototypech pro testovací montáž jsem konečně dostal design, se kterým jsem byl spokojený. Soubory STL pro kryt jsem zaslal do Thingiverse.

V budoucnu udělám verzi desky, do které lze přímo zapojit Nano. Tím by byl projekt ještě kompaktnější. Do té doby můžete také takto použít štítový adaptér Nano to Uno.

Pokud se chystáte udělat štít, budete kromě částí uvedených v kroku 1 potřebovat:

  • Deska RGB LED Driver Shield pro PC (z ExpressPCB nebo jiných; soubory si můžete stáhnout z mého úložiště Github pro projekt);
  • 1N4002 dioda;
  • 100uF 25V radiální elektrolytický kondenzátor (při velkém zatížení LED použijte 220uF nebo 470uF);
  • Napájecí konektor, PJ202-AH (model s hodnocením 5A).

Následující díly jsou volitelné:

  • 3mm LED - jakákoli barva, pro pilotní lampu (lze vynechat)
  • Rezistor 1 500 ohmů - je potřeba pouze při použití pilotní LED diody

Doporučuje: