Cuprins:

Cub LED RGB cu aplicație Bluetooth + animație Creator: 14 pași (cu imagini)
Cub LED RGB cu aplicație Bluetooth + animație Creator: 14 pași (cu imagini)

Video: Cub LED RGB cu aplicație Bluetooth + animație Creator: 14 pași (cu imagini)

Video: Cub LED RGB cu aplicație Bluetooth + animație Creator: 14 pași (cu imagini)
Video: DORIAN POPA SI CORI #shorts #smile #viral #top #trending #youtube 2024, Noiembrie
Anonim
Cub LED RGB cu aplicație Bluetooth + AnimationCreator
Cub LED RGB cu aplicație Bluetooth + AnimationCreator

Acesta este un instructiv despre cum să construiți un cub LED 6x6x6 RGB (Anodi comuni), controlat de o aplicație Bluetooth utilizând un Arduino Nano. Întreaga versiune este ușor de adaptat la un cub 4x4x4 sau 8x8x8. Acest proiect este inspirat de GreatScott. Am decis să aleg o construcție mai sofisticată folosind leduri mai mari (8 mm), cu distanță mai mică + adăugând comunicare Bluetooth, ceea ce face ca adăugarea de funcții noi să fie mult mai ușoară și, de asemenea, adaugă capacitatea de a construi o aplicație pentru a controla cubul. Acest lucru îmi permite, de asemenea, să codificați un joc de șarpe (al treilea videoclip prezentat la final). În plus, am adăugat un mod Audio Visualizer care permite cubului să vizualizeze o intrare AUX de ex. Muzică folosind un MSGEQ7 (prezentare video la final). În plus, am scris o aplicație AnimationCreator în Java cu o interfață de utilizare ușor de utilizat pentru a crea și regla animații, astfel încât oricine să poată crea animații personalizate foarte repede. Deci, aplicația Sketch + Bluetooth oferă un cadru pentru orice configurație LED Cube și cu Animation Creator nu trebuie să vă faceți griji cu privire la implementarea animațiilor personalizate.

Link-uri către aplicația Arduino Sketch și Bluetooth:

RGBCube_Arduino Sketch (Github) + Animation Creator.jar

Aplicația Cubo Bluetooth (Github)

Lista pieselor pentru cub:

  • LED RGB 216x (anod comun) (8mm) (AliExpress / Ebay) -> 6x6x6 = 216
  • Cablu panglică (1m 40Pin ar trebui să fie suficient) (AliExpress / Ebay / Amazon)
  • Anteturi de sex feminin și masculin (cel puțin 4x40pin fiecare) (AliExpress / Ebay / Amazon)
  • Sârmă cupru / argint conservat 0,8 mm (~ 25 metri) (AliExpress / Ebay / Amazon)
  • Tub de reducere (AliExpress / Ebay / Amazon)

Lista pieselor pentru panourile de control:

  • 7 x Driver LED TLC5940 (Ebay / AliExpress)
  • 6 x MOSFET-uri IRF 9540 P-Channel (Amazon / Ebay / AliExpress)
  • Condensatori 8 x 10 uF (Amazon / Ebay / AliExpress)
  • 3 x 1000 uF Condensatori (Amazon / Ebay / AliExpress)
  • Rezistoare 14x 2.2kOhm (Amazon / Ebay / AliExpress)
  • 1 x rezistor de 1 kOhm (Amazon / Ebay / AliExpress)
  • 7 prize 28 x IC (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x 1N4001 diodă (orice diodă comună) (Amazon / Ebay / AliExpress)
  • 8 x condensatori 0.1uF (Ebay)
  • 1 x DC Jack Mount Mount (Amazon / Ebay / AliExpress)
  • 1 x modul Bluetooth HC-05 (Amazon / Ebay / AliExpress)

Pasul 1: Teorie

Teorie
Teorie

Dacă nu vă interesează teoria despre multiplexare, treceți la Pasul 2 pentru începutul construcției reale

Deoarece hardware-ul și software-ul sunt părți la fel de mari ale acestui proiect, să aruncăm o privire mai întâi asupra teoriei.

Creierul cubului este un Arduino Nano. Oferă suficient I / O pentru a interacționa cu driverele LED folosite, precum și pentru a stabili o conexiune Bluetooth la un modul HC-05 și la alte componente de control hardware. Dacă ați analizat alte versiuni de LED Cube, veți ști că majoritatea oamenilor folosesc registre Shift simple pentru a stoca valorile de luminozitate ale culorilor LED-urilor individuale. Această versiune nu folosește registre Shift, ci în schimb așa-numitele drivere cu LED-uri „TLC5940”. După cum vom vedea mai târziu, acest lucru ne economisește mult timp, precum și tone de hardware suplimentar (de exemplu, rezistențe).

Funcționalitatea de bază a controlului cubului utilizează multiplexarea. În acest caz, multiplexăm cele 6 straturi ale cubului, adică toți anodii (+) din toate LED-urile dintr-un strat sunt conectate, în timp ce catodii individuali ai tuturor LED-urilor din aceeași coloană sunt conectați spre partea de jos. Aceasta înseamnă că, dacă doriți să aprindeți LED-ul în poziția x = 1, y = 2, z = 3, culoare: verde, trebuie să furnizați 5V la anodul stratului 3 și să conectați GND la catodul coloanei corespunzător Pin verde de x = 1, y = 2. Deci, în realitate, la un moment dat, doar un singur strat al Cubului este de fapt pornit, dar după cum veți vedea mai târziu în Cod, oprim și aprindem straturile individuale atât de repede, încât ochiul nostru crede că întregul cub este pornit.

Pentru a controla lucruri precum luminozitatea, animațiile și așa mai departe, folosim un modul Bluetooth HC-05 conectat la Arduino Nano. Este foarte simplu să utilizați modulul cu un Arduino, deoarece aveți nevoie doar de o conexiune cu 4 pini și puteți pur și simplu interfața modulul prin intermediul comunicării seriale implicite a Arduino. Spre sfârșitul acestui instructiv, veți vedea cât de ușor este să scrieți propria aplicație Bluetooth pentru a controla cubul.

NOTĂ

În schema mea a plăcii de circuite Arduino, puteți vedea, de asemenea, o mică schemă pentru interfața unui chip MSGEQ7 pentru procesarea intrării audio, acest lucru nu este absolut necesar pentru cubul real și este doar o funcționalitate suplimentară pe care am adăugat-o, prin urmare puteți pur și simplu ignora schema marcată cu „MSGEQ7”

Pasul 2: Hardware: 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

Deci, să aruncăm o privire asupra modului de construire a Cubului în sine, înainte de a vorbi despre circuitul de control din jurul Arduino Nano.

Lista pieselor pentru construcția cubului:

  • LED RGB 216x (anod comun) (AliExpress / Ebay) -> 6x6x6 = 216
  • Cablu panglică (1m 40Pin ar trebui să fie suficient) (AliExpress / Ebay / Amazon)
  • Anteturi pentru femei și bărbați (cel puțin 4x40 pini) (AliExpress / Ebay / Amazon)
  • Sârmă cupru / argint conservat 0,8 mm (~ 25 metri) (AliExpress / Ebay / Amazon)
  • Tub de reducere (AliExpress / Ebay / Amazon)

Primul lucru de făcut și acum este plictisitor, dar necesar, trebuie să testăm LED-urile. Pentru a face acest lucru, conectăm simplu o sursă de alimentare, de ex. Bloc de baterie de 9V cu clemă la o placă. După cum puteți vedea în imaginea 3, cel mai lung pin al LED-urilor este anodul (+), deci conectați acest pin la + 9V al bateriei. Acum, înainte de a conecta GND la culorile individuale, catodii (roșu, verde, albastru) adaugă un rezistor de 220 Ohm la fiecare catod pentru a limita curentul. Acum distrează-te testând toate culorile celor 216 de LED-uri.

În pasul următor vom pregăti LED-urile testate astfel încât să le putem asambla cu ușurință în coloane mai târziu.

Pasul 3: rânduri LED

Rânduri LED
Rânduri LED
Rânduri LED
Rânduri LED
Rânduri LED
Rânduri LED

Înainte de a putea lipi LED-urile în rândurile lor respective, trebuie să îndoim și să tăiem cablurile.

După cum puteți vedea în prima imagine, am forat o gaură de 8 mm (pentru LED-uri de 8 mm) într-o bucată de lemn și am forat 3 burghie foarte mici în stânga găurii cu LED-uri și alta în dreapta găurii. Aceste burghie sunt marcatori pentru îndoirea corectă a cablurilor și ar trebui să aibă o distanță de aproximativ 1cm de la mijlocul orificiului pentru LED.

Această tehnică este inspirată de Steve Manley, puteți găsi un videoclip cu el făcând asta într-o ușoară variantă pe YouTube.

Înainte de a tăia și îndoi cablurile în jurul burghielor, așa cum se vede în imaginea 2 și 3, asigurați-vă că orientarea cablurilor corespunde imaginii 1 (albastru în partea de sus spre stânga, apoi verde, apoi anod + la dreapta și roșu la stânga din nou). Cercul pe care l-ați îndoit în cabluri ar trebui să aibă un diametru suficient de mare pentru a se potrivi firului de cupru cositorit (0,8 mm). Acest pas facilitează magnific lipirea LED-urilor în loc.

Acum că toate LED-urile sunt pregătite, vrem să le asamblăm în rânduri de 6 unde sunt conectați anodii (+):

  1. Construiți un mic jig așa cum se vede în imaginea 6, găuriți 6 găuri (diametru 0,8 mm) cu o distanță de 2,5 cm până la gaura următoare. Acest lucru ne permite să încorporăm 6 LED-uri la un moment dat în jig
  2. Pentru a conecta anodii avem nevoie de o bucată dreaptă de sârmă de cupru, conservată, cu o lungime de ~ 16cm (cu o margine suplimentară). Pentru a face firul frumos și drept, puteți monta un capăt al firului într-un burghiu electric, fixați aproximativ 2 m de fire pe o masă, apoi țineți burghiul astfel încât firul să fie întins și strâns și să porniți burghiul pentru câteva secunde cu îndreptarea firului foarte repede. Apoi puteți tăia firul chiar acolo unde ați fixat piesa. De asemenea, puteți utiliza două clești și strânge bucăți de sârmă mai mici odată, dar acest lucru este mult mai plictisitor
  3. Odată ce aveți fire lungi de 16 cm, le direcționați prin orificiile anodice (+) ale LED-urilor din jig și lipiți pinii anodului pe fir (imaginea 7)

Pentru întregul cub vom avea nevoie de 6x6 = 36 din aceste rânduri LED

Pasul 4: Asamblarea stratului

Asamblarea stratului
Asamblarea stratului
Asamblarea stratului
Asamblarea stratului
Asamblarea stratului
Asamblarea stratului

După cum am menționat anterior, vom multiplexa straturile cubului, dar pentru asamblare este mai ușor să construiți 6 pereți de 6x6 LED-uri și apoi să le asamblați unul lângă celălalt și pur și simplu să rulați un singur fir de cupru cositorit care să conecteze anodii rânduri într-un strat împreună.

Feriți-vă că acest pas necesită mult timp și răbdare pentru a o face corect, în total va trebui să lipiți aproximativ 1000 de îmbinări de lipit pentru construcție, așa că luați-vă timp!

Pentru a construi un perete cu LED-uri:

  1. Pentru jig: avem nevoie de o bucată de lemn cu 6 linii sculptate pentru a se potrivi 6 rânduri una peste alta pentru a construi un perete. Puteți vedea jigul în figura 2 (distanțele dintre rânduri: 2,5cm)
  2. Așezați cele 6 rânduri de LED-uri în sculpturi, cu firul Anod cu fața în jos în linia sculptată, astfel încât cei 3 catodi (R, G, B) să fie în sus
  3. Pentru a conecta catodii poziționați unul peste celălalt (a se vedea imaginea 2) avem nevoie de mai mult sârmă (așa că din nou avem 6 coloane x 3 catode x 6 pereți = 108 bucăți de sârmă cositorite așa cum este descris în ultimul pas (2.) (aceeași lungime, de asemenea))
  4. Glisați bucățile de sârmă din partea de jos a unei coloane prin orificiile catodelor până la rândul de sus și lipiți firul în loc la fiecare LED

Faceți acest lucru de 6 ori pentru a obține 6 pereți de LED-uri.

Acum putem asambla de fapt zidurile în cubul propriu-zis. Dar pentru a ține cubul, trebuie să construim un fel de plan de sol. Pentru aceasta am folosit pur și simplu niște placaj subțire și am forat mici găuri de 0,8 mm în el, pentru a se potrivi firele atârnate de rândurile cu LED-uri mai mici (pentru toate cele 6 pereți LED). Măsurătorile pentru găurile unui singur LED sunt documentate în Pasul 3, iar distanțele dintre fiecare LED sunt de 2,5 cm.

Cu găurile în poziție, luăm acum primul perete și îl manevrăm în găurile din stânga placajului. Rândul LED din partea de jos ar trebui să stea chiar pe lemn, astfel încât, în final, toți pereții să fie aliniați la fel.

Continuați să faceți același lucru cu restul pereților cu LED-uri, dar amintiți-vă că anodii pereților se confruntă întotdeauna cu aceeași direcție. (în imaginea 3 toți anodii pereților sunt orientați spre stânga)

Odată ce întregul cub este la locul său, trebuie să lipim anodii fiecărui strat împreună. Pentru a face acest lucru, luăm o altă bucată de sârmă dreaptă de ~ 16 cm și o așezăm deasupra primului strat, astfel încât firul să atingă toate firele anodice ale celor 6 pereți într-un singur strat. Aveți grijă ca noul fir să nu atingă niciunul dintre catode. Lipiți firul în loc și repetați același lucru pentru cele 5 straturi rămase.

Pasul 5: Cablarea cablurilor

Placă de conducător auto cu LED-uri
Placă de conducător auto cu LED-uri
Placă de conducător auto cu LED-uri
Placă de conducător auto cu LED-uri
Placă de conducător auto cu LED-uri
Placă de conducător auto cu LED-uri

Piese pentru placa driverului cu LED-uri:

  • 7 x TLC5940
  • Condensatori 6/7 x 10 uF
  • 2 x 1000 uF Condensatori
  • Rezistoare 7x 2.2kOhm
  • 7 prize 28 x IC
  • Condensatori de 7 x 0,1 uF
  • Cablu panglică

Trecând la circuitele de control, mai întâi să aruncăm o privire la placa driverului cu LED-uri. După cum am menționat mai înainte, avem nevoie de 7 TLC5940 conectate la Arduino Nano. Toate jetoanele TLC5940 sunt în lanț, ceea ce înseamnă că toți pinii de control ai driverelor sunt interconectați (de exemplu, pinul BLANK al primului TLC este conectat la BLANK al doilea, al treilea, al patrulea, … TLC) și sunt conectați la Arduinowith aceleași fire, cu excepția Serial In care este conectat mai întâi de la un Pin Arduino Digital la primul TLC, apoi pinul Serial Out al acestui prim TLC este conectat la pinul SIN al celui de-al doilea TLC și așa mai departe (vezi imaginea 4) …

Deci, schema plăcii TLC este destul de simplă, după cum puteți vedea în schema atașată.

(DACĂ DORIȚI SĂ SALTAȚI CONSILIUL PENTRU PASUL 8)

Am atașat, de asemenea, o captură de ecran a schemei din frizz, care include etichete de pin și, de asemenea, un fișier GIMP.xcf cu straturi pentru fiecare conexiune Pin de control separată.

Începeți prin lipirea tuturor prizelor IC în poziție, apoi adăugați condensatori 100nF la fiecare TLC, urmat de rezistența de 2,2 kOhm la IREFand GND și antetul cu 7 pini din colțul din dreapta sus.. După aceea, puteți urmări pur și simplu fișierul.xcf începând cu „stratul SIN” din fișierul Gimp care prezintă modul de conectare a pinilor Serial IN / OUT ai driverelor folosind cabluri ribbon, activând apoi stratul CLK în GIMP și așa mai departe. Asigurați-vă că aveți conexiuni bune ale pinilor + și - la pinul antet în partea dreaptă sus Restul schemei ar trebui să fie explicativ, dar asigurați-vă că adăugați suficient condensatori 1000uF și 10uF pe placă, nu este atât de relevant acolo unde este exact le poziționezi.

Odată ce această placă este terminată, puteți trece la placa Arduino în pasul următor.

Pasul 7: placa de control Arduino + Bluetooth

Placă de control Arduino + Bluetooth
Placă de control Arduino + Bluetooth

Piese pentru placa de control:

  • 6 x MOSFET-uri IRF 9540 P-Channel
  • 1 x 10 condensatori uF
  • 1 x 1000 uF Condensatori
  • Rezistențe de 7 x 2.2kOhm
  • 1 x rezistor 1kOhm
  • 2 x 14 antet pin feminin
  • 1 x Arduino Nano
  • 1 x 1N4001 diodă
  • 1 x condensatori 0.1uF
  • 1 x DC Jack Mount Mount
  • 1 x modul Bluetooth HC-05
  • 1 x mufă audio de 3,5 mm

Placa de control Arduino se ocupă în principal de multiplexare, oferind și contrapartida antetului pinului de pe placa driverului LED.

Lipire pe panou:

  1. Plasați două anteturi Pin feminine pentru a acționa ca soclu pentru Arduino în mijlocul plăcii.
  2. Puneți cele 6 MOSFET-uri într-un rând unul lângă celălalt pe partea dreaptă a Arduino (partea cu pinii analogici) și adăugați un rezistor de 2,2 kOhm între primul și ultimul pin fiecare.
  3. Acum așezați antetul cu 6 pini în fața MOSFET-urilor (mijlocul rândului) și conectați cei 6 pini DRAIN ai FET-urilor (pinul din mijloc) la antet și pinii GATE (pinul stâng) al FET-urilor la pinii analogici Arduino respectivi..
  4. Apoi, lipiți antetul cu 7 pini pentru conexiunea LEDDriver de pe cealaltă parte a Arduino, lăsați puțin spațiu pentru cabluri și lipiți toate conexiunile de la Arduino la antetul pinului.
  5. Adăugați niște condensatori (1-2 1000uF, 1 10uF, 100nF lângă Arduino) pentru scurgerile de curent posibile.
  6. Lipiți un antet cu 4 pini lângă partea din spate a Arduino pentru modulul HC-05 și efectuați cele 4 conexiuni la VCC, RX, TX, GND și nu uitați să faceți un divizor de tensiune de la pinul RX al HC-05 și PIN-ul TX al Arduino (vezi aici)
  7. Așezați mufa DC pe orice margine a plăcii cu un comutator lângă și conectați pinul drept al comutatorului la + pinul mufei DC
  8. În cele din urmă, faceți toate conexiunile de alimentare necesare de la pinul GND al mufei DC și pinul drept al comutatorului (VCC) la Arduino, MOSFET-uri, condensatoare și HC-05 așa cum se vede în schemă. Nu uitați să adăugați dioda acordând doar puterea de la pinul VCC al comutatorului pentru a curge în pinul Arduinos 5V, nu invers (aceasta protejează Arduino atunci când îl programați prin conexiune USB)

Pentru conexiunea de alimentare, am folosit un DC Power Jack cu un comutator simplu, puteți utiliza și un conector USB dacă doriți. Am externalizat conectorul de alimentare către o altă placă de circuite mici pentru a se încadra frumos în carcasa mea din lemn, dar o puteți pune pur și simplu direct pe placa Arduino. După cum sa menționat în primul pas, există și un circuit de conexiune MSGEQ7 în schemă, dar pur și simplu ignorați acest lucru dacă nu utilizați un MSGEQ7. (Pentru mai multe informații despre funcționalitatea MSGEQ7, faceți clic aici)

Nu uitați să faceți încă un cablu cu panglică de 7 pini cu anteturi pin masculin la fiecare capăt pentru conectarea plăcii Arduino la placa șoferului

Pasul 8: Opțional: gravarea plăcilor de circuit

Opțional: gravarea plăcilor de circuit
Opțional: gravarea plăcilor de circuit
Opțional: gravarea plăcilor de circuit
Opțional: gravarea plăcilor de circuit
Opțional: gravarea plăcilor de circuit
Opțional: gravarea plăcilor de circuit

Deci, dacă nu vă place să lipiți multe cabluri, desigur, puteți, de asemenea, să gravați PCB-urile necesare, dacă preferați acest lucru.

În Cube-ul meu, placa Arduino și placa conectorului Power / Audio sunt ambele plăci gravate folosind fișierele schemă atașate / EAGLE. Prima dată am greșit în schemă, așa că a trebuit să refac placa LED Driver așa cum am făcut în ultimul pas. Nu există avantaje uriașe să gravezi placa în loc să folosești perboard, așa că simți-te liber fie să gravezi placa, fie să o lipiți pe perfboard.

În fișierul.zip atașat puteți găsi atât un fișier BOARD, cât și un fișier SCHEMATIC.

Observați că urmele stratului superior (roșu) ar trebui să fie poduri de sârmă (deoarece nu pot să scap plăci cu două fețe acasă). Urmele neîntrerupte prezintă conexiunile care trebuie realizate prin cabluri pentru pinii feminini.

Schema include caracteristica MSGEQ7, pe care o puteți omite pur și simplu ștergând secțiunea schemei marcate „(MSGEQ7)” în captura de ecran a schemei.pdf.

Pasul 9: Conectarea cubului

Conectarea cubului
Conectarea cubului
Conectarea cubului
Conectarea cubului
Conectarea cubului
Conectarea cubului

Pentru a conecta toate părțile cubului, începeți prin conectarea cablului de 7 pini la placa Arduino și placa driverului (asigurați-vă că orientarea este corectă!). Apoi conectați modulul HC05 la antetul cu 4 pini și conectați placa de alimentare dacă este separată.

Pentru a conecta anteturile 7x16 Pin ale cubului, asigurați-vă că începeți cu primul TLC (cel al cărui pin SIN este conectat direct la Arduino). Găsiți cablul corect de 16 pini de la cub și conectați-l la primul antet al pinului TLC (asigurați-vă că cablul pentru catodul Nr.0 se conectează la primul pin TLC OUT0!). Continuați și conectați celelalte cabluri de 16 pini la antetele TLC corespunzătoare în ordinea corectă.

Nu în ultimul rând, conectați cablul 6Pin pentru anodii de la cub la antetul 6Pin de pe placa de control de lângă MOSFET-uri.

Pentru a termina Cubul, am adăugat pereți carcasei cu mai mult placaj cu vopsea neagră pe el și i-am lipit.

Acum am terminat cu toate componentele hardware necesare pentru întreaga versiune!

Pasul 10: Software: ciclu de multiplexare

Software: ciclu de multiplexare
Software: ciclu de multiplexare

Acum, teoretic, Arduino execută constant următorul ciclu:

  1. Dacă LayerDuration a trecut, încărcați valorile pentru următorul strat pe TLC-uri, opriți stratul curent, activați următorul strat, resetați LayerDuration, transferați noile valori pe TLC-uri
  2. Dacă FrameDuration a trecut, încărcați noul cadru al animației curente stocând valorile pentru toate LED-urile și culorile în bufferul ValueLed , resetați FrameDuration
  3. Dacă datele Bluetooth sunt disponibile, reacționați la ele (Modificați animațiile, Luminozitatea, …) (mai multe informații mai târziu)

După cum puteți vedea, accentul principal al codului este viteza. Este important ca timpul pentru schimbarea stratului să fie minim.

Cu cât porniți / dezactivați mai repede straturile, cu atât veți obține mai multe „Rame”. pentru un cub LED 6x6x6 RGB ca acesta, mi-am dat seama că o durată a stratului de 1700 microSec. este suficient de bun pentru a continua să pâlpâie la minimum și ar trebui lăsat la această valoare. FrameDuration controlează mai mult viteza animației, astfel încât să poată fi modificată pentru diferite animații.

În pasul următor vom analiza modul în care ne putem scrie propriile animații.

Pasul 11: animații personalizate

Animații personalizate
Animații personalizate
Animații personalizate
Animații personalizate

Pentru a implementa o animație trebuie să setăm tamponul ValueLed la valorile pe care le dorim pentru următorul cadru de fiecare dată când a trecut FrameDuration. Facem asta apelând funcția Macro „SETLED (x, y, z, COLOR, Brightness)”

x, y, z sunt coordonatele LED-ului pe care dorim să îl setăm, iar CULOREA (ROȘU, VERDE sau ALBASTRU) este culoarea pe care dorim să o setăm, iar Luminozitatea este valoarea reală pentru această culoare specială pe care o setăm.

De exemplu, pentru a implementa o animație care afișează pur și simplu culoarea roșie, verde și albastră la întâmplare pe întregul cub, puteți face acest lucru:

void randomLedsFull () {

for (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); }}}}

Această metodă este apelată de fiecare dată când FrameDuration a trecut și este selectată din comanda switch-case din buclă (). Dacă scrieți animații noi, le puteți adăuga pur și simplu adăugându-le în comutator.

Pasul 12: Adițional: AnimationCreator

Suplimentar: AnimationCreator
Suplimentar: AnimationCreator

Am scris suplimentar un AnimationCreator folosind JavaFX și Java3D.

Creează și editează animații personalizate foarte ușor, oferind o interfață de utilizare ușor de înțeles.

Puteți crea, edita, redenumi și reconfigura animații pentru cuburi LED 4x4x4, 6x6x6 sau 8x8x8

Pentru a crea o animație nouă, pur și simplu apăsați pe Fișier> Nou, sub „Cub” puteți selecta dimensiunea Cubului, pentru a seta culoarea unui LED selectați culoarea dorită cu selectorul de culori din stânga și apoi faceți clic stânga pe LED-urile dorite în acea culoare pentru acel cadru. Pentru a adăuga un alt cadru apăsați „Următorul” sau „+”. Restul comenzilor UI se explică de la sine, casetele de selectare de lângă Straturile Cuburi sunt pentru a verifica ce Straturi ar trebui să fie afectate prin deplasare și „Păstrează cadrul”. Testează-l și vei descoperi totul în cel mai scurt timp.

În plus, pentru a simula animația, puteți face clic pe butonul „Vizualizare 3D”, care deschide o altă fereastră cu un model Java3D al cubului. Puteți roti camera în timp ce țineți apăsat butonul stâng al mouse-ului (apăsați R pentru a reseta camera). Pentru a reda / întrerupe animația apăsați tasta P, pentru a reseta lovirea animației Q. TextField-ul de sub butonul „Vizualizare 3D” indică curentul FrameTime, înregistrați viteza animației.

Când ați terminat cu animația, dați-i un nume și apăsați Fișier> Salvare ca … și salvați animația în același dosar cu Cubo_Control.ino Sketch.

Pentru a vă include animația nouă în schiță, deschideți Cubo_Control.ino și adăugați următorul cod deasupra schiței:

#includeți „RGBit.h” // Înlocuiți

Derulați în jos până la BTEvent () și adăugați instrucțiunea de caz la comutatorul-minus al animațiilor

switch (curAnim) {

… cazul 10: animație = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; pauză; cazul 11: // NOUA TA ANIMARE animație = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; pauză; }

Pasul 13: Aplicație Bluetooth

Aplicație Bluetooth
Aplicație Bluetooth

Pentru a controla efectiv cubul, datorită modulului HC-05 este destul de simplu să construiești o aplicație Bluetooth pentru a-ți conecta telefonul la cub.

Link către aplicație: Github

Aplicația este open source, așa că nu ezitați să adăugați animații / caracteristici suplimentare.

  • Porniți aplicația, vă solicită să activați Bluetooth
  • Faceți clic pe „Căutare” și apare o listă a conexiunilor Bluetooth disponibile. Identificați modulul HC-05 din cub și faceți clic pe el.
  • Dacă există o eroare la încercarea de conectare la Cub, încercați să împerecheați manual modulul HC-05 în setările Bluetooth
  • După conectare, aplicația trece la ecranul de control și conexiunea Bluetooth a fost stabilită

Controale

  • Viteză și luminozitate: modificați valorile glisorului pentru a accelera / încetini animația sau pentru a modifica luminozitatea
  • Animații: Faceți clic pe un buton pentru a schimba animația, în mod implicit, animațiile sunt în buclă (începând din partea stângă sus butonul corespunde currAnim)
  • Derulare text: Faceți clic pe butonul „Text” care afișează un dialog pentru a introduce un text care va fi derulat prin cub
  • Comandă: Puteți introduce comenzi manual cu Command TextField (căutați în metoda BTEvent () a Cubo_Control.ino pentru sintaxă)
  • Șarpe: joc clasic de șarpe (roșu: măr, verde: cap de șarpe, albastru: coadă) (Comenzi: 4 butoane direcționale, sus și jos este declanșat prin rotirea telefonului înainte (sus) sau înapoi (jos))
  • Vizualizator audio: MSGEQ7 folosit pentru a vizualiza 6 benzi audio de la mufa AUX (Buton pentru animație 7)

Pasul 14: prezentare

Recomandat: