Satura rādītājs:
- 1. solis: teorija
- 2. darbība: aparatūra: LED kuba veidošana
- 3. solis: LED rindas
- 4. solis: slāņa montāža
- 5. solis: Kubu elektroinstalācija
- 7. solis: Arduino + Bluetooth vadības panelis
- 8. darbība: pēc izvēles: shēmas plates kodināšana
- 9. darbība: pievienojiet kubu
- 10. solis: programmatūra: multipleksēšanas cikls
- 11. darbība: pielāgotas animācijas
- 12. darbība. Papildu: AnimationCreator
- 13. darbība. Bluetooth lietotne
- 14. darbība: demonstrēšana
Video: RGB LED kubs ar Bluetooth lietotni un animāciju Izveidotājs: 14 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Šī ir pamācība, kā izveidot 6x6x6 RGB LED (kopējo anodu) kubu, ko kontrolē Bluetooth lietotne, izmantojot Arduino Nano. Visa konstrukcija ir viegli pielāgojama, piemēram, 4x4x4 vai 8x8x8 kubam. Šo projektu iedvesmojis GreatScott. Es nolēmu izvēlēties sarežģītāku konstrukciju, izmantojot lielākas gaismas diodes (8 mm), ar mazāku attālumu + pievienojot Bluetooth sakarus, kas ievērojami atvieglo jaunu funkciju pievienošanu, kā arī palielina iespēju izveidot lietotni, lai kontrolētu kubu. Tas arī ļauj man piem. kodējiet čūsku spēli (3. vitrīnas video beigās). Papildus tam es pievienoju audio vizualizētāja režīmu, kas ļauj kubam vizualizēt AUX ieeju, piem. Mūzika, izmantojot MSGEQ7 (demonstrējiet video beigās). Turklāt es uzrakstīju AnimationCreator lietojumprogrammu Java ar viegli lietojamu lietotāja saskarni, lai izveidotu un pielāgotu animācijas, lai ikviens varētu ļoti ātri izveidot pielāgotas animācijas. Tātad lietotne Sketch + Bluetooth nodrošina ietvaru jebkurai LED kuba konfigurācijai, un ar Animation Creator jums nav jāuztraucas par pielāgotu animāciju ieviešanu.
Saites uz Arduino skici un Bluetooth lietotni:
RGBCube_Arduino skice (Github)+Animācijas veidotājs.jar
Cubo Bluetooth lietotne (Github)
Kuba detaļu saraksts:
- 216x RGB LED (parastais anods) (8 mm) (AliExpress / Ebay)-> 6x6x6 = 216
- Lentes kabelis (pietiek ar 1 m 40 pin) (AliExpress / Ebay / Amazon)
- Sieviešu un vīriešu galvenes (vismaz 4x40 pin katrā) (AliExpress / Ebay / Amazon)
- Alvas vara / sudraba stieple 0,8 mm (~ 25 metri) (AliExpress / Ebay / Amazon)
- Saraušanās caurule (AliExpress / Ebay / Amazon)
Vadības paneļu detaļu saraksts:
- 7 x TLC5940 LED draiveris (Ebay / AliExpress)
- 6 x IRF 9540 P kanālu MOSFET (Amazon / Ebay / AliExpress)
- 8 x 10 uF kondensatori (Amazon / Ebay / AliExpress)
- 3 x 1000 uF kondensatori (Amazon / Ebay / AliExpress)
- 14x 2,2 kOhm rezistori (Amazon / Ebay / AliExpress)
- 1 x 1 kOhm rezistors (Amazon / Ebay / AliExpress)
- 7 x 28 kontaktu ligzdas (Amazon / Ebay / AliExpress)
- 1 x Arduino Nano (Amazon / Ebay / AliExpress)
- 1 x 1N4001 diode (jebkura parasta diode) (Amazon / Ebay / AliExpress)
- 8 x 0.1uF kondensatori (ebay)
- 1 x DC Jack PCB stiprinājums (Amazon / Ebay / AliExpress)
- 1 x HC-05 Bluetooth modulis (Amazon / Ebay / AliExpress)
1. solis: teorija
Ja jūs neinteresē multipleksēšanas teorija, pārejiet uz 2. darbību, lai sāktu faktisko veidošanu
Tā kā aparatūra un programmatūra ir vienlīdz lielas šī projekta daļas, vispirms apskatīsim teoriju.
Kuba smadzenes ir Arduino Nano. Tas nodrošina pietiekami daudz I/O, lai mijiedarbotos ar izmantotajiem LED draiveriem, kā arī izveidotu Bluetooth savienojumu ar moduli HC-05 un citu vadības aparatūru. Ja esat apskatījis citas LED kuba konstrukcijas, jūs zināt, ka lielākā daļa cilvēku izmanto vienkāršus Shift reģistrus, lai saglabātu atsevišķu gaismas diožu krāsu spilgtuma vērtības. Šī būve neizmanto Shift reģistrus, bet tā saucamos "TLC5940" LED draiverus. Kā redzēsim vēlāk, tas mums ietaupa daudz laika, kā arī tonnas papildu aparatūras (piemēram, rezistorus).
Kuba vadības pamatfunkcija izmanto multipleksēšanu. Šajā gadījumā mēs multipleksējam 6 kuba slāņus, kas nozīmē, ka visi slāņa visu gaismas diožu anodi (+) ir savienoti, turpretī visu vienas kolonnas visu LED katodi ir savienoti ar apakšu. Tas nozīmē, ka, ja vēlaties iedegt gaismas diodi pozīcijā x = 1, y = 2, z = 3, krāsa: zaļa, jums ir jānodrošina 5 V pie 3. slāņa anoda un jāpievieno GND kolonnas katodam, kas atbilst Zaļā tapa x = 1, y = 2. Tātad patiesībā vienā brīdī faktiski tiek ieslēgts tikai viens kuba slānis, bet, kā redzēsit vēlāk kodeksā, mēs tik ātri izslēdzam un ieslēdzam atsevišķus slāņus, ka mūsu acs domā, ka viss kubs ir ieslēgts.
Lai kontrolētu tādas lietas kā spilgtums, animācijas un tā tālāk, mēs izmantojam Bluetooth moduli HC-05, kas savienots ar Arduino Nano. Moduļa lietošana ar Arduino ir ļoti vienkārša, jo jums ir nepieciešams tikai 4 kontaktu savienojums, un jūs varat vienkārši saskarties ar moduli, izmantojot Arduino noklusējuma sērijveida saziņu. Šīs pamācības beigās jūs redzēsit, cik viegli ir uzrakstīt savu Bluetooth lietotni, lai kontrolētu kubu.
PIEZĪME
Manā Arduino shēmas shēmas shēmā varat redzēt arī nelielu shēmu MSGEQ7 mikroshēmas procesa audio ieejas saskarnei, tas absolūti nav nepieciešams faktiskajam kubam, un tā ir tikai papildu funkcionalitāte, ko es pievienoju, tāpēc jūs varat vienkārši ignorēt atzīmēto shēmu ar "MSGEQ7"
2. darbība: aparatūra: LED kuba veidošana
Tātad, pirms runājam par vadības ķēdi ap Arduino Nano, apskatīsim, kā izveidot pašu kubu.
Kubu konstrukcijas detaļu saraksts:
- 216x RGB LED (parastais anods) (AliExpress / Ebay)-> 6x6x6 = 216
- Lentes kabelis (pietiek ar 1 m 40 pin) (AliExpress / Ebay / Amazon)
- Sieviešu un vīriešu galvenes (vismaz 4x40 pin) (AliExpress / Ebay / Amazon)
- Alvas vara / sudraba stieple 0,8 mm (~ 25 metri) (AliExpress / Ebay / Amazon)
- Saraušanās caurule (AliExpress / Ebay / Amazon)
Pirmā lieta, kas jādara, un tagad es esmu garlaicīga, bet nepieciešama, mums ir jāpārbauda gaismas diodes. Lai to izdarītu, mēs vienkārši pievienojam barošanas bloku, piemēram, 9 V akumulatora bloku ar skavu, breaboardam. Kā redzams 3. Pirms GND pievienošanas katodām krāsām (sarkans, zaļš, zils) katram katodam pievienojiet 220 omu rezistoru, lai ierobežotu strāvu. Tagad izklaidējieties, pārbaudot visas 216 gaismas diodes.
Nākamajā solī mēs sagatavosim pārbaudītās gaismas diodes, lai vēlāk tās varētu viegli salikt kolonnās.
3. solis: LED rindas
Pirms mēs varam lodēt gaismas diodes attiecīgajās rindās, mums ir nepieciešams saliekt un sagriezt vadus.
Kā redzams pirmajā attēlā, es vienkārši koka gabalā izurbju 8 mm caurumu (8 mm gaismas diodēm) un izurbēju 3 ļoti mazus urbjus pa kreisi no LED cauruma un otru pa labi no cauruma. Šie urbji ir marķieri, lai pareizi saliektu vadus, un tiem jābūt apmēram 1 cm attālumā no gaismas diodes atveres vidus.
Šo tehniku iedvesmojis Stīvs Manlijs, vietnē YouTube varat atrast video, kurā viņš to dara nelielās variācijās.
Pirms sagriežat un saliekat vadus ap urbjiem, kā redzams 2. un 3. attēlā, pārliecinieties, vai vadu orientācija atbilst 1. attēlam (zils augšpusē pa kreisi, tad zaļš, pēc tam anods + pa labi un atkal sarkans pa kreisi). Apļa, kuru esat ieliekis vados, diametram jābūt pietiekami lielam, lai tas atbilstu alvas vara stieplei (0,8 mm). Šis solis ievērojami atvieglo jauku LED lodēšanu.
Tagad, kad visas gaismas diodes ir sagatavotas, mēs vēlamies tās salikt 6 rindās, kur ir pievienoti anodi (+):
- Izveidojiet nelielu džigu, kā redzams 6. attēlā, izurbiet 6 caurumus (diametrs 0,8 mm) ar 2,5 cm attālumu līdz nākamajam caurumam. Tas ļauj mums džigā vienlaikus ievietot 6 gaismas diodes
- Lai savienotu anodus, mums ir nepieciešams taisns tinēts vara stieples gabals ~ 16 cm garumā (ar papildu rezervi). Lai vadu padarītu jauku un taisnu, vienu stieples galu var uzstādīt, piemēram, elektriskā urbjmašīnā, vienlaikus nostiprināt uz galda apmēram 2 m vadu, pēc tam turot urbi tā, lai stieple būtu izstiepta un cieši pievilkta, un ieslēdziet sējmašīnu dažas sekundes ar ļoti ātri iztaisno vadu. Pēc tam jūs varat nogriezt vadu tieši vietā, kur nostiprinājāt gabalu. Varat arī izmantot divus knaibles un vienlaikus pievilkt mazākus stieples gabalus, taču tas ir daudz garlaicīgāk
- Kad jums ir 16 cm gari vadi, novirziet tos caur diodes anoda (+) caurumiem un pielodējiet anoda tapas pie stieples (7. attēls)
Visam kubam mums vajadzēs 6x6 = 36 no šīm LED rindām
4. solis: slāņa montāža
Kā jau minēju iepriekš, mēs kubā slāņus multipleksēsim, bet montāžai ir vieglāk uzbūvēt 6 sienas no 6x6 gaismas diodēm un pēc tam salikt tās viena otrai blakus un vienkārši palaist vienu alvas vara stiepli, kas savieno savienojuma anodus. rindas kopā slānī.
Uzmanieties, ka šis solis prasa daudz laika un pacietības, lai to izdarītu pareizi, kopumā būvei būs jāpielodē ap 1000 lodēšanas savienojumu, tāpēc nesteidzieties!
Lai izveidotu LED sienu:
- Džigam: lai izveidotu sienu, mums ir nepieciešams koka gabals ar 6 cirsts līnijām, lai tās ietilptu 6 rindas viena virs otras. Džigu var redzēt 2. attēlā (attālumi starp rindām: 2,5 cm)
- Jūs ievietojat 6 LED rindas kokgriezumos ar anoda vadu uz leju cirsts līnijā tā, lai 3 katodi (R, G, B) būtu vērsti uz augšu
- Lai savienotu katodus, kas novietoti viens virs otra (skat. 2. attēlu), mums ir nepieciešams vēl kāds vads (tātad atkal mēs 6 kolonnas x 3 katodi x 6 sienas = 108 alvas stieples gabali, kā aprakstīts pēdējā solī (2.) (arī tāds pats garums))
- Bīdiet stieples gabalus no kolonnas apakšas caur katodu caurumiem līdz augšējai rindai un pielodējiet vadu vietā pie katras gaismas diodes
To darot 6 reizes, lai iegūtu 6 LED gaismas diodes.
Tagad mēs faktiski varam salikt sienas faktiskajā kubā. Bet, lai noturētu kubu, mums jāveido sava veida zemes plakne. Šim nolūkam es vienkārši izmantoju kādu plānu saplāksni un izurbju tajā mazus 0,8 mm caurumus, lai tie atbilstu vadiem, kas karājās no zemākajām LED rindām (visām 6 LED sienām). Viena LED caurumu mērījumi ir dokumentēti 3. solī, un attālumi starp katru LED ir 2,5 cm.
Kad caurumi ir savās vietās, mēs tagad paņemam pirmo sienu un manevrējam to caurumos, kas atrodas saplākšņa kreisajā pusē. Gaismas diodes rindai apakšā vajadzētu sēdēt tieši pie koka, lai galu galā visas sienas būtu vienādas.
Turpiniet darīt to pašu ar pārējām LED sienām, taču atcerieties, ka sienu anodi vienmēr ir vērsti vienā virzienā. (3. attēlā visi sienu anodi ir vērsti pa kreisi)
Kad viss kubs ir ievietots, mums ir jāsalodē katra slāņa anodi. Lai to izdarītu, mēs ņemam vēl ~ 16 cm taisnas stieples gabalu un uzliekam to virs pirmā slāņa tā, lai vads vienā slānī pieskartos visiem 6 sienu anoda vadiem. Uzmanieties, lai jaunais vads nepieskartos nevienam no katodiem. Lodējiet vadu vietā un atkārtojiet to pašu 5 atlikušajiem slāņiem.
5. solis: Kubu elektroinstalācija
LED draivera plates daļas:
- 7 x TLC5940
- 6/7 x 10 uF kondensatori
- 2 x 1000 uF kondensatori
- 7x 2,2 kOhm rezistori
- 7 x 28 kontaktu IC ligzdas
- 7 x 0.1uF kondensatori
- Lentes kabelis
Pārejot pie vadības shēmām, vispirms apskatīsim LED draivera paneli. Kā minēts iepriekš, mums ir nepieciešami 7 TLC5940, kas savienoti ar Arduino Nano. Visas TLC5940 mikroshēmas ir savienotas ar ķēdi, kas nozīmē, ka visas draiveru vadības tapas ir savstarpēji savienotas (piemēram, pirmā TLC BLANK tapa ir savienota ar otrā, trešā, ceturtā,… TLC BLANK) un visas ir savienotas ar Arduinowith tie paši vadi, izņemot Serial In, kas vispirms ir pievienots no Arduino digitālās tapas pirmajam TLC, tad šīs pirmās TLC sērijas izejas tapa ir savienota ar otrā TLC SIN tapu un tā tālāk (skat. 4. attēlu) …
Tātad TLC dēļa shēma ir diezgan vienkārša, kā jūs varat redzēt pievienotajā shematikā.
(JA JŪS VĒLATIES UZ LĒKT UZ LĪDZEKĻU LĪDZ 8. SOLIEM)
Es pievienoju arī shēmas ekrānuzņēmumu frizzwhich, kas ietver pin etiķetes un arī GIMP.xcf failus ar slāņiem katram Control Pin savienojumam.
Sāciet lodēt visas IC ligzdas savās vietās, pēc tam pievienojiet 100 nF kondensatorus katram TLC, kam seko 2,2 kOhm rezistori IREFand GND un 7 kontaktu galvene augšējā labajā stūrī. Pēc tam varat vienkārši sekot.xcf failam, sākot ar "SIN slāni" Gimp failā, kurā parādīts, kā savienot draiveru sērijas IN/OUT tapas, izmantojot lentes kabeļus, pēc tam iespējojot CLK slāni GIMP un tā tālāk. Pārliecinieties, vai jums ir labi + un - kontaktu savienojumi ar tapas galveni augšējā labajā stūrī. Pārējās shēmas shēmai vajadzētu būt pašsaprotamai, taču pārliecinieties, vai tāfelei pievienojat pietiekami daudz 1000uF un 10uF kondensatoru, tāpēc nav tik svarīgi, kur tieši jūs tos pozicionējat.
Kad šī tāfele ir pabeigta, nākamajā solī varat pāriet uz Arduino dēli.
7. solis: Arduino + Bluetooth vadības panelis
Vadības paneļa daļas:
- 6 x IRF 9540 P-kanālu MOSFET
- 1 x 10 uF kondensatori
- 1 x 1000 uF kondensatori
- 7 x 2,2 kOhm rezistori
- 1 x 1 kOhm rezistors
- 2 x 14 sieviešu tapas galviņa
- 1 x Arduino Nano
- 1 x 1N4001 diode
- 1 x 0.1uF kondensatori
- 1 x DC Jack PCB stiprinājums
- 1 x HC-05 Bluetooth modulis
- 1 x 3,5 mm audio ligzda
Arduino vadības padome galvenokārt apstrādā multipleksēšanu, kā arī nodrošina LED draivera plates tapas galvenes ekvivalentu.
Lodēšana uz perfboard:
- Novietojiet divas sieviešu tapas, lai tās darbotos kā ligzda Arduino plāksnes vidū.
- Novietojiet 6 MOSFET rindas blakus viens otram Arduino labajā pusē (pusē ar analogo tapām) un pievienojiet 2,2 kOhm rezistoru starp pirmo un pēdējo tapu.
- Tagad novietojiet 6 kontaktu galviņu MOSFET (rindas vidū) priekšā un pievienojiet FET 6 DRAIN tapas (vidējā tapa) pie galvenes un FET GATE tapas (kreisā tapa) ar attiecīgajām Arduino analogās tapām..
- Pēc tam lodējiet 7 kontaktu galveni LEDDriver savienojumam Arduino otrā pusē, atstājiet vietu kabeļiem un lodējiet visus savienojumus no Arduino līdz tapas galvenei.
- Pievienojiet dažus kondensatorus (1-2 1000uF, 1 10uF, 100nF blakus Arduino) iespējamai strāvas novadīšanai.
- Lodējiet 4 kontaktu galviņu blakus Arduino aizmugurei HC-05 modulim un izveidojiet 4 savienojumus ar VCC, RX, TX, GND un neaizmirstiet izveidot sprieguma dalītāju no HC-05 un RX tapas. Arduino TX tapa (skat. šeit)
- Novietojiet līdzstrāvas ligzdu uz jebkuras plāksnes malas ar slēdzi blakus un pievienojiet slēdža labo tapu līdzstrāvas ligzdas + tapai
- Visbeidzot izveidojiet visus nepieciešamos strāvas savienojumus no DC ligzdas GND tapas un slēdža labās tapas (VCC) līdz Arduino, MOSFET, kondensatoriem un HC-05, kā redzams shēmā. Neaizmirstiet pievienot diodi, kas nodrošina jaudu tikai no slēdža VCC tapas, lai ieplūstu Arduinos 5V tapā, nevis otrādi. (Tas aizsargā Arduino, kad to programmē, izmantojot USB savienojumu)
Strāvas savienojumam es izmantoju līdzstrāvas kontaktligzdu ar vienkāršu slēdzi, ja vēlaties, varat izmantot arī USB savienotāju. Strāvas savienotāju uzticēju citai nelielai shēmas platei, lai tā labi iekļautos manā koka korpusā, bet jūs varat to vienkārši ievietot tieši uz Arduino dēļa. Kā minēts pirmajā solī, shēmā ir arī MSGEQ7 savienojuma shēma, bet vienkārši ignorējiet to, ja neizmantojat MSGEQ7. (Lai iegūtu vairāk informācijas par MSGEQ7 funkcionalitāti, noklikšķiniet šeit)
Neaizmirstiet izgatavot vēl vienu 7Pin lentes kabeli ar vīriešu tapu galviņām katrā galā, lai savienotu Arduino plāksni ar vadītāja paneli
8. darbība: pēc izvēles: shēmas plates kodināšana
Tātad, ja jums nepatīk daudz kabeļu lodēšana, protams, varat arī iegravēt nepieciešamās PCB, ja vēlaties.
Manā kubā Arduino plate un barošanas/audio savienotāja plate ir iegravēti dēļi, izmantojot pievienotos shematiskos/EAGLE failus. Pirmo reizi shematiski pieļāvu kļūdu, tāpēc nācās pārtaisīt LED draivera paneli tāpat kā pēdējā solī. Dēļa iegravēšanai, nevis perboard izmantošanai nav milzīgu priekšrocību, tāpēc jūtieties brīvi vai nu kodināt tā dēli, vai pielodēt to uz perfboard.
Pievienotajā.zip failā var atrast gan BOARD, gan SHEMATIC failu.
Ievērojiet, ka augšējā slāņa pēdas (sarkanās) ir jābūt stiepļu tiltiem (jo es nevaru kodināt divpusējus dēļus mājās). Neievadītās pēdas parāda savienojumus, kas jāizveido, izmantojot kabeļus sieviešu tapu galviņām.
Shēmā ir iekļauta funkcija MSGEQ7, kuru varat vienkārši izlaist, izdzēšot shematiskās sadaļas atzīmi "(MSGEQ7)".pdf shēmas ekrānuzņēmumā.
9. darbība: pievienojiet kubu
Lai savienotu visas kuba daļas, vispirms pievienojiet 7 kontaktu kabeli Arduino un vadītāja pultim (pārliecinieties, vai orientācija ir pareiza!). Pēc tam pievienojiet HC05 moduli 4 kontaktu galvenei un pievienojiet barošanas paneli, ja tas ir atdalīts.
Lai savienotu kuba 7x16 kontaktu galvenes, noteikti sāciet ar pirmo TLC (to, kura SIN tapa ir tieši savienota ar Arduino). Atrodiet pareizo 16 kontaktu kabeli no kuba un pievienojiet to pirmā TLC tapas galvenei (pārliecinieties, vai katoda Nr.0 kabelis ir savienots ar pirmo TLC OUT0 tapu!). Turpiniet un pievienojiet pārējos 16 kontaktu kabeļus atbilstošajām TLC galvenēm pareizā secībā.
Visbeidzot, pievienojiet 6Pin kabeli anodiem no kuba līdz 6Pin galvenei vadības panelī blakus MOSFET.
Lai pabeigtu kubu, es korpusam pievienoju sienas ar vēl kādu saplāksni ar melnu krāsu un pielīmēju.
Tagad esam pabeiguši visu aparatūru, kas nepieciešama visai būvei!
10. solis: programmatūra: multipleksēšanas cikls
Tagad teorētiski Arduino pastāvīgi veic šādu ciklu:
- Ja LayerDuration ir pagājis, ielādējiet nākamā slāņa vērtības TLC, izslēdziet pašreizējo slāni, ieslēdziet nākamo slāni, atiestatiet LayerDuration, piesaistiet jaunās vērtības TLC
- Ja FrameDuration ir pagājis, ielādējiet pašreizējās animācijas jauno rāmi, saglabājot visu LED un krāsu vērtības ValueLed buferī, atiestatiet FrameDuration
- Ja ir pieejami Bluetooth dati, reaģējiet uz tiem (mainīt animācijas, spilgtumu …) (sīkāka informācija vēlāk)
Kā redzat, galvenais koda uzsvars tiek likts uz ātrumu. Ir svarīgi, lai laiks slāņa maiņai būtu minimāls.
Jo ātrāk ieslēgsit/izslēgsiet slāņus, jo vairāk "rāmju" saņemsiet. šādam 6x6x6 RGB LED kubam es sapratu, ka slāņa ilgums ir 1700 microSec. ir pietiekami labs, lai mirgošana būtu minimāla, un jāatstāj pie šīs vērtības. FrameDuration kontrolē vairāk animācijas ātruma, lai to varētu mainīt dažādām animācijām.
Nākamajā solī mēs apskatīsim, kā mēs patiesībā varam uzrakstīt savas animācijas.
11. darbība: pielāgotas animācijas
Lai ieviestu animāciju, mums katru reizi, kad FrameDuration ir pagājis, jāiestata buferis ValueLed uz vēlamajām vērtībām nākamajā kadrā. Mēs to darām, izsaucot makro funkciju "SETLED (x, y, z, COLOR, Brightness)"
x, y, z ir tās gaismas diodes koordinātas, kuras mēs vēlamies iestatīt, un KRĀSA (SARKANA, ZAĻA vai ZILA) ir krāsa, kuru mēs vēlamies iestatīt, un Spilgtums ir šīs noteiktās krāsas faktiskā vērtība.
Tātad, lai, piemēram, ieviestu animāciju, kas visā kubā vienkārši nejauši parāda sarkanu, zaļu un zilu krāsu, varat to vienkārši izdarīt:
void randomLedsFull () {
par (uint8_t j = 0; j <CUBE_SIZE; j ++) {par (uint8_t x = 0; x <CUBE_SIZE; x ++) {par (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); SETLED (x, y, j, rand, maxBright); }}}}
Šī metode tiek izsaukta katru reizi, kad FrameDuration ir pagājis, un tā tiek atlasīta no komandas switch-case cilpā (). Ja rakstāt jaunas animācijas, varat tās pievienot, vienkārši pievienojot slēdžiem.
12. darbība. Papildu: AnimationCreator
Turklāt es uzrakstīju AnimationCreator, izmantojot JavaFX un Java3D.
Tas atvieglo pielāgotu animāciju izveidi un rediģēšanu, nodrošinot viegli saprotamu lietotāja saskarni.
Jūs varat izveidot, rediģēt, pārdēvēt un pārkonfigurēt animācijas 4x4x4, 6x6x6 vai 8x8x8 LED kubiem
Lai izveidotu jaunu animāciju, vienkārši nospiediet Fails> Jauns, sadaļā "Kubs" varat atlasīt kuba izmēru, lai iestatītu gaismas diodes krāsu, atlasiet vēlamo krāsu ar krāsu atlasītāju kreisajā pusē un pēc tam ar peles kreiso taustiņu noklikšķiniet uz vēlamajām gaismas diodēm šī rāmja krāsa. Lai pievienotu vēl vienu kadru, nospiediet "Tālāk" vai "+". Pārējās lietotāja saskarnes vadīklas ir diezgan pašsaprotamas, atzīmējot izvēles rūtiņas blakus kubu slāņiem, ir jāpārbauda, kurus slāņus vajadzētu ietekmēt, pārvietojot un saglabājot rāmi. Vienkārši pārbaudiet to, un jūs visu sapratīsit īsā laikā.
Turklāt, lai simulētu animāciju, varat noklikšķināt uz pogas "Skatīt 3D", kas atver citu logu ar Java 3D kuba modeli. Jūs varat pagriezt kameru, turot nospiestu peles kreiso pogu (nospiediet R, lai atiestatītu kameru). Lai atskaņotu/apturētu animāciju, nospiediet taustiņu P, lai atiestatītu animācijas trāpījumu Q. Teksta lauks zem sadaļas "Skatīt 3D" norāda uz pašreizējo FrameTime, piemēram, jūsu animācijas ātrums.
Kad esat pabeidzis animāciju, piešķiriet tai nosaukumu un nospiediet Fails> Saglabāt kā … un saglabājiet animāciju tajā pašā mapē, kurā atrodas skice Cubo_Control.ino.
Lai skicē iekļautu jaunu animāciju, atveriet vietni Cubo_Control.ino un skices virspusē pievienojiet šādu kodu:
#include "RGBit.h" // Aizstāt
Ritiniet uz leju līdz BTEvent () un pievienojiet gadījuma paziņojumu animāciju pārslēgšanas gadījumam
slēdzis (curAnim) {
… 10. gadījums: animācija = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; pārtraukums; 11. gadījums: // JŪSU JAUNĀ ANIMĀCIJA animācija = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; pārtraukums; }
13. darbība. Bluetooth lietotne
Lai faktiski kontrolētu kubu, pateicoties HC-05 modulim, ir pavisam vienkārši izveidot Bluetooth lietotni, lai savienotu tālruni ar kubu.
Saite uz lietotni: Github
Lietotne ir atvērtā koda, tāpēc varat brīvi pievienot papildu animācijas/funkcijas.
- Palaidiet lietotni, tā lūdz ieslēgt Bluetooth
- Noklikšķiniet uz "Meklēt", un parādās pieejamo Bluetooth savienojumu saraksts. No kuba identificējiet HC-05 moduli un noklikšķiniet uz tā.
- Ja, mēģinot izveidot savienojumu ar Cube, rodas kļūda, mēģiniet pārī savienot HC-05 moduli Bluetooth iestatījumos manuāli
- Pēc pievienošanas lietotne pārslēdzas uz vadības ekrānu un ir izveidots Bluetooth savienojums
Vadīklas
- Ātrums un spilgtums: mainiet slīdņa vērtības, lai paātrinātu/palēninātu animāciju vai mainītu spilgtumu
- Animācijas: noklikšķiniet uz pogas, lai mainītu animāciju, pēc noklusējuma animācijas tiek atkārtotas (sākot ar augšējo kreiso pogu, poga atbilst currAnim)
- Teksta ritināšana: noklikšķiniet uz pogas "Teksts", kas parāda dialoglodziņu, lai ievadītu tekstu, kas tiks ritināts pa kubu
- Komanda: Jūs varat ievadīt komandas manuāli, izmantojot komandu TextField (skatiet sintaksi Cubo_Control.ino BTEvent () metodē)
- Čūska: klasiskā čūsku spēle (sarkana: ābols, zaļa: čūskas galva, zila: ielīst aste) (vadīklas: 4 virziena pogas, uz augšu un uz leju tiek iedarbināta, pagriežot tālruni uz priekšu (uz augšu) vai atpakaļ (uz leju))
- Audio vizualizators: MSGEQ7 izmanto, lai vizualizētu 6 audio joslas no AUX ligzdas (poga animācijai 7)
14. darbība: demonstrēšana
Ieteicams:
Burvju kubs vai mikrokontrollera kubs: 7 soļi (ar attēliem)
Burvju kubs vai mikrokontrollera kubs: šajā instrukcijā es jums parādīšu, kā no kļūdaina mikrokontrollera izveidot burvju kubu. Šī ideja nāk no brīža, kad no Arduino Mega 2560 esmu paņēmis kļūdainu ATmega2560 mikrokontrolleri un izveidojis kubu .Par Magic Cube aparatūru man ir jābūt kā
Vienkāršs Arduino RGB LED kubs (3x3x3): 18 soļi (ar attēliem)
Vienkāršs Arduino RGB LED kubs (3x3x3): esmu izpētījis LED kubus un pamanījis, ka lielākā daļa no tiem ir vai nu sarežģīti, vai dārgi. Apskatījis daudz dažādu kubu, es beidzot nolēmu, ka manam LED kubam jābūt: viegli un vienkārši uzbūvējamam par pieņemamu cenu
Vienkāršs RGB LED kubs 2X2X2: 5 soļi (ar attēliem)
Vienkāršs RGB LED kubs 2X2X2: Šis projekts ir RGB LED kubs, jo tas ļauj jums pavairot krāsu daudzumu, ko iegūstat no kuba, izmantojot 14 Arduino uno izejas, lai jūs izmantotu 12 izejas, lai kontrolētu gaismas diodes un 2 izejas kontrolēt kuba plaknes caur 2
RGB LED kubs: 9 soļi (ar attēliem)
RGB LED kubs: šajā pamācībā mēs izveidojām ar baterijām darbināmu RGB LED kubu. Tas automātiski mainās pa krāsām, izmantojot iebūvētu mikrokontrolleru. Kuba apakšējā puse ir griezta ar lāzeru, bet augšējā puse ir 3D drukāta. Kubam ir spiedpoga uz
Arduino Mega 8x8x8 RGB LED kubs: 11 soļi (ar attēliem)
Arduino Mega 8x8x8 RGB LED kubs: "Tātad, jūs vēlaties izveidot 8x8x8 RGB LED kubu" Es jau kādu laiku spēlēju ar elektroniku un Arduino, tostarp izveidoju augstas pastiprinātāja slēdža kontrolieri savai automašīnai un sešu joslu Pinewood Derby tiesnesis mūsu skautu grupai. Tāpēc es