Obsah:

RGB LED kocka s aplikáciou Bluetooth + animáciou Tvorca: 14 krokov (s obrázkami)
RGB LED kocka s aplikáciou Bluetooth + animáciou Tvorca: 14 krokov (s obrázkami)

Video: RGB LED kocka s aplikáciou Bluetooth + animáciou Tvorca: 14 krokov (s obrázkami)

Video: RGB LED kocka s aplikáciou Bluetooth + animáciou Tvorca: 14 krokov (s obrázkami)
Video: How to make a RGB LED Controller | RGB LED Circuit | Electronic projects #jlcpcb 2024, November
Anonim
RGB LED kocka s aplikáciou Bluetooth + AnimationCreator
RGB LED kocka s aplikáciou Bluetooth + AnimationCreator

Toto je návod, ako vytvoriť kocku 6 x 6 x 6 RGB LED (spoločné anódy) ovládanú aplikáciou Bluetooth pomocou Arduino Nano. Celú zostavu je možné ľahko prispôsobiť napríklad kocke 4x4x4 alebo 8x8x8. Tento projekt je inšpirovaný spoločnosťou GreatScott. Rozhodol som sa ísť na sofistikovanejšiu zostavu s použitím väčších LED diód (8 mm), s menšou vzdialenosťou + pridaním komunikácie Bluetooth, vďaka ktorej je pridávanie nových funkcií oveľa jednoduchšie a tiež pridáva možnosť zostavenia aplikácie na ovládanie kocky. To mi tiež umožňuje napr. kódujte hru Had (tretie ukážkové video na konci). Okrem toho som pridal režim Audio Visualizer, ktorý umožňuje kocke vizualizovať vstup AUX, napr. Hudba pomocou MSGEQ7 (ukážkové video na konci). Okrem toho som napísal aplikáciu AnimationCreator v Jave s ľahko použiteľným používateľským rozhraním na vytváranie a vylepšovanie animácií, aby ktokoľvek mohol veľmi rýchlo vytvárať vlastné animácie. Aplikácia Sketch + Bluetooth teda poskytuje rámec pre akúkoľvek konfiguráciu LED Cube a s programom Animation Creator si nemusíte robiť starosti s implementáciou vlastných animácií.

Odkazy na aplikáciu Arduino Sketch a Bluetooth:

Skica RGBCube_Arduino (Github)+Animation Creator.jar

Aplikácia Cubo Bluetooth (Github)

Zoznam dielov pre kocku:

  • 216x RGB LED (spoločná anóda) (8 mm) (AliExpress / Ebay)-> 6x6x6 = 216
  • Plochý kábel (1 m, 40 pinov by malo stačiť) (AliExpress / Ebay / Amazon)
  • Ženské a mužské hlavičky (najmenej 4x40 pinov každý) (AliExpress / Ebay / Amazon)
  • Pocínovaný medený / strieborný drôt 0,8 mm (~ 25 metrov) (AliExpress / Ebay / Amazon)
  • Zmršťovacia trubica (AliExpress / Ebay / Amazon)

Zoznam dielov pre riadiace dosky:

  • 7 x Ovládač LED TLC5940 (Ebay / AliExpress)
  • 6 x MOSFET P-Channel IRF 9540 (Amazon / Ebay / AliExpress)
  • 8 x 10 uF kondenzátorov (Amazon / Ebay / AliExpress)
  • 3 x 1 000 uF kondenzátory (Amazon / Ebay / AliExpress)
  • 14 x 2,2 kOhm rezistory (Amazon / Ebay / AliExpress)
  • 1 x 1 kOhm odpor (Amazon / Ebay / AliExpress)
  • 7 x 28pinové IC zásuvky (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x dióda 1N4001 (ľubovoľná bežná dióda) (Amazon / Ebay / AliExpress)
  • 8 x 0,1uF kondenzátory (Ebay)
  • 1 x držiak na PCB DC Jack (Amazon / Ebay / AliExpress)
  • 1 x modul Bluetooth HC-05 (Amazon / Ebay / AliExpress)

Krok 1: Teória

Teória
Teória

Ak vás nezaujíma teória o multiplexovaní, skočte na krok 2 pre začiatok skutočného zostavenia

Pretože hardvér a softvér sú rovnako veľkými časťami tohto projektu, pozrime sa najskôr na teóriu.

Mozog kocky je Arduino Nano. Poskytuje dostatok I/O na interakciu s použitými ovládačmi LED a tiež na vytvorenie pripojenia Bluetooth k modulu HC-05 a ďalšiemu hardvéru ovládania. Ak ste sa pozreli na ďalšie zostavy LED Cube, budete vedieť, že väčšina ľudí používa jednoduché posuvné registre na ukladanie hodnôt jasu farieb jednotlivých LED diód. Táto zostava nepoužíva posuvné registre, ale takzvané ovládače LED „TLC5940“. Ako uvidíme neskôr, ušetrí nám to veľa času a mnoho ďalšieho hardvéru (napríklad rezistorov).

Základná funkčnosť ovládania kocky využíva multiplexovanie. V tomto prípade multiplexujeme 6 vrstiev kocky, čo znamená, že všetky anódy (+) všetkých LED vo vrstve sú spojené, zatiaľ čo jednotlivé katódy všetkých LED v rovnakom stĺpci sú spojené smerom dole. To znamená, že ak chcete rozsvietiť LED v polohe x = 1, y = 2, z = 3, farba: zelená, musíte na anóde vrstvy 3 poskytnúť 5 V a pripojiť GND na katódu stĺpca zodpovedajúcu Zelený kolík x = 1, y = 2. V skutočnosti je teda v jednom okamihu skutočne zapnutá iba jedna vrstva kocky, ale ako neskôr uvidíte v kóde, vypíname a zapíname jednotlivé vrstvy tak rýchlo, že si naše oko myslí, že je zapnutá celá kocka..

Na ovládanie vecí, ako je jas, animácie a podobne, používame modul Bluetooth HC-05 pripojený k Arduino Nano. Používanie modulu s Arduino je veľmi jednoduché, pretože potrebujete iba 4-pinové pripojenie a modul môžete jednoducho prepojiť pomocou predvolenej sériovej komunikácie Arduino. Ku koncu tohto pokynu uvidíte, aké ľahké je napísať vlastnú aplikáciu Bluetooth na ovládanie kocky.

POZNÁMKA

V mojej schéme dosky Arduino Circuit môžete tiež vidieť malú schému na prepojenie zvukového vstupu s čipovým procesom MSGEQ7, ktorý pre skutočnú kocku nie je vôbec potrebný a je to len doplnková funkcia, ktorú som pridal, a preto môžete schematickú značku jednoducho ignorovať. s "MSGEQ7"

Krok 2: Hardvér: LED Cube Build

Hardware: LED Cube Build
Hardware: LED Cube Build
Hardware: LED Cube Build
Hardware: LED Cube Build
Hardware: LED Cube Build
Hardware: LED Cube Build

Pozrime sa teda na to, ako postaviť samotnú kocku, predtým, ako budeme hovoriť o ovládacom obvode okolo Arduino Nano.

Zoznam dielov pre stavbu kocky:

  • 216x RGB LED (spoločná anóda) (AliExpress / Ebay)-> 6x6x6 = 216
  • Plochý kábel (1 m, 40 pinov by malo stačiť) (AliExpress / Ebay / Amazon)
  • Ženské a mužské hlavičky (najmenej 4x40pin) (AliExpress / Ebay / Amazon)
  • Pocínovaný medený / strieborný drôt 0,8 mm (~ 25 metrov) (AliExpress / Ebay / Amazon)
  • Zmršťovacia trubica (AliExpress / Ebay / Amazon)

Prvá vec, ktorú musíme urobiť, a teraz je to únavné, ale nevyhnutné, musíme otestovať LED diódy. Za týmto účelom jednoducho pripojíme napájací zdroj, napr. 9V batériový blok s klipom, k nástennému panelu. Ako vidíte na obrázku 3, najdlhší pin LED je anóda (+), takže tento pin zapojíte do +9V batérie. Teraz pred pripojením GND k jednotlivým farbám katódy (červená, zelená, modrá) pridajte na každú katódu odpor 220 Ohm, aby ste obmedzili prúd. Teraz sa bavte s testovaním všetkých farieb všetkých 216 diód LED.

V ďalšom kroku pripravíme testované LED diódy, aby sme ich neskôr mohli ľahko zostaviť do stĺpcov.

Krok 3: Riadky LED

LED riadky
LED riadky
LED riadky
LED riadky
LED riadky
LED riadky

Predtým, ako môžeme spájkovať LED diódy do príslušných radov, musíme ohnúť a prerezať vodiče.

Ako vidíte na prvom obrázku, do dreva som jednoducho vyvŕtal 8 mm otvor (pre 8 mm diódy LED) a navŕtal som 3 veľmi malé vrtáky vľavo od otvoru pre diódy LED a ďalšie napravo od otvoru. Tieto vŕtačky sú značky na správne ohýbanie elektród a mali by mať vzdialenosť približne 1 cm od stredu otvoru pre LED diódu.

Táto technika je inšpirovaná Stevom Manleym, video, ako to robí, nájdete v miernej variácii na YouTube.

Pred odrezaním a ohnutím elektród okolo vrtákov, ako je vidieť na obrázku 2 a 3, sa uistite, že orientácia elektród zodpovedá obrázku 1 (modrá hore vľavo, potom zelená, potom anóda + vpravo a opäť červená vľavo). Kruh, ktorý ste ohýbali do elektród, by mal mať dostatočne veľký priemer, aby sa do neho zmestil pocínovaný medený drôt (0,8 mm). Tento krok uľahčuje krásne spájkovať LED diódy na mieste.

Teraz, keď sú všetky LED diódy pripravené, ich chceme zostaviť do 6 radov, kde sú pripojené anódy (+):

  1. Postavte malý prípravok, ako je vidieť na obrázku 6, vyvŕtajte 6 otvorov (priemer 0,8 mm) so vzdialenosťou 2,5 cm od ďalšieho otvoru. To nám umožňuje zmestiť do prípravku naraz 6 LED diód
  2. Na pripojenie anód potrebujeme rovný pocínovaný medený drôt s dĺžkou ~ 16 cm (s určitým okrajom). Aby bol drôt pekný a rovný, môžete jeden koniec drôtu namontovať napr. Do elektrickej vŕtačky, zaistiť naraz asi 2 metre drôtov na stole a potom vŕtačku držať tak, aby bol drôt napnutý a napnutý a aby ste mohli vŕtačku napájať. na niekoľko sekúnd s veľmi rýchlym narovnaním drôtu. Potom môžete prerezať drôt priamo na mieste, kde ste kus zaistili. Môžete tiež použiť dve kliešte a utiahnuť menšie kúsky drôtu naraz, ale to je oveľa únavnejšie
  3. Keď máte drôty dlhé 16 cm, nasmerujte ich cez anódové (+) otvory diód LED v prípravku a spájajte anódové kolíky s drôtom (obrázok 7)

Na celú kocku budeme potrebovať 6x6 = 36 týchto LED radov

Krok 4: Zostavenie vrstvy

Zostava vrstiev
Zostava vrstiev
Zostava vrstvy
Zostava vrstvy
Zostava vrstiev
Zostava vrstiev

Ako som už spomenul, vrstvy kocky budeme multiplexovať, ale pre montáž je jednoduchšie postaviť 6 stien z 6 x 6 diód LED a potom ich zostaviť vedľa seba a jednoducho spustiť jeden pocínovaný medený drôt spájajúci anódy riadky vo vrstve spolu.

Dávajte si pozor, že tento krok vyžaduje veľa času a trpezlivosti, aby ste to urobili správne, celkovo budete na stavbu musieť spájkovať asi 1 000 spájkovacích spojov, takže si dajte na čas!

Ako postaviť LED stenu:

  1. Na prípravok: Na stavbu steny potrebujeme kúsok dreva so 6 vyrezávanými čiarami, aby sa zmestil 6 radov nad sebou. Samotný prípravok môžete vidieť na obrázku 2 (vzdialenosti medzi riadkami: 2,5 cm)
  2. Vložíte 6 radov diód LED do rezbárskych prác, pričom anódový drôt smeruje nadol do vyrezávanej čiary tak, aby 3 katódy (R, G, B) smerovali nahor
  3. Na pripojenie katód umiestnených nad sebou (pozri obrázok 2) potrebujeme ešte jeden drôt (teda opäť 6 stĺpcov x 3 katódy x 6 stien = 108 pocínovaných drôtov, ako je popísané v poslednom kroku (2.) (rovnako dlhé))
  4. Zasuňte kúsky drôtu zo spodnej časti stĺpika cez otvory na katódach do horného radu a spájkujte drôt na mieste pri každej LED dióde

Urobíte to 6 -krát, aby ste získali 6 stien LED diód.

Teraz môžeme steny skutočne zostaviť do samotnej skutočnej kocky. Ale aby kocka vydržala, musíme postaviť akúsi pozemnú rovinu. Na to som jednoducho použil tenkú preglejku a vyvŕtal do nej malé otvory 0,8 mm, aby sa zmestili drôty visiace z najnižších radov LED (pre všetkých 6 stien LED). Merania otvorov jednej diódy LED sú zdokumentované v kroku 3 a vzdialenosti medzi každou diódou LED sú 2,5 cm.

Keď sú otvory na mieste, vezmeme prvú stenu a vmanévrujeme ju do otvorov naľavo od preglejky. Riadok LED v spodnej časti by mal sedieť priamo na dreve, aby boli všetky steny nakoniec zarovnané rovnako.

Pokračujte v tom istom postupe so zvyškom LED stien, ale pamätajte, že anódy stien sú vždy otočené rovnakým smerom. (na obrázku 3 sú všetky anódy múrov obrátené doľava)

Akonáhle je celá kocka na svojom mieste, musíme spájkovať anódy každej vrstvy dohromady. Za týmto účelom vezmeme ďalší ~ 16 cm kus rovného drôtu a položíme ho na prvú vrstvu tak, aby sa drôt dotkol všetkých anódových drôtov 6 stien v jednej vrstve. Dávajte si pozor, aby sa nový drôt nedotkol žiadnej z katód. Spájkujte drôt na mieste a to isté zopakujte pre 5 zvyšných vrstiev.

Krok 5: Zapojenie kocky

LED doska vodiča
LED doska vodiča
LED doska vodiča
LED doska vodiča
LED doska vodiča
LED doska vodiča

Súčasti dosky vodiča LED:

  • 7 x TLC5940
  • Kondenzátory 6/7 x 10 uF
  • 2 x 1000 uF kondenzátory
  • Rezistory 7 x 2,2 kOhm
  • 7 x 28pin IC zásuvky
  • 7 x 0,1uF kondenzátory
  • Stužkový kábel

Prejdeme k riadiacim obvodom a najskôr sa pozrieme na dosku ovládača LED. Ako už bolo spomenuté, potrebujeme 7 TLC5940 pripojených k Arduino Nano. Všetky čipy TLC5940 sú zapojené do reťazca, čo znamená, že všetky riadiace piny ovládačov sú prepojené (napr. Pin BLANK prvého TLC je pripojený k BLANK druhého, tretieho, štvrtého, … TLC) a všetky sú prepojené s Arduinowith rovnaké vodiče, okrem sériového vstupu, ktorý je najskôr pripojený z digitálneho kolíka Arduino k prvému TLC, potom je pin sériového výstupu tohto prvého TLC pripojený k kolíku SIN druhého TLC a tak ďalej (pozri obrázok 4) …

Schéma rady TLC je teda celkom jednoduchá, ako môžete vidieť na priloženej schéme.

(AK CHCETE PRIPOJIŤ SKOČKU NA RADE KROKU 8)

Tiež som pripojil snímku obrazovky schémy vo frizz, ktorá obsahuje štítky pinov a tiež súbory GIMP.xcf s vrstvami pre každé oddelené pripojenie Control Pin.

Začnite spájkovaním všetkých zásuviek IC na svoje miesto, potom pridajte kondenzátory 100nF do každého TLC, potom rezistory 2,2 kOhm IREFand GND a 7pinový záhlavie v pravom hornom rohu. Potom môžete jednoducho sledovať súbor.xcf počnúc „vrstvou SIN“v súbore Gimp, ktorá ukazuje, ako prepojiť piny sériového vstupu/výstupu ovládačov pomocou páskových káblov, potom povoliť vrstvu CLK v GIMPe a podobne. Uistite sa, že máte dobré prepojenie pinov + a - k záhlaviu špendlíka vpravo hore. Zvyšok schémy by mal byť samovysvetľujúci, ale uistite sa, že na dosku pridáte dostatok kondenzátorov 1000uF a 10uF, nie je také dôležité, kde presne umiestnite ich.

Keď je táto doska hotová, môžete v nasledujúcom kroku prejsť na dosku Arduino.

Krok 7: Riadiaca doska Arduino + Bluetooth

Riadiaca doska Bluetooth Arduino +
Riadiaca doska Bluetooth Arduino +

Časti pre riadiacu dosku:

  • 6 x MOSFETy P-kanála IRF 9540 P
  • 1 x 10 uF kondenzátory
  • 1 x 1000 uF kondenzátory
  • Rezistory 7 x 2,2 kOhm
  • Rezistor 1 x 1 kOhm
  • 2 x 14 zásuvkový kolíkový konektor
  • 1 x Arduino Nano
  • 1 x 1N4001 dióda
  • 1 x 0,1uF kondenzátory
  • 1 x Držiak na DPS Jack
  • 1 x modul Bluetooth HC-05
  • 1 x 3,5 mm audio konektor

Riadiaca doska Arduino sa stará hlavne o multiplexovanie a poskytuje tiež náprotivok záhlavia pinov dosky LED Driver.

Spájkovanie na doske:

  1. V strede dosky umiestnite dve ženské kolíkové hlavičky, ktoré budú fungovať ako zásuvka pre Arduino.
  2. Dajte 6 MOSFETov do radu vedľa seba na pravú stranu Arduina (strana s analógovými pinmi) a medzi prvý a posledný pin zapojte odpor 2,2 kOhm.
  3. Teraz umiestnite 6 -pinovú hlavičku pred MOSFETy (stred radu) a pripojte 6 DRAIN pinov FET -ov (stredný pin) k hlavičke a GATE piny (ľavý pin) FET -ov k príslušným analógovým pinom Arduino.
  4. Ďalej spájkujte 7pinovú hlavičku pre pripojenie LEDDriver na druhej strane Arduina, nechajte trochu miesta na káble a všetky spoje z Arduina spájkujte s pinovou hlavičkou.
  5. Pridajte niekoľko kondenzátorov (1-2 000 uF, 1 10 uF, 100 nF vedľa Arduina) pre možné odvody prúdu.
  6. Spájkujte 4-pinovú hlavičku vedľa zadnej strany modulu Arduino pre modul HC-05 a vykonajte 4 pripojenia k VCC, RX, TX, GND a nezabudnite vytvoriť oddeľovač napätia z kolíka RX na modeli HC-05 a pin TX Arduina (pozri tu)
  7. Umiestnite konektor DC na ľubovoľný okraj dosky pomocou prepínača vedľa a pripojte pravý kolík spínača k kolíku + konektora DC
  8. Nakoniec urobte všetky potrebné napájacie pripojenia z kolíka GND DC konektora a pravého kolíka spínača (VCC) k Arduinu, MOSFETom, kondenzátorom a HC-05, ako je znázornené na schéme. Nezabudnite pridať diódu, ktorá napája iba pin VCC prepínača tak, aby prúdil do kolíka Arduinos 5V, nie naopak. (Toto chráni Arduino pri jeho programovaní prostredníctvom pripojenia USB)

Na pripojenie napájania som použil DC napájací konektor s jednoduchým prepínačom, ak chcete, môžete použiť aj konektor USB. Napájací konektor som outsourcoval na inú malú dosku s plošnými spojmi, aby sa krásne zmestil do môjho dreveného puzdra, ale môžete ho jednoducho vložiť priamo na dosku Arduino. Ako je uvedené v prvom kroku, v schéme je tiež zapojovací obvod MSGEQ7, ale ak MSGEQ7 nepoužívate, jednoducho to ignorujte. (Ak chcete získať ďalšie informácie o funkcii MSGEQ7, kliknite sem)

Nezabudnite vytvoriť ďalší 7 -pinový plochý kábel s konektormi typu pin na každom konci na pripojenie dosky Arduino k doske Driver

Krok 8: Voliteľné: Leptanie obvodových dosiek

Voliteľné: Leptanie obvodových dosiek
Voliteľné: Leptanie obvodových dosiek
Voliteľné: Leptanie obvodových dosiek
Voliteľné: Leptanie obvodových dosiek
Voliteľné: Leptanie obvodových dosiek
Voliteľné: Leptanie obvodových dosiek

Ak sa vám teda nepáči spájkovanie mnohých káblov, môžete samozrejme vyleptať aj potrebné dosky plošných spojov, ak tomu dávate prednosť.

V mojej Cube sú doska Arduino a doska konektora Power/Audio leptané dosky pomocou priložených schematických/EAGLE súborov. Prvýkrát som urobil chybu v schéme, takže som musel prerobiť dosku ovládača LED, ako som to urobil v poslednom kroku. Leptanie dosky namiesto použitia perboardu nemá žiadne obrovské výhody, takže tabuľu môžete leptať alebo spájkovať na perfboarde.

V priloženom súbore.zip nájdete súbor BOARD aj SCHEMATIC.

Všimnite si, že stopy hornej vrstvy (červené) majú byť drôtené mosty (pretože doma nemôžem leptať obojstranné dosky). Nezmerané stopy predvádzajú pripojenia, ktoré je potrebné vykonať pomocou káblov pre zásuvkové kolíkové konektory.

Schéma obsahuje funkciu MSGEQ7, ktorú môžete jednoducho vynechať odstránením časti schémy označenej „(MSGEQ7)“na snímke obrazovky schémy.pdf.

Krok 9: Pripojenie kocky

Pripojenie kocky
Pripojenie kocky
Pripojenie kocky
Pripojenie kocky
Pripojenie kocky
Pripojenie kocky

Ak chcete pripojiť všetky časti kocky, začnite zapojením 7pinového kábla do dosky Arduino a dosky ovládača (uistite sa, že orientácia je správna!). Potom zapojte modul HC05 do 4 -kolíkového konektora a pripojte napájaciu dosku, ak je oddelená.

Ak chcete pripojiť 7x16 kolíkové hlavičky kocky, uistite sa, že začnete s prvým TLC (ten, ktorého pin SIN je pripojený priamo k Arduinu). Nájdite správny 16 -pinový kábel z kocky a zapojte ho do prvého kolíkového konektora TLC (uistite sa, že kábel pre Cathode Nr.0 sa pripája k prvému pinu TLC OUT0!). Pokračujte a pripojte ostatné 16 -kolíkové káble k zodpovedajúcim záhlaviam TLC v správnom poradí.

V neposlednom rade pripojte 6pinový kábel pre anódy z kocky k 6pinovému záhlaviu na riadiacej doske vedľa MOSFETov.

Na dokončenie kocky som do puzdra pridal steny ešte preglejkou s čiernou farbou a prilepil ich.

Teraz sme dokončili všetok hardvér potrebný pre celú zostavu!

Krok 10: Software: Cyklus multiplexovania

Software: Cyklus multiplexovania
Software: Cyklus multiplexovania

Teraz teoreticky Arduino neustále vykonáva nasledujúci cyklus:

  1. Ak LayerDuration prešiel, načítajte hodnoty pre ďalšiu vrstvu do TLC, vypnite aktuálnu vrstvu, zapnite ďalšiu vrstvu, resetujte LayerDuration, zadajte nové hodnoty do TLC.
  2. Ak FrameDuration prešlo, načítajte nový rámček aktuálnej animácie uložením hodnôt pre všetky LED diódy a farby do vyrovnávacej pamäte ValueLed , resetujte FrameDuration
  3. Ak sú k dispozícii údaje Bluetooth, reagujte na ne (zmena animácií, jas, …) (viac informácií neskôr)

Ako vidíte, hlavným zameraním kódu je rýchlosť. Je dôležité, aby čas na zmenu vrstvy bol minimálny.

Čím rýchlejšie vrstvy zapnete/vypnete, tým viac „rámov“získate. pre takúto RGB LED kocku 6x6x6 som zistil, že trvanie vrstvy je 1700 mikroSec. je dosť dobrý na to, aby blikal na minime, a mal by byť ponechaný na tejto hodnote. FrameDuration riadi viac rýchlosti animácie, takže ju možno meniť pre rôzne animácie.

V ďalšom kroku sa pozrieme na to, ako môžeme vlastne písať vlastné animácie.

Krok 11: Vlastné animácie

Vlastné animácie
Vlastné animácie
Vlastné animácie
Vlastné animácie

Na implementáciu animácie musíme nastaviť vyrovnávaciu pamäť ValueLed na hodnoty, ktoré chceme pre nasledujúci rámec, vždy, keď uplynie FrameDuration. Vykonáme to tak, že zavoláme funkciu makra „SETLED (x, y, z, COLOR, Brightness)“

x, y, z sú súradnice diódy LED, ktorú chceme nastaviť, a COLOR (ČERVENÁ, ZELENÁ alebo MODRÁ) je farba, ktorú chceme nastaviť, a Brightness je skutočná hodnota pre túto konkrétnu farbu, ktorú nastavíme.

Ak napríklad chcete implementovať animáciu, ktorá jednoducho náhodne zobrazuje červenú, zelenú a modrú farbu v celej kocke, môžete to urobiť takto:

void randomLedsFull () {

pre (uint8_t j = 0; j <CUBE_SIZE; j ++) {for (uint8_t x = 0; x <CUBE_SIZE; x ++) {for (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); SETLED (x, y, j, rand, maxBright); }}}}

Táto metóda sa volá vždy, keď uplynie FrameDuration, a je vybraná z príkazu switch-case v slučke (). Ak píšete nové animácie, môžete ich pridať jednoduchým pridaním do prepínača.

Krok 12: Ďalšie: AnimationCreator

Dodatočné: AnimationCreator
Dodatočné: AnimationCreator

Okrem toho som napísal AnimationCreator pomocou jazykov JavaFX a Java3D.

Poskytovanie ľahko zrozumiteľného používateľského rozhrania veľmi uľahčuje vytváranie a úpravu vlastných animácií.

Animácie pre LED kocky 4x4x4, 6x6x6 alebo 8x8x8 môžete vytvárať, upravovať, premenovávať a rekonfigurovať

Ak chcete vytvoriť novú animáciu, jednoducho kliknite na položku Súbor> Nové, v časti „Kocka“môžete vybrať veľkosť kocky, pre nastavenie farby diódy LED vyberte požadovanú farbu pomocou výberu farby vľavo a potom kliknite ľavým tlačidlom na požadované diódy v tá farba pre ten Rám. Ak chcete pridať ďalší rámček, kliknite na „Ďalej“alebo „+“. Ostatné ovládacie prvky používateľského rozhrania sú celkom samozrejmé. Začiarkavacie políčka vedľa vrstiev kociek majú skontrolovať, ktoré vrstvy by mali byť ovplyvnené posunom a „Zachovať rámec“. Stačí to vyskúšať a všetko zistíte za chvíľu.

Na simuláciu animácie môžete navyše kliknúť na tlačidlo „Zobraziť 3D“, ktoré otvorí ďalšie okno s modelom Java3D Cube. Fotoaparát môžete otáčať, zatiaľ čo držíte ľavé tlačidlo myši (stlačením R fotoaparát resetujete). Ak chcete prehrať/pozastaviť animáciu, stlačte kláves P, čím resetujete animáciu. Q. Textové pole pod tlačidlom „Zobraziť 3D“označuje aktuálnu FrameTime, teda rýchlosť vašej animácie.

Keď skončíte s animáciou, pomenujte ju a kliknite na položky Súbor> Uložiť ako… a uložte animáciu do rovnakého priečinka ako náčrt Cubo_Control.ino.

Ak chcete do skice zahrnúť novú animáciu, otvorte Cubo_Control.ino a na začiatok náčrtu pridajte nasledujúci kód:

#include "RGBit.h" // Nahradiť

Prejdite nadol na položku BTEvent () a do rozbaľovacieho prípadu animácií pridajte príkaz case

prepínač (curAnim) {

… Prípad 10: animation = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; prestávka; prípad 11: // VAŠA NOVÁ ANIMÁCIA animácia = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; prestávka; }

Krok 13: Aplikácia Bluetooth

Aplikácia Bluetooth
Aplikácia Bluetooth

Na to, aby ste mohli Cube skutočne ovládať, je vďaka modulu HC-05 celkom jednoduché vytvoriť aplikáciu Bluetooth na pripojenie telefónu k Cube.

Odkaz na aplikáciu: Github

Aplikácia je open source, takže ďalšie animácie/funkcie môžete pridať sami.

  • Spustite aplikáciu a požiada vás, aby ste zapli Bluetooth
  • Kliknite na „Hľadať“a zobrazí sa zoznam dostupných pripojení Bluetooth. Identifikujte modul HC-05 z kocky a kliknite naň.
  • Ak sa pri pokuse o pripojenie k Cube vyskytne chyba, pokúste sa manuálne spárovať modul HC-05 v nastaveniach Bluetooth
  • Po pripojení sa aplikácia prepne na obrazovku ovládania a vytvorí sa pripojenie Bluetooth

Ovládacie prvky

  • Rýchlosť a jas: Zmenou hodnôt posuvníka zrýchlite/spomalíte animáciu alebo zmeníte jas
  • Animácie: Kliknutím na tlačidlo zmeníte animáciu, v predvolenom nastavení sa animácie opakujú (od ľavého horného rohu tlačidlo zodpovedá aktuAnim)
  • Posúvanie textu: Kliknutím na tlačidlo „Text“sa otvorí dialógové okno na zadanie textu, ktorý sa bude posúvať po kocke
  • Príkaz: Príkazy môžete zadávať manuálne pomocou Command TextField (syntax nájdete v metóde BTEvent () na Cubo_Control.ino)
  • Had: klasická hra s hadom (červená: jablko, zelená: hadia hlava, modrá: plíživý chvost) (Ovládanie: 4 smerové tlačidlá, pohyb hore a dole sa spustí otáčaním telefónu dopredu (hore) alebo dozadu (dole))
  • Zvukový vizualizér: MSGEQ7 slúži na vizualizáciu 6 zvukových pásiem z konektora AUX (tlačidlo pre animáciu 7)

Krok 14: Ukážka

Odporúča: