Obsah:

Programovateľný RGB LED sekvencer (pomocou Arduino a Adafruit Trellis): 7 krokov (s obrázkami)
Programovateľný RGB LED sekvencer (pomocou Arduino a Adafruit Trellis): 7 krokov (s obrázkami)

Video: Programovateľný RGB LED sekvencer (pomocou Arduino a Adafruit Trellis): 7 krokov (s obrázkami)

Video: Programovateľný RGB LED sekvencer (pomocou Arduino a Adafruit Trellis): 7 krokov (s obrázkami)
Video: TX81Z Arduino MIDI-контроллер/редактор 2024, Júl
Anonim
Image
Image
Zapojte dosku vodiča
Zapojte dosku vodiča

Moji synovia chceli, aby ich stolíky rozžiarili farebné LED pásy, a ja som nechcel používať konzervovaný RGB pásový ovládač, pretože som vedel, že ich pevné vzory tieto ovládače nudia. Tiež som si myslel, že by to bola skvelá príležitosť vytvoriť pre nich učebný nástroj, ktorý by mohli použiť na zdokonalenie programovacích a elektronických zručností, ktoré ich učím. Toto je výsledok.

Ukážem vám, ako zostrojiť tento jednoduchý, programovateľný RGB LED pásový ovládač pomocou Arduino Uno (alebo Nano), Adafruit Trellis a niekoľkých ďalších dielov.

Adafruit Trellis je jednou z mojich obľúbených nových hračiek od Lady Ady a posádky. V prvom rade je to iba 9,95 dolára za dosku a ďalších 4,95 dolárov za silikónový elastomerový gombík (ceny od tohto písania). To je pre 16-tlačidlovú maticu 4x4 s možnosťou LED skvelá ponuka. Nie je dodávaný so žiadnymi namontovanými diódami LED, musíte ich dodať, ale to vám dáva flexibilitu pri výbere požadovaných farieb (a znižuje náklady a zložitosť v porovnaní s adresovateľnými diódami LED). Na stavbu tohto projektu, ako je ten môj, budete potrebovať niekoľko 3mm diód LED. Použil som 2 červené, 2 zelené, 2 modré, 4 žlté a 6 bielych.

Trellis používa na komunikáciu I2C, takže na ovládanie 16 tlačidiel a 16 diód LED potrebuje iba dva I/O piny (dáta a hodiny).

Hardvérovú časť tohto projektu môžete vykonať na malej proto doske, takto som urobil svoj prototyp. Rýchlo som si uvedomil, že na ich stoloch potrebujem niečo úhľadnejšie a obsiahlejšie (holé búchanie doskou Arduino a proto by bolo príliš krehké), a tak som si vyrobil vlastný štít na poháňanie LED pásikov. V poslednom kroku sú zahrnuté pokyny a súbory na stavbu štítu.

Ovládač používa tri MOSFETy IRLB8721 a tri odpory. A samozrejme budete na jazdu potrebovať LED pás; Postačí takmer každý obyčajný 12V RGB LED pás. Jedná sa o jednoduché diódy LED, ako napríklad SMD 5050, nie okázalé jednotlivo adresovateľné (žiadne NeoPixels atď.)-to je ďalší projekt! Potrebujete tiež napájací zdroj 12V, ktorý je dostatočne veľký na to, aby poháňal počet diód LED, ktoré zamýšľate použiť.

Aby sme to zhrnuli, tu sú základné hardvérové potreby tohto projektu:

  • Jedno Arduino Uno alebo Nano (tieto pokyny sú pre Uno s nainštalovanými hlavičkami, ale Nano na doske funguje dobre) (Adafruit, Amazon, Mouser);
  • Jedna doska Adafruit Trellis a silikónová podložka na gombíky (Adafruit);
  • Tri IRLB8721 N-kanálové MOSFETy (Adafruit, Amazon, Mouser);
  • Tri 1K odpory (Amazon, Mouser);
  • Tri 220 ohmové odpory (Amazon, Mouser)
  • Jedna malá proto doska (moja prvá mala veľkosť 1/4-vyberte si akúkoľvek veľkosť, s ktorou môžete pohodlne pracovať) (Adafruit, Amazon);
  • 12V RGB LED pás (SMD 5050) (Adafruit, Amazon);
  • Napájanie 12 V - zvoľte výkon primeraný počtu LED diód, ktoré plánujete riadiť.

Vyhlásenie o odmietnutí záruky: vyššie uvedené odkazy slúžia na vaše pohodlie a nie sú odporúčaním žiadneho produktu alebo predajcu; ani nemám zisk z akýchkoľvek nákupov uskutočnených prostredníctvom týchto odkazov. Ak máte predajcov, ktorých máte radšej, v každom prípade ich podporte!

Začnime…

Krok 1: Zapojte dosku vodiča

Zapojte dosku vodiča
Zapojte dosku vodiča

Tu je obvod ovládača LED. Je to veľmi jednoduché. Na každý kanál na páse LED používa N-kanálový MOSFET IRBLxxx. LED pásik je spoločná anóda, čo znamená, že na LED pásik je odoslané +12V a červené, zelené a modré LED kanály sú ovládané zaistením uzemnenia v príslušnom spojení s pásikom. Pripojíme teda odtok MOSFETov k farebným kanálom LED a zdroju k zemi. Brány budú pripojené k digitálnym výstupom Arduino a odpory poskytujú rozťahovacie zariadenie, ktoré zaisťuje úplné zapnutie alebo vypnutie každého MOSFETu podľa potreby.

Arduino ponúka na niektorých svojich digitálnych výstupoch moduláciu šírky impulzu, takže tieto výstupy (konkrétne D9, D10, D11) použijeme tak, aby bolo možné ovládať intenzitu každého farebného kanála.

Ak ste zmätení z toho, čo kam na MOSFET IRLB8721 pripojiť, držte jeden v ruke prednou stranou k sebe, ako je to znázornené na fotografii vyššie. Kolík vľavo (kolík 1) je brána a bude sa pripojiť k digitálnemu výstupnému kolíku Arduino a odporu (druhý koniec odporu by sa mal pripojiť k zemi). Kolík v strede (kolík 2) je odtokom a pripája sa k farebnému kanálu pásika LED. Kolík vpravo (kolík 3) je zdrojom a je spojený so zemou. Uistite sa, že sledujete, ktorý tranzistor sa pripája k akému farebnému kanálu LED.

Nebudem zachádzať do podrobností, ako spájkovať proto dosky. Úprimne povedané, neznášam to a nie som v tom dobrý. Ale v dobrom aj zlom, funguje to a je to rýchly a špinavý spôsob, ako získať solídny prototyp alebo jednorazový kus. Tu je zobrazená moja prvá tabuľa.

Môžete to tiež nakrútiť. Bolo by to určite rýchlejšie ako spájkovanie všetkého na proto doske, ale menej trvalé.

Keď máte zapojený ovládač, pripojte vstupy brány MOSFET k digitálnym výstupným kolíkom Arduino: D9 pre zelený kanál, D10 pre červený kanál a D11 pre modrý kanál. Pripojte pásik LED aj k doske proto.

Tiež sa uistite, že vaša doska ovládača má oddelené pripojenie od zeme k jednému z uzemňovacích kolíkov Arduina.

Nakoniec, pre napájanie LED, pripojte záporný (uzemňovací) vodič napájania 12 V k uzemneniu na doske vodiča. Potom pripojte kladný vodič napájania 12 V k anódovému vodiču vášho pásu LED (toto je čierny vodič na mojich kábloch zobrazený na obrázku).

Nakoniec som skončil s návrhom štítu dosky PC, ktorý sa montuje na Uno, a má tiež montážnu podporu pre Trellis. To poskytlo oveľa viac hotového konečného produktu. Ak to chcete urobiť, môžete preskočiť používanie dosky proto, ako je tu popísané, a nechajte si vyrobiť štítovú dosku. To všetko je popísané v poslednom kroku.

Krok 2: Vložte diódy LED na mreže

Umiestnite LED diódy na mreže
Umiestnite LED diódy na mreže

Doska Trellis má prázdne podložky pre 3 mm diódy LED, ktoré budeme musieť vyplniť. Pozorne si všimnite symboly na podložkách-vedľa podložky je veľmi jemné „+“na označenie anódovej strany. Ak držíte dosku tak, aby bol text pravou stranou nahor, v hornej a spodnej časti dosky je tiež notový zápis, ktorý upozorňuje, že anódy LED sú vľavo.

Pripájajte svoje 3 mm LED diódy k doske. Ak sa pozriete na prednú stranu dosky, napíšete text pravou stranou nahor, poloha ľavého horného prepínača/diódy LED je #1, vpravo hore #4, vľavo dole #13 a vpravo dole #16. Tu sú farby, ktoré som použil v každej pozícii (a existuje dôvod, preto vám radím, aby ste sa riadili mojím vzorom aspoň pre dva horné riadky):

1 - červená2 - zelená3 - modrá4 - biela5 - červená6 - zelená7 - modrá8 - biela9 - biela10 - biela11 - žltá12 - žltá13 - biela14 - biela15 - žltá16 - žltá

Atribúcia CC: Vyššie uvedený obrázok Trellis je od spoločnosti Adafruit a používa sa pod licenciou Creative Commons - Attribution/ShareAlike.

Krok 3: Pripojte mreže k Arduinu

Pripojte Trellis k Arduinu
Pripojte Trellis k Arduinu

Trellis má päť elektroinštalácií, ale v tomto projekte sú použité iba štyri. Trellis potrebuje na komunikáciu s Arduino (pomocou I2C) SDA a SCL a na napájanie 5 V a GND. Posledná podložka, INT, sa nepoužíva. Podložky Trellis sa objavujú na všetkých štyroch okrajoch dosky. Môžete použiť akúkoľvek sadu podložiek, ktorú si prajete.

Spájajte pevný prepojovací vodič na 5V, GND, SDA a SCL podložky. Potom pripojte 5V vodič k 5V kolíku na Arduine, GND k uzemňovaciemu kolíku, vodič SDA k A4 a SCL vodič k A5.

Ďalej zapneme Arduino a nahrajeme naň náčrt. Teraz je vhodný čas položiť silikónovú podložku na gombíky na dosku Trellis. Jednoducho sedí na doske (všimnite si „výčnelky“na spodnej časti podložky, ktoré zapadajú do otvorov na doske), takže možno budete chcieť použiť pár kúskov pásky na prichytenie okrajov podložky k doske. teraz.

Atribúcia CC: Vyššie uvedený obrázok zapojenia Trellis je orezanou verziou tohto obrázku od spoločnosti Adafruit a používa sa pod licenciou Creative Commons - Attribution/ShareAlike.

Krok 4: Stiahnite si náčrt projektu a nahrajte ho do Arduina

Skicu si môžete stiahnuť z môjho repo centra Github pre tento projekt.

Akonáhle ho máte, otvorte ho v Arduino IDE, pripojte Arduino pomocou USB kábla a nahrajte skicu do Arduina.

Ak je náčrt nahraný a Trellis je správne pripojený, akékoľvek tlačidlo na Trellise by malo po stlačení trikrát rýchlo zablikať. Toto je znak toho, že ste stlačili neplatné tlačidlo, pretože systém sa nachádza v stave „vypnuté“, takže jediné platné stlačenie klávesu je to, ktoré je potrebné na jeho zapnutie.

Systém zapnete stlačením a podržaním ľavého dolného tlačidla (#13) najmenej jednu sekundu. Keď uvoľníte tlačidlo, všetky LED diódy by sa mali krátko rozsvietiť a potom spodné dva riadky zhasnú, okrem #13 (vľavo dole). Systém je teraz v zapnutom a nečinnom stave.

Ako prvý test môžete skúsiť použiť dva horné rady na zosvetlenie a stlmenie kanálov LED. Ak to funguje, môžete prejsť na ďalší krok. Ak nie, skontrolujte:

  1. Napájanie LED je pripojené a zapnuté;
  2. MOSFETy na doske vodiča sú správne zapojené. Ak používate rovnaké IRLB8721, aké som použil, skontrolujte:

    • Signálové vstupy na doske vodiča (brány MOSFET, IRLB8721 pin 1) sú pripojené k Arduinu D9 = zelená, D10 = červená, D11 = modrá (pozri poznámku nižšie);
    • LED pásik je pripojený k doske vodiča a farebné kanály LED sú pripojené k vývodom MOSFET (IRLB8721 pin 2);
    • Zdrojové kolíky MOSFET (IRLB8721 pin 3) sú pripojené k zemi na doske vodiča;
  3. Uzemnenie medzi doskou vodiča a uzemňovacím kolíkom Arduino.

V ďalšom kroku sa pohráme s niektorými funkciami používateľského rozhrania tlačidiel.

POZNÁMKA: Ak váš ovládač funguje, ale tlačidlá intenzity neovládajú správne farby, nebojte sa a neprepájajte! Stačí ísť do náčrtu v Arduino IDE a upraviť ČERVENÉ, ZELENÉ a MODRÉ definície pinov v hornej časti súboru.

Krok 5: Základné funkcie ovládania

Základné funkcie ovládania
Základné funkcie ovládania

Teraz, keď je systém zapnutý, môžeme sa hrať s niektorými tlačidlami a prinútiť ho robiť veci.

Ako som povedal v predchádzajúcom kroku, po zapnutí sa systém dostane do „nečinného“stavu. V tomto stave môžete pomocou tlačidiel v horných dvoch radoch zvýšiť a znížiť intenzitu farieb každého z červených, zelených a modrých kanálov LED. Ak použijete biele tlačidlá zvýšenia/zníženia, systém zvýši alebo zníži intenzitu všetkých troch kanálov rovnako a na rovnakých úrovniach.

Spodné dva rady slúžia na prehrávanie prednastavených vzorov. Tieto vzory sú uložené v EEPROM Arduina. Keď sa skica spustí prvýkrát, zistí, že EEPROM nemá uložené žiadne vzory a ukladá sadu predvolených vzorov. Potom môžete tieto vzory zmeniť a vaše zmeny sa uložia do pamäte EEPROM Arduina, čím sa nahradí predvolený vzor. To zaisťuje, že vaše vzory prežijú odpojenie napájania. V nasledujúcom kroku je popísaná funkcia úprav.

Nateraz krátko stlačte ktorékoľvek z prednastavených tlačidiel (osem tlačidiel v dolných dvoch radoch), aby ste spustili vzor uložený pre dané tlačidlo. Keď vzor beží, tlačidlo bliká. Ak chcete vzor zastaviť, znova krátko stlačte tlačidlo vzorovania. Keď je vzor spustený, pomocou bielych tlačidiel hore/dole v horných radoch môžete zmeniť vzorovaciu frekvenciu.

Ak necháte projekt na niekoľko sekúnd bez stlačenia akýchkoľvek tlačidiel, všimnete si, že diódy LED zhasnú. Je to tak z dôvodu úspory energie, ako aj aby sa predišlo tomu, aby Trellis príliš osvetľoval akúkoľvek „náladu“, ktorú sa pokúšajú vytvoriť diódy LED. Dotknutím sa tlačidla na mreži sa prebudí.

Systém vypnete stlačením a podržaním ľavého dolného tlačidla (#13) na jednu alebo viac sekúnd a uvoľnením. Trellis a LED pás zhasnú.

Krok 6: Úprava vzorov na klávesnici

Úprava vzorov na klávesnici
Úprava vzorov na klávesnici

Ako som povedal v predchádzajúcom kroku, skica pri prvom spustení uloží osem predvolených vzorov do pamäte EEPROM. 7 z týchto vzorov môžete zmeniť na niečo iné, ak si želáte použiť režim úpravy vzorov na klávesnici.

Ak chcete vstúpiť do režimu úpravy vzoru, najskôr sa rozhodnite, pre ktoré tlačidlo chcete vzor upraviť. Môžete si vybrať akékoľvek iné tlačidlo ako ľavé spodné tlačidlo. Do režimu úprav vzorov vstúpte dlhým stlačením (na viac ako jednu sekundu) tlačidla, ktoré ste vybrali. Po uvoľnení sa tlačidlo rozsvieti a horné dva rady začnú blikať. To znamená, že sa nachádzate v režime úprav.

Režim úprav sa začína v prvom kroku vzoru a pokračuje, kým neukončíte úpravy alebo nedokončíte úpravy v 16. kroku (maximálne 16 krokov na vzor). V každom kroku pomocou tlačidiel intenzity kanála v horných dvoch riadkoch vyberte požadovanú farbu pre daný krok. Potom krátko stlačte tlačidlo predvoľby vzoru, aby sa farba uložila, a prejdite na ďalší krok. V poslednom kroku namiesto krátkeho stlačenia ukončíte úpravy iba dlhým stlačením.

Keď ukončíte úpravy vzoru, vzor sa automaticky prehrá.

To je všetko! Teraz máte ovládač RGB LED, ktorý bude sekvenovať vzory, ktoré môžete programovať pomocou klávesnice. Môžete sa tu zastaviť, alebo ak chcete vytvoriť formálnejšiu verziu tohto projektu, pokračujte všetkými ostatnými krokmi.

Krok 7: Lepší hardvér: štít a kryt ovládača RGB LED

Image
Image
Lepší hardvér: štít a kryt ovládača RGB LED
Lepší hardvér: štít a kryt ovládača RGB LED
Lepší hardvér: štít a kryt ovládača RGB LED
Lepší hardvér: štít a kryt ovládača RGB LED

Keď som mal funkčný prototyp, vedel som, že ako trvalé riešenie nemôžem nechať na stole svojich detí holú dosku Arduino a proto. K projektu som potreboval kryt. Tiež som sa rozhodol, že urobím lepšiu dosku pre vodiča, a myslel som si, že je to ideálna príležitosť na výrobu vlastného štítu.

Vyčistil som svoju papierovú schému zadaním do ExpressSCH, bezplatného nástroja, ktorý ponúka ExpressPCB, výrobca dosiek, ktorý ponúka lacné krátke série malých PC dosiek. Na projektoch používam ExpressPCB viac ako desať rokov, ale všetkými prostriedkami používajte akékoľvek nástroje a výrobcov, ktorým dávate prednosť.

Do základnej schémy som pridal niekoľko malých funkcií, aby dobre slúžil ako štít pre tento projekt. Pridal som káblové podložky na pripojenie Trellisu, napájací konektor, kontrolku a konektor pre pásik LED. Cez napájací zdroj som tiež pridal miesto pre kondenzátor. Tu je zobrazený konečný okruh.

Rozhodol som sa, že energia pre projekt by mala pochádzať zo štítu. 12V napájané do štítu napája LED pásik aj Arduino. Napájanie Arduino je zabezpečené pripojením napájacieho vstupu na pin VIN Arduina, ktorý je obojsmerný (na tomto pine môžete napájať Arduino, alebo ak pripojíte napájanie k Arduinu inde, poskytne vám dodaný napájanie na tomto kolíku). Ochranná dióda D1 zabraňuje akémukoľvek napájaniu pripojenému priamo k Arduinu (napr. USB) pokúšať sa napájať LED diódy.

Prečo nevyužiť napájací konektor Arduina a jednoducho tam pripojiť 12 V? Aj keď som mohol dodať 12V do napájacieho konektora Arduina a použiť pin VIN na zachytenie tejto energie pre štít, mal som obavy, že dióda Arduino a jeho diódy D1 nebudú zodpovedať vysokým prúdom, ktoré je možné pri napájaní LED diódy. prúžky. Rozhodol som sa teda, že môj štít namiesto toho prevezme príkon a napája Arduino. Tiež som potreboval 5V pre Trellis, ale palubná regulácia výkonu Arduina dodáva 5V na niekoľko pinov, takže som jeden z nich použil na Trellis. To ma zachránilo nasadiť na štít ochranný obvod regulátora.

Potom som rozložil DPS. Použil som niekoľko zdrojov, ktoré som našiel, aby som získal presné merania umiestnenia pinov, aby zodpovedali hlavičkám na Arduino Uno. Trocha usilovnosti a vyrovnalo sa to na prvý pokus. Samotnému obvodu štítu nie je veľa, takže som mal dostatok miesta. Vyložil som široké stopy pre záťaže LED, takže pre moje potreby bude dostatok prúdovej kapacity. Nastavil som MOSFETy tam, kde ich bolo možné namontovať naplocho, s chladičmi alebo bez nich. Doteraz som pri počte LED diód, ktoré používam, nepotreboval chladiče, ale priestor tam v prípade potreby je.

Tiež som pridal otvory, ktoré zodpovedali montážnym otvorom na Trellis, aby som mohol pomocou stojok pripevniť Trellis na svoj štít. Keď je štít zapojený do Arduina a Trellis zavesený na stojanoch nad štítom, všetko by malo byť pekné a pevné.

Potom som vytlačil rozloženie dosky a prilepil ju na kus penového jadra a vložil svoje diely, aby som sa ubezpečil, že všetko sedí. Všetko v poriadku, preto som objednávku odoslal.

Potom som začal pracovať na kryte. Pomocou Fusion 360 som navrhol jednoduchý kryt, ktorý bude obsahovať tri dosky (Arduino Uno, štít a Trellis). Otvory v kryte umožňujú pripojenie k USB portu Arduina a samozrejme prístup k konektoru LED a konektoru napájania štítu. Napájací konektor Arduino je zakrytý krytom, aby sa zabezpečilo, že sa nepoužíva. Po niekoľkých prototypoch na testovanie som konečne mal dizajn, s ktorým som bol spokojný. Súbory STL pre prílohu som odoslal do Thingiverse.

V budúcnosti urobím verziu dosky, ku ktorej je možné priamo pripojiť Nano. Vďaka tomu bude projekt ešte kompaktnejší. Do tej doby môžete tiež používať štítový adaptér Nano to Uno takto.

Ak sa chystáte urobiť štít, okrem častí uvedených v kroku 1 budete potrebovať aj toto:

  • Doska RGB LED Driver Shield pre PC (z ExpressPCB alebo iných; súbory si môžete stiahnuť z môjho repo projektu Github pre projekt);
  • 1N4002 dióda;
  • 100uF 25V radiálny elektrolytický kondenzátor (pri veľkom zaťažení LED použite 220uF alebo 470uF);
  • Napájací konektor, PJ202-AH (model s hodnotením 5A).

Nasledujúce diely sú voliteľné:

  • 3 mm LED - ľubovoľná farba, pre kontrolku (môže byť vynechané)
  • Rezistor 1 500 ohmov - potrebný iba vtedy, ak používate LED kontrolku

Odporúča: