Sisukord:

RGB LED -kuup Bluetooth -rakenduse ja animatsiooniga Looja: 14 sammu (piltidega)
RGB LED -kuup Bluetooth -rakenduse ja animatsiooniga Looja: 14 sammu (piltidega)

Video: RGB LED -kuup Bluetooth -rakenduse ja animatsiooniga Looja: 14 sammu (piltidega)

Video: RGB LED -kuup Bluetooth -rakenduse ja animatsiooniga Looja: 14 sammu (piltidega)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №25 2024, November
Anonim
RGB LED -kuup Bluetooth -rakenduse ja animatsiooniloojaga
RGB LED -kuup Bluetooth -rakenduse ja animatsiooniloojaga

See on juhend, kuidas ehitada 6x6x6 RGB LED -i (tavalised anoodid) kuup, mida juhitakse Bluetooth -rakenduse abil Arduino Nano abil. Kogu konstruktsioon on kergesti kohandatav näiteks 4x4x4 või 8x8x8 kuubikuga. See projekt on inspireeritud GreatScottist. Otsustasin kasutada keerukamat ehitust, kasutades suuremaid LED -e (8 mm), väiksemat vahemaad + Bluetooth -ühenduse lisamist, mis muudab uute funktsioonide lisamise palju lihtsamaks ja lisab ka võimaluse luua kuubi juhtimiseks rakendus. See võimaldab mul ka nt. kodeerige ussimäng (lõpus esitlusvideo). Lisaks lisasin audiovisualiseerimisrežiimi, mis võimaldab kuubil visualiseerida AUX sisendit, nt Muusika MSGEQ7 abil (esitlusvideo lõpus). Lisaks kirjutasin Java -s AnimationCreatori rakenduse koos hõlpsasti kasutatava kasutajaliidesega animatsioonide loomiseks ja kohandamiseks, nii et igaüks saab kohandatud animatsioone väga kiiresti luua. Nii et Sketch + Bluetoothi rakendus pakub raamistikku igale LED -kuubiku konfiguratsioonile ja koos Animation Creatoriga ei pea te muretsema kohandatud animatsioonide rakendamise pärast.

Arduino Sketchi ja Bluetoothi rakenduse lingid:

RGBCube_Arduino Sketch (Github)+Animatsiooni looja.jar

Cubo Bluetooth -rakendus (Github)

Kuubi osade loend:

  • 216x RGB LED (tavaline anood) (8 mm) (AliExpress / Ebay)-> 6x6x6 = 216
  • Lintkaabel (1 m 40 pin peaks olema piisav) (AliExpress / Ebay / Amazon)
  • Naiste ja meeste päised (vähemalt 4 x 40 pin) (AliExpress / Ebay / Amazon)
  • Konserveeritud vask / hõbetraat 0,8 mm (~ 25 meetrit) (AliExpress / Ebay / Amazon)
  • Kahanev toru (AliExpress / Ebay / Amazon)

Juhtpaneelide osade loend:

  • 7 x TLC5940 LED -draiver (Ebay / AliExpress)
  • 6 x IRF 9540 P-kanaliga MOSFET-i (Amazon / Ebay / AliExpress)
  • 8 x 10 uF kondensaatorit (Amazon / Ebay / AliExpress)
  • 3 x 1000 uF kondensaatorit (Amazon / Ebay / AliExpress)
  • 14x 2,2 kOhm takistid (Amazon / Ebay / AliExpress)
  • 1 x 1 kOhm takisti (Amazon / Ebay / AliExpress)
  • 7 x 28 -pin IC -pistikupesad (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x 1N4001 diood (mis tahes tavaline diood) (Amazon / Ebay / AliExpress)
  • 8 x 0.1uF kondensaatorit (Ebay)
  • 1 x DC Jack PCB Mount (Amazon / Ebay / AliExpress)
  • 1 x HC-05 Bluetooth-moodul (Amazon / Ebay / AliExpress)

1. samm: teooria

Teooria
Teooria

Kui teid ei huvita multipleksimise teooria, minge tegeliku ehitamise alustamiseks 2. sammu juurde

Kuna riist- ja tarkvara on selle projekti võrdselt suured osad, vaatame kõigepealt teooriat.

Kuubi aju on Arduino Nano. See pakub piisavalt I/O-d, et suhelda kasutatud LED-draiveritega, samuti luua Bluetooth-ühendus HC-05 mooduli ja muu juhtimisseadmega. Kui olete vaadanud teisi LED -kuubiku konstruktsioone, teate, et enamik inimesi kasutab üksikute LED -ide heleduse väärtuste salvestamiseks lihtsaid nihkeregistreid. See ehitis ei kasuta Shift -registreid, vaid nn LED -draivereid "TLC5940". Nagu hiljem näeme, säästab see palju aega ja ka palju täiendavat riistvara (nt takistid).

Kuubi juhtimise põhifunktsioonid kasutavad multipleksimist. Sel juhul multipleksime kuubi kuut kihti, mis tähendab, et kihi kõigi LED -ide kõik anoodid (+) on ühendatud, samas kui sama veeru kõigi LED -ide üksikud katoodid on ühendatud põhja poole. See tähendab, et kui soovite LED -i süttida positsioonis x = 1, y = 2, z = 3, värv: roheline, peate andma 5 V kihi 3 anoodile ja ühendama GND veeru katoodiga. Roheline tihvt x = 1, y = 2. Nii et tegelikkuses on ühel ajahetkel tegelikult sisse lülitatud ainult üks kuubi kiht, kuid nagu näete koodist hiljem, lülitame üksikud kihid nii kiiresti välja, et meie silm arvab, et kogu kuubik on peal.

Heleduse, animatsioonide jms juhtimiseks kasutame Arduino Nanoga ühendatud Bluetooth-moodulit HC-05. Mooduli kasutamine Arduinoga on väga lihtne, kuna vajate ainult 4-pin ühendust ja saate moodulit lihtsalt liidestada Arduino vaikeseeriaühenduse kaudu. Selle juhendi lõpus näete, kui lihtne on kirjutada oma Bluetooth -rakendus kuubi juhtimiseks.

MÄRGE

Minu Arduino trükkplaadi skeemil näete ka väikest skeemi MSGEQ7 kiibiprotsessi helisisendi liidestamiseks, see pole tegeliku kuubi jaoks absoluutselt vajalik ja see on lihtsalt lisafunktsioon, mille lisasin, seega võite lihtsalt ignoreerida skemaatilist märgistust koos "MSGEQ7"

2. samm: riistvara: LED -kuubiku ehitamine

Riistvara: LED -kuubikujundus
Riistvara: LED -kuubikujundus
Riistvara: LED -kuubikujundus
Riistvara: LED -kuubikujundus
Riistvara: LED -kuubikujundus
Riistvara: LED -kuubikujundus

Nii et vaatame, kuidas Cube'i ise ehitada, enne kui räägime juhtimisahelast Arduino Nano ümber.

Kuubiku ehituse osade loend:

  • 216x RGB LED (tavaline anood) (AliExpress / Ebay)-> 6x6x6 = 216
  • Lintkaabel (1 m 40 pin peaks olema piisav) (AliExpress / Ebay / Amazon)
  • Naiste ja meeste päised (vähemalt 4x40 pin) (AliExpress / Ebay / Amazon)
  • Konserveeritud vask / hõbetraat 0,8 mm (~ 25 meetrit) (AliExpress / Ebay / Amazon)
  • Kahanev toru (AliExpress / Ebay / Amazon)

Esimene asi, mida teha, ja nüüd on see tüütu, kuid vajalik, peame LED -e testima. Selleks ühendame lihtsalt toiteallika, nt klambriga 9 V akuploki breaboardiga. Nagu näete pildil 3, on valgusdioodide pikim tihvt anood (+), nii et ühendate selle tihvti +9V akuga. Enne GND ühendamist üksikute värvidega katoodid (punane, roheline, sinine) lisage voolu piiramiseks igale katoodile 220Ohm takisti. Lõbutsege nüüd kõigi 216 LED -i värvide testimisega.

Järgmises etapis valmistame ette testitud valgusdioodid, et saaksime need hiljem hõlpsalt veergudesse kokku panna.

3. samm: LED -read

LED -read
LED -read
LED -read
LED -read
LED -read
LED -read

Enne LED -ide jootmist nende ridadesse peame juhtmed painutama ja lõikama.

Nagu näete esimesel pildil, puurisin lihtsa puidutüki sisse 8 mm augu (8 mm LED -ide jaoks) ja puurisin 3 väga väikest puurit LED -august vasakule ja teise auku paremale. Need puurid on märgid juhtmete korrektseks painutamiseks ja nende kaugus LED -ava keskelt peaks olema umbes 1 cm.

See tehnika on inspireeritud Steve Manley'st, YouTube'is leiate video sellest, kuidas ta seda teeb.

Enne juhtmete lõikamist ja painutamist puuride ümber, nagu on näidatud joonistel 2 ja 3, veenduge, et juhtmete suund vastab pildile 1 (sinine ülevalt vasakule, siis roheline, seejärel anood + paremale ja jälle punane vasak). Ring, mille juhtmetesse painutasite, peaks olema piisavalt suure läbimõõduga, et mahutada tinatatud vasktraati (0,8 mm). See samm hõlbustab suurepäraselt LED -ide kenasti jootmist.

Nüüd, kui kõik valgusdioodid on ette valmistatud, tahame need kokku panna 6 -rida, kuhu on ühendatud anoodid (+):

  1. Ehitage väike rakis, nagu on näidatud pildil 6, puurige 6 auku (läbimõõt 0,8 mm) 2,5 cm kaugusel järgmisest august. See võimaldab meil paigutada rakisse korraga 6 LED -i
  2. Anoodide ühendamiseks vajame sirget tinatatud vasktraaditükki pikkusega ~ 16 cm (koos mõningase lisavaruga). Et traat oleks ilus ja sirge, võite traadi ühe otsa paigaldada nt elektritrelli, kinnitada umbes 2 m juhtmeid korraga lauale, seejärel hoida puurit nii, et traat oleks venitatud ja pingul ning lülitage puur sisse. sirgendab juhtme väga kiiresti mõneks sekundiks. Seejärel saate traadi lõigata sealt, kus tükk kinnitati. Võite kasutada ka kahte tangit ja pingutada väiksemaid traaditükke korraga, kuid see on palju tüütum
  3. Kui teil on 16 cm pikkused juhtmed, suunake need läbi rakis olevate LED -ide anood (+) aukude ja jootke anoodpoldid juhtme külge (joonis 7)

Kogu kuubi jaoks vajame 6x6 = 36 neist LED -ridadest

4. samm: kihtide kokkupanek

Kihi kokkupanek
Kihi kokkupanek
Kihi kokkupanek
Kihi kokkupanek
Kihi kokkupanek
Kihi kokkupanek

Nagu ma juba varem mainisin, mitmekordistame kuubi kihte, kuid kokkupanekuks on lihtsam ehitada 6 seina 6x6 LED -i ja seejärel need üksteise külge kokku panna ning lihtsalt juhtida ühe tinatatud vasktraati, mis ühendab anoodid rida kihina kokku.

Olge ettevaatlik, et selle sammu õigeks tegemiseks kulub palju aega ja kannatlikkust, kokku peate ehituse jaoks jootma umbes 1000 jooteühendust, nii et võtke aega!

LED -seina ehitamiseks tehke järgmist.

  1. Jigi jaoks: seina ehitamiseks vajame 6 nikerdatud joonega puutükki, mis mahutab 6 rida üksteise kohal. Jigit ennast näete pildil 2 (ridade vahekaugus: 2,5 cm)
  2. Paigaldate 6 LED -rida nikerdustesse, anoodtraat allapoole nikerdatud joonele, nii et 3 katoodi (R, G, B) jääksid ülespoole
  3. Teineteise kohal asuvate katoodide ühendamiseks (vt joonis 2) vajame veel mõnda traati (seega jälle 6 veergu x 3 katoodi x 6 seina = 108 tinatraati, nagu on kirjeldatud viimases etapis (2.) (samuti sama pikk))
  4. Libistage traadi osad veeru põhjast läbi katoodide aukude ülemisele reale ja jootke traat iga LED -i juures oma kohale

Teete seda 6 korda, et saada 6 LED -seina.

Nüüd saame seinad tegelikult kuubiks kokku panna. Kuid kuubi hoidmiseks peame ehitama mingi maapinna. Selleks kasutasin lihtsalt õhukest vineeri ja puurisin sinna väikesed 0,8 mm augud, et sobitada madalaimate LED -ridade küljes olevad juhtmed (kõigi 6 LED -seina jaoks). Ühe LED -i aukude mõõtmised on dokumenteeritud 3. etapis ja iga LED -i vahekaugus on 2,5 cm.

Kui augud on paigas, võtame nüüd esimese seina ja manööverdame selle vineeri vasakpoolsesse auku. Põhjas olev LED -rida peaks istuma otse puidule, nii et lõpuks on kõik seinad ühtmoodi joondatud.

Jätkake sama toimimist ülejäänud LED -seintega, kuid pidage meeles, et seinte anoodid on alati samas suunas. (pildil 3 on kõik seinte anoodid vasakule suunatud)

Kui kogu kuubik on paigas, peame iga kihi anoodid kokku jootma. Selleks võtame veel ~ 16 cm sirge traadi ja asetame selle esimese kihi peale, nii et traat puudutab 6 kihi kõiki anoodtraate. Pange tähele, et uus traat ei puuduta ühtegi katoodi. Jootke traat oma kohale ja korrake sama ülejäänud 5 kihi puhul.

Samm: kuubiku juhtmestik

LED juhtplaat
LED juhtplaat
LED juhtplaat
LED juhtplaat
LED juhtplaat
LED juhtplaat

LED -juhtplaadi osad:

  • 7 x TLC5940
  • 6/7 x 10 uF kondensaatorid
  • 2 x 1000 uF kondensaatorit
  • 7x 2,2 kOhm takistid
  • 7 x 28 -pin IC -pistikupesad
  • 7 x 0,1uF kondensaatorit
  • Lindi kaabel

Liikudes juhtimisahelate juurde, vaatame kõigepealt LED -draiveriplaati. Nagu varem mainitud, vajame Arduino Nanoga ühendatud 7 TLC5940. Kõik TLC5940 kiibid on aheldatud, mis tähendab, et kõik draiverite juhtpoldid on omavahel ühendatud (nt esimese TLC TÜHI tihvt on ühendatud teise, kolmanda, neljanda,… TLC tühjaga) ja kõik on ühendatud Arduinowithiga samad juhtmed, välja arvatud jadaseade, mis on esmalt ühendatud Arduino digitaalsest tihvtist esimese TLC -ga, siis selle esimese TLC jadaväljundi tihvt on ühendatud teise TLC SIN -tihvtiga ja nii edasi (vt joonis 4)…

Nii et TLC -plaadi skemaatika on üsna lihtne, nagu näete lisatud skeemil.

(KUI TAHATE LAUAHÜPPIMISE LÜLITADA 8. SAMMU)

Lisasin ka skemaatilise skemaatika ekraanipildi, mis sisaldab tihvtide silte ja ka GIMP.xcf -faile, mille kihid on eraldatud iga juhtnupu ühenduse jaoks.

Alustage kõigi IC -pistikupesade jootmisega, seejärel lisage igale TLC -le 100 nF kondensaatorid, seejärel 2,2 kOhm takistid IREFand GND -le ja 7 -kontaktiline päis paremas ülanurgas. Pärast seda saate lihtsalt järgida.xcf -faili alustades "SIN -kihist" Gimpi failis, mis näitab, kuidas ühendada draiverite jada -sisend-/väljundpoldid lintkaablite abil, seejärel lubada CLK -kiht GIMP -is ja nii edasi. Veenduge, et paremal ülanurgas olevad pluss- ja nööpnõelad oleksid hästi ühendatud. Ülejäänud skeem peaks olema iseenesestmõistetav, kuid veenduge, et lisate tahvlile piisavalt 1000uF ja 10uF kondensaatoreid, see pole nii oluline, kus täpselt sa paigutad need.

Kui see plaat on valmis, võite järgmises etapis liikuda Arduino tahvli juurde.

Samm: Arduino + Bluetoothi juhtpaneel

Arduino + Bluetoothi juhtpaneel
Arduino + Bluetoothi juhtpaneel

Juhtpaneeli osad:

  • 6 x IRF 9540 P-kanaliga MOSFET-i
  • 1 x 10 uF kondensaatorit
  • 1 x 1000 uF kondensaatorit
  • 7 x 2,2 kOhm takistid
  • 1 x 1 kOhm takisti
  • 2 x 14 emase tihvti päis
  • 1 x Arduino Nano
  • 1 x 1N4001 diood
  • 1 x 0,1uF kondensaatorit
  • 1 x DC Jack PCB kinnitus
  • 1 x HC-05 Bluetooth-moodul
  • 1 x 3,5 mm helipistik

Arduino juhtpaneel tegeleb peamiselt multipleksimisega ja pakub ka LED -draiveriplaadi tihvti päise vastet.

Jootmine perfboardil:

  1. Asetage kaks naissoost Pin -päist, et need toimiksid Arduino pistikupesana tahvli keskele.
  2. Asetage 6 MOSFET -i järjestikku üksteise kõrvale Arduino paremale küljele (analoogpistikutega pool) ja lisage esimese ja viimase tihvti vahele 2,2 kOhm takisti.
  3. Nüüd asetage 6 -kontaktiline päis MOSFET -ide ette (rea keskele) ja ühendage FET -i 6 DRAIN -tihvti (keskmine tihvt) päisega ja FET -i GATE -tihvtid (vasak tihvt) vastavate Arduino analoogpistikutega.
  4. Seejärel jootke LED -draiveri ühendamiseks 7 -pin pistik Arduino teisel küljel, jätke ruumi kaablitele ja jootke kõik ühendused Arduino -st tihvti päise külge.
  5. Võimalike voolutorude jaoks lisage mõned kondensaatorid (1-2 1000uF, 1 10uF, 100nF Arduino kõrval).
  6. Jootke 4-kontaktiline päis Arduino tagumise külje kõrval HC-05 mooduli jaoks ja tehke 4 ühendust VCC, RX, TX, GND-ga ja ärge unustage teha HC-05 ja RX-nööbist pingejaoturit. Arduino TX -tihvt (vt siit)
  7. Asetage alalisvoolu pistik plaadi mis tahes servale, lüliti kõrval ja ühendage lüliti parem tihvt pistikupesa + tihvtiga
  8. Lõpuks tehke kõik vajalikud toiteühendused alalisvoolu pistiku GND-tihvtist ja lüliti (VCC) paremast tihvtist Arduino, MOSFET-ide, kondensaatorite ja HC-05-ga, nagu on näidatud skemaatiliselt. Ärge unustage lisada dioodi, mis annab voolu ainult lüliti VCC -tihvtist, et voolata Arduinos 5V kontakti, mitte vastupidi. (See kaitseb Arduinot USB -ühenduse kaudu programmeerimisel)

Toiteühenduse jaoks kasutasin lihtsa lülitiga alalisvoolu pistikut, soovi korral võite kasutada ka USB -pistikut. Toitepistiku tellisin teisele väikesele trükkplaadile, et see sobiks minu puidust korpusega, kuid võite selle lihtsalt otse panna Arduino pardal. Nagu esimeses etapis mainitud, on skeemil ka MSGEQ7 ühenduslülitus, kuid lihtsalt ignoreerige seda, kui te ei kasuta MSGEQ7. (MSGEQ7 funktsionaalsuse kohta lisateabe saamiseks klõpsake siin)

Ärge unustage teha veel ühte 7 -pin lintkaablit, mille mõlemas otsas on isaste tihvtidega päised Arduino plaadi ühendamiseks draiveriplaadiga

8. samm: valikuline: trükkplaatide söövitamine

Valikuline: trükkplaatide söövitamine
Valikuline: trükkplaatide söövitamine
Valikuline: trükkplaatide söövitamine
Valikuline: trükkplaatide söövitamine
Valikuline: trükkplaatide söövitamine
Valikuline: trükkplaatide söövitamine

Nii et kui teile ei meeldi paljude kaablite jootmine, võite muidugi ka soovitud PCB -sid söövitada.

Minu kuubis on Arduino ja Power/Audio pistikuplaadid mõlemad söövitatud tahvlid, kasutades lisatud skemaatilisi/EAGLE -faile. Esimest korda tegin skeemil vea, nii et pidin LED -draiveriplaadi uuesti tegema, nagu tegin viimases etapis. Tahvli söövitamisel perboardi kasutamise asemel pole suuri eeliseid, nii et julgelt söövitage tahvlit või jootke see perfboardile.

Lisatud.zipist leiate nii BOARD -faili kui ka SCHEMATIC -faili.

Pange tähele, et ülemise kihi jäljed (punased) peaksid olema traatsillad (kuna ma ei saa kodus kahepoolset lauda söövitada). Suunamata jäljed näitavad ühendusi, mis tuleb teha naissoost tihvtide kaablite kaudu.

Skeem sisaldab MSGEQ7 funktsiooni, mille saate lihtsalt vahele jätta, kustutades skemaatilise.pdf skemaatika ekraanipildil skemaatilise osa, mis on märgistatud "(MSGEQ7)".

9. samm: kuubi ühendamine

Kuubi ühendamine
Kuubi ühendamine
Kuubi ühendamine
Kuubi ühendamine
Kuubi ühendamine
Kuubi ühendamine

Kuubi kõigi osade ühendamiseks ühendage kõigepealt 7 -pin kaabel Arduino ja juhtplaadiga (veenduge, et suund oleks õige!). Seejärel ühendage HC05 moodul 4 -pin pistikuga ja ühendage toiteplaat, kui see on eraldatud.

Kuubi 7x16 tihvti päiste ühendamiseks alustage kindlasti esimese TLC -ga (see, mille SIN -tihvt on otse Arduinoga ühendatud). Leidke kuubikust õige 16 -kontaktiline kaabel ja ühendage see esimese TLC nööpnõelaga (veenduge, et katoodi nr 0 kaabel ühendatakse esimese TLC OUT0 tihvtiga!). Jätkake ja ühendage ülejäänud 16 -pin kaablid vastavate TLC -päistega õiges järjekorras.

Viimaseks, kuid mitte vähem oluliseks, ühendage 6Pin kaabel anoodide jaoks kuubikust 6Pin päisega juhtpaneelil MOSFETide kõrval.

Kuubiku viimistlemiseks lisasin korpusele seinad, millele oli lisatud veel musta värviga vineeri ja liimisin need sisse.

Nüüd oleme lõpetanud kogu ehitamiseks vajaliku riistvara!

Samm 10: Tarkvara: multipleksimistsükkel

Tarkvara: multipleksimise tsükkel
Tarkvara: multipleksimise tsükkel

Nüüd teoreetiliselt täidab Arduino pidevalt järgmist tsüklit:

  1. Kui LayerDuration on möödas, laadige järgmise kihi väärtused TLC -dele, lülitage praegune kiht välja, lülitage järgmine kiht sisse, lähtestage LayerDuration, kinnitage uued väärtused TLC -dele
  2. Kui FrameDuration on möödas, laadige praeguse animatsiooni uus raam, salvestades kõigi LED -ide ja värvide väärtused puhverisse ValueLed , lähtestage FrameDuration
  3. Kui Bluetooth -andmed on saadaval, reageerige neile (animatsioonide muutmine, heledus …) (lisateave hiljem)

Nagu näete, on koodi põhirõhk kiirusel. On oluline, et kihi muutmise aeg oleks minimaalne.

Mida kiiremini kihid sisse/välja lülitate, seda rohkem saate kaadreid. sellisel 6x6x6 RGB LED -kuubikul sain aru, et kihi kestus on 1700 mikrosekundit. on piisavalt hea, et värelus oleks minimaalne ja tuleks jätta selle väärtuse juurde. FrameDuration kontrollib rohkem animatsiooni kiirust, nii et seda saab erinevate animatsioonide jaoks muuta.

Järgmises etapis vaatame, kuidas saame tegelikult oma animatsioone kirjutada.

11. samm: kohandatud animatsioonid

Kohandatud animatsioonid
Kohandatud animatsioonid
Kohandatud animatsioonid
Kohandatud animatsioonid

Animatsiooni rakendamiseks peame iga kord, kui FrameDuration on möödunud, määrama puhver ValueLed järgmisele kaadrile soovitud väärtustele. Me teeme seda, kutsudes makrofunktsiooni "SETLED (x, y, z, COLOR, Brightness)"

x, y, z on LED -i koordinaadid, mida me soovime seadistada, ja VÄRV (PUNANE, ROHELINE või SININE) on värv, mida me soovime määrata, ja heledus on selle konkreetse värvi tegelik väärtus.

Näiteks selleks, et rakendada animatsiooni, mis lihtsalt kuvab punase, rohelise ja sinise värvi juhuslikult kogu kuubiku ulatuses, saate seda lihtsalt teha:

void randomLedsFull () {

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

Seda meetodit kutsutakse iga kord, kui FrameDuration on möödunud, ja see valitakse loop-i käsu switch-case järgi. Kui kirjutate uusi animatsioone, saate need lisada, lisades need lihtsalt lülituskasti.

12. samm: täiendav: AnimationCreator

Lisaks: AnimationCreator
Lisaks: AnimationCreator

Lisaks kirjutasin JavaFX -i ja Java3D -d kasutades AnimationCreatori.

See muudab kohandatud animatsioonide loomise ja redigeerimise väga lihtsaks, pakkudes hõlpsasti mõistetavat kasutajaliidest.

Saate luua, redigeerida, ümber nimetada ja uuesti konfigureerida 4x4x4, 6x6x6 või 8x8x8 LED -kuubikute animatsioone

Uue animatsiooni loomiseks klõpsake lihtsalt nuppu Fail> Uus, jaotises "Kuubik" saate valida kuubi suuruse, LED -i värvi määramiseks valige soovitud värv vasakul asuva värvivalijaga ja seejärel klõpsake vasakul soovitud LED -idel seda värvi selle raami jaoks. Järgmise kaadri lisamiseks klõpsake nuppu "Järgmine" või "+". Ülejäänud kasutajaliidese juhtelemendid on üsna iseenesestmõistetavad, kuubikute kihtide kõrval olevad märkeruudud peavad kontrollima, milliseid kihte peaks nihutamine ja "Raami hoidmine" mõjutama. Lihtsalt proovige seda ja saate kõigest kiiresti aru.

Lisaks saate animatsiooni simuleerimiseks klõpsata nupul „Vaata 3D”, mis avab teise akna, millel on kuubi Java3D mudel. Saate kaamerat pöörata, hoides samal ajal all hiire vasakut nuppu (kaamera lähtestamiseks vajutage R). Animatsiooni esitamiseks/peatamiseks vajutage klahvi P, animatsiooni taastamiseks vajutage klahvi Q. Tekstivälja all "Vaata 3D" all tähistab praegust FrameTime, st animatsiooni kiirus.

Kui olete animatsiooniga lõpetanud, andke sellele nimi ja vajutage Fail> Salvesta nimega … ja salvestage animatsioon samasse kausta kui Cubo_Control.ino Sketch.

Uue animatsiooni lisamiseks visandisse avage Cubo_Control.ino ja lisage eskiisi peale järgmine kood:

#include "RGBit.h" // Asenda

Kerige alla jaotisse BTEvent () ja lisage animatsioonide lülitustele väiketäht

lüliti (curAnim) {

… Juhtum 10: animation = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; murda; juhtum 11: // TEIE UUS ANIMATSIOON animatsioon = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; murda; }

Samm 13: Bluetoothi rakendus

Bluetoothi rakendus
Bluetoothi rakendus

Kuubi tegelikuks juhtimiseks on tänu HC-05 moodulile üsna lihtne luua Bluetooth-rakendus telefoni ühendamiseks kuubikuga.

Rakenduse link: Github

Rakendus on avatud lähtekoodiga, nii et lisage julgelt täiendavaid animatsioone/funktsioone.

  • Käivitage rakendus, see palub teil Bluetoothi sisse lülitada
  • Klõpsake "Otsi" ja kuvatakse saadaolevate Bluetooth -ühenduste loend. Tuvastage kuubikust HC-05 moodul ja klõpsake sellel.
  • Kui kuubiga ühenduse loomisel ilmneb tõrge, proovige siduda moodul HC-05 Bluetoothi seadetes käsitsi
  • Pärast ühendamist lülitub rakendus juhtpaneelile ja Bluetooth -ühendus on loodud

Juhtnupud

  • Kiirus ja heledus: muutke liuguri väärtusi animatsiooni kiirendamiseks/aeglustamiseks või heleduse muutmiseks
  • Animatsioonid: animatsiooni muutmiseks klõpsake nuppu, vaikimisi animatsioonid korduvad (alustades vasakust ülaosast, vastab nupp currAnim)
  • Teksti kerimine: klõpsake nuppu "Tekst", mis avab dialoogi teksti sisestamiseks, mida keritakse läbi kuubi
  • Käsk: saate käske käsitsi sisestada käsuga TextField (vaadake süntaksi jaoks Cubo_Control.ino meetodit BTEvent ())
  • Snake: klassikaline madu mäng (punane: õun, roheline: madupea, sinine: vargsi saba) (juhtnupud: 4 suunanuppu, üles ja alla käivitatakse, keerates telefoni edasi (üles) või tagasi (alla))
  • Audio Visualizer: MSGEQ7, mida kasutatakse 6 heliriba visualiseerimiseks AUX pesast (animatsiooni 7 nupp)

14. samm: esitlus

Soovitan: