Sisällysluettelo:
- Vaihe 1: Teoria
- Vaihe 2: Laitteisto: LED -kuution rakentaminen
- Vaihe 3: LED -rivit
- Vaihe 4: Kerrosasennus
- Vaihe 5: Kuution johdotus
- Vaihe 7: Arduino + Bluetooth -ohjauskortti
- Vaihe 8: Valinnainen: Piirilevyjen etsaus
- Vaihe 9: Liitä kuutio
- Vaihe 10: Ohjelmisto: Multiplexing Cycle
- Vaihe 11: Mukautetut animaatiot
- Vaihe 12: Muuta: AnimationCreator
- Vaihe 13: Bluetooth -sovellus
- Vaihe 14: Esittely
Video: RGB -LED -kuutio Bluetooth -sovelluksella ja animaatiolla Luoja: 14 vaihetta (kuvilla)
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Tämä on ohje kuinka rakentaa 6x6x6 RGB LED (Common Anodes) -kuutio, jota ohjataan Bluetooth -sovelluksella Arduino Nanon avulla. Koko rakenne on helposti mukautettavissa esimerkiksi 4x4x4 tai 8x8x8 kuutioon. Tämä projekti on saanut inspiraationsa GreatScottista. Päätin kehittää hienostuneemman rakenteen suuremmilla ledeillä (8 mm), pienemmällä etäisyydellä + Bluetooth -yhteyden lisäämisellä, mikä tekee uusien toimintojen lisäämisestä paljon helpompaa ja lisää myös kyvyn rakentaa sovellus kuution hallitsemiseksi. Tämän ansiosta voin myös mm. koodaa käärmepeli (kolmas esittelyvideo lopussa). Tämän lisäksi lisäsin Audio Visualizer -tilan, jonka avulla kuutio voi visualisoida AUX -tulon, esim. Musiikkia MSGEQ7: llä (esittelyvideo lopussa). Lisäksi kirjoitin AnimationCreator -sovelluksen Javassa helppokäyttöisellä käyttöliittymällä animaatioiden luomiseen ja säätämiseen, jotta kuka tahansa voi luoda mukautettuja animaatioita erittäin nopeasti. Sketch + Bluetooth -sovellus tarjoaa siis puitteet mille tahansa LED -kuutio -kokoonpanolle, eikä Animation Creatorin avulla tarvitse huolehtia mukautettujen animaatioiden toteuttamisesta.
Linkit Arduino Sketch- ja Bluetooth -sovellukseen:
RGBCube_Arduino Sketch (Github)+Animation Creator.jar
Cubo Bluetooth -sovellus (Github)
Kuution osaluettelo:
- 216x RGB-LED (yhteinen anodi) (8 mm) (AliExpress / Ebay)-> 6x6x6 = 216
- Nauhakaapeli (1m 40Pin pitäisi riittää) (AliExpress / Ebay / Amazon)
- Naaras- ja urosotsikot (vähintään 4 x 40 pin) (AliExpress / Ebay / Amazon)
- Tinattu kupari / hopealanka 0,8 mm (~ 25 metriä) (AliExpress / Ebay / Amazon)
- Kutistusputki (AliExpress / Ebay / Amazon)
Ohjauspaneelien osaluettelo:
- 7 x TLC5940 -LED -ohjain (Ebay / AliExpress)
- 6 x IRF 9540 P-kanavaista MOSFETia (Amazon / Ebay / AliExpress)
- 8 x 10 uF -kondensaattoria (Amazon / Ebay / AliExpress)
- 3 x 1000 uF -kondensaattoria (Amazon / Ebay / AliExpress)
- 14x 2,2 kOhm: n vastukset (Amazon / Ebay / AliExpress)
- 1 x 1 khm: n vastus (Amazon / Ebay / AliExpress)
- 7 x 28 -nastaiset IC -liittimet (Amazon / Ebay / AliExpress)
- 1 x Arduino Nano (Amazon / Ebay / AliExpress)
- 1 x 1N4001 -diodi (mikä tahansa yleinen diodi) (Amazon / Ebay / AliExpress)
- 8 x 0.1uF kondensaattorit (Ebay)
- 1 x DC -liitäntä piirilevylle (Amazon / Ebay / AliExpress)
- 1 x HC-05 Bluetooth-moduuli (Amazon / Ebay / AliExpress)
Vaihe 1: Teoria
Jos et ole kiinnostunut multipleksoinnin teoriasta, siirry vaiheeseen 2 varsinaisen koontiversion alkua varten
Koska laitteisto ja ohjelmisto ovat yhtä suuria osia tässä projektissa, katsotaan ensin teoriaa.
Kuution aivot ovat Arduino Nano. Se tarjoaa tarpeeksi I/O-yhteyttä vuorovaikutukseen käytettyjen LED-ohjaimien kanssa sekä muodostaa Bluetooth-yhteyden HC-05-moduuliin ja muuhun ohjauslaitteistoon. Jos olet tarkastellut muita LED Cube -rakenteita, tiedät, että useimmat ihmiset käyttävät yksinkertaisia Shift -rekistereitä yksittäisten LED -valojen värien kirkkausarvojen tallentamiseen. Tämä rakenne ei käytä Shift -rekistereitä, vaan ns. "TLC5940" LED -ohjaimia. Kuten näemme myöhemmin, tämä säästää paljon aikaa sekä tonnia lisälaitteistoa (esim. Vastukset).
Kuution ohjaamisen perustoiminnot käyttävät multipleksointia. Tässä tapauksessa multipleksoimme kuution kuusi kerrosta, mikä tarkoittaa, että kerroksen kaikkien LEDien kaikki anodit (+) on kytketty, kun taas saman sarakkeen kaikkien LEDien yksittäiset katodit on kytketty pohjaan. Tämä tarkoittaa, että jos haluat sytyttää LED -valon kohdassa x = 1, y = 2, z = 3, väri: vihreä, sinun on syötettävä 5 V kerroksen 3 anodille ja liitettävä GND sarakkeen katodiin. Vihreä nasta x = 1, y = 2. Todellisuudessa siis vain yksi kerros kuutiota on tosiasiallisesti kytketty päälle, mutta kuten näet myöhemmin koodissa, sammutamme ja kerrostamme yksittäiset kerrokset niin nopeasti, että silmämme ajattelee, että koko kuutio on päällä.
Hallitsemme esimerkiksi kirkkautta, animaatioita ja niin edelleen, käytämme HC-05 Bluetooth-moduulia, joka on kytketty Arduino Nano -laitteeseen. Moduulin käyttäminen Arduinon kanssa on erittäin helppoa, koska tarvitset vain 4-nastaisen liitännän ja voit liittää moduulin yksinkertaisesti Arduinon oletusarvoisen sarjayhteyden kautta. Tämän ohjeen loppupuolella näet, kuinka helppoa on kirjoittaa oma Bluetooth -sovelluksesi kuution hallitsemiseksi.
HUOMAUTUS
Arduino -piirilevyn kaaviossa näet myös pienen kaavion MSGEQ7 -sirun liittämisestä äänituloon, tämä ei ole ehdottomasti välttämätöntä varsinaiselle kuutiolle ja se on vain lisätoiminto, jonka lisäsin, joten voit yksinkertaisesti jättää huomiotta kaavamaisen merkityn ja "MSGEQ7"
Vaihe 2: Laitteisto: LED -kuution rakentaminen
Joten katsotaanpa kuinka rakentaa itse kuutio, ennen kuin puhumme Arduino Nanon ympärillä olevasta ohjauspiiristä.
Osaluettelo kuution rakentamiseen:
- 216x RGB-LED (yhteinen anodi) (AliExpress / Ebay)-> 6x6x6 = 216
- Nauhakaapeli (1m 40Pin pitäisi riittää) (AliExpress / Ebay / Amazon)
- Naaras- ja urosotsikot (vähintään 4x40pin) (AliExpress / Ebay / Amazon)
- Tinattu kupari / hopealanka 0,8 mm (~ 25 metriä) (AliExpress / Ebay / Amazon)
- Kutistusputki (AliExpress / Ebay / Amazon)
Ensimmäinen asia, ja nyt se on työlästä, mutta välttämätöntä, meidän on testattava LEDit. Tätä varten yksinkertaisesti liitämme virtalähteen, esim. 9 V: n akkulohko, jossa on pidike, breaboardiin. Kuten kuvassa 3 näkyy, LEDien pisin nasta on anodi (+), joten liität tämän nastan akun +9 V: n jännitteeseen. Ennen kuin liität GND: n yksittäisiin väreihin Katodit (punainen, vihreä, sininen), lisää 220 ohmin vastus kuhunkin katodiin virran rajoittamiseksi. Nyt on hauskaa testata kaikkien 216 LED -valon värejä.
Seuraavassa vaiheessa valmistamme testatut LEDit, jotta voimme koota ne helposti sarakkeisiin myöhemmin.
Vaihe 3: LED -rivit
Ennen kuin voimme juottaa LEDit omille riveilleen, meidän on taivutettava ja leikattava johdot.
Kuten näet ensimmäisessä kuvassa, porasin yksinkertaisesti 8 mm: n reiän (8 mm: n LEDeille) puukappaleeseen ja porasin 3 hyvin pientä poraa LED -reiän vasemmalle puolelle ja toisen reiän oikealle puolelle. Nämä porat ovat merkkejä johtimien taivuttamisesta oikein, ja niiden tulisi olla noin 1 cm: n etäisyydellä LED -reiän keskeltä.
Tämä tekniikka on saanut inspiraationsa Steve Manleysta. Löydät videon, jossa hän tekee tämän pienessä vaihtelussa YouTubessa.
Ennen kuin leikkaat ja taivutat johtimia porakoneiden ympärille, kuten kuvissa 2 ja 3 näkyy, varmista, että johtojen suunta vastaa kuvaa 1 (sininen ylhäällä vasemmalla, sitten vihreä, sitten anodi + oikealla ja punainen taas vasemmalle). Johtoihin taivutetun ympyrän halkaisijan on oltava riittävän suuri, jotta se mahtuu tinattuun kuparilankaan (0,8 mm). Tämä vaihe helpottaa huomattavasti LEDien juottamista kauniisti paikoilleen.
Nyt kun kaikki LEDit on valmisteltu, haluamme koota ne 6 riville, joihin anodit (+) on kytketty:
- Rakenna pieni jigi kuvan 6 mukaisesti, poraa 6 reikää (halkaisija 0,8 mm), joiden etäisyys on 2,5 cm seuraavaan reikään. Tämän ansiosta voimme asentaa 6 LEDiä kerrallaan jigiin
- Anodien liittämiseen tarvitsemme suoran tinatun kuparilankakappaleen, jonka pituus on ~ 16 cm (hieman ylimääräistä marginaalia). Jotta lanka olisi mukava ja suora, voit kiinnittää langan toisen pään esim. Sähköporaan, kiinnittää noin 2 m johtoa kerrallaan pöydälle ja pitää sitten porasta kiinni niin, että lanka on venytetty ja tiukka ja käynnistä pora suoristaa langan nopeasti nopeasti muutaman sekunnin ajan. Tämän jälkeen voit katkaista langan siitä kohdasta, johon kiinnitit kappaleen. Voit myös käyttää kahta pihdiä ja kiristää pienempiä lankakappaleita kerrallaan, mutta se on paljon työläämpää
- Kun sinulla on 16 cm pitkät johdot, ohjaat ne jigin LED -valojen anodi (+) -reikien läpi ja juotat anoditapit lankaan (Kuva 7)
Koko kuutioon tarvitsemme 6x6 = 36 näistä LED -riveistä
Vaihe 4: Kerrosasennus
Kuten aiemmin mainitsin, moninkertaistamme kuution kerrokset, mutta kokoonpanoa varten on helpompi rakentaa 6 seinää 6x6 LEDistä ja koota ne sitten vierekkäin ja ajaa vain yksi tinattu kuparilanka, joka yhdistää anodit rivit yhdessä kerroksessa.
Varo, että tämä vaihe vaatii paljon aikaa ja kärsivällisyyttä tehdäkseen sen oikein, yhteensä joudut rakentamaan noin 1000 juotosliitosta, joten vie aikaa!
LED -seinän rakentaminen:
- Jigille: Tarvitsemme puukappaleen, jossa on 6 veistettyä viivaa, jotta se mahtuu 6 riviä päällekkäin. Itse jigi näkyy kuvassa 2 (rivien väliset etäisyydet: 2,5 cm)
- Sovitat kuusi LED -riviä kaiverruksiin anodijohdin alaspäin veistettyyn viivaan siten, että 3 katodia (R, G, B) ovat ylöspäin
- Jotta voimme yhdistää toistensa yläpuolelle sijoitetut katodit (katso kuva 2), tarvitsemme lisää johtoa (joten jälleen 6 saraketta x 3 katodia x 6 seinää = 108 tinattua lankakappaletta, kuten on kuvattu viimeisessä vaiheessa (2.) (myös sama pituus))
- Liu'uta lankakappaleet pylvään pohjasta katodien reikien läpi yläriville ja juota lanka paikalleen jokaisen LED -valon kohdalla
Tee tämä 6 kertaa saadaksesi 6 LED -seinää.
Nyt voimme todella koota seinät itse kuutioon. Mutta kuution pitämiseksi meidän on rakennettava jonkinlainen maataso. Tätä varten käytin yksinkertaisesti ohutta vaneria ja porasin siihen pieniä 0,8 mm: n reikiä, jotka sopivat alimpien LED -rivien (kaikkien 6 LED -seinien) roikkuviin johtoihin. Yksittäisen LEDin reikien mitat on dokumentoitu vaiheessa 3 ja kunkin LEDin välinen etäisyys on 2,5 cm.
Kun reiät ovat paikoillaan, otamme nyt ensimmäisen seinän ja ohjaamme sen vanerin aivan vasemmalla puolella oleviin reikiin. Alareunassa olevan LED -rivin tulisi istua puun päällä niin, että lopulta kaikki seinät ovat samassa linjassa.
Jatka samalla tavalla muiden LED -seinien kanssa, mutta muista, että seinien anodit ovat aina samaan suuntaan. (kuvassa 3 kaikki seinien anodit osoittavat vasemmalle)
Kun koko kuutio on paikallaan, meidän on juotettava kunkin kerroksen anodit yhteen. Tätä varten otamme toisen ~ 16 cm: n palan suoraa lankaa ja asetamme sen ensimmäisen kerroksen päälle niin, että lanka koskettaa kaikkia 6 seinän anodilankoja yhdessä kerroksessa. Varo, että uusi johto ei kosketa katodeja. Juotos lanka paikalleen ja toista sama 5 jäljellä olevan kerroksen kohdalla.
Vaihe 5: Kuution johdotus
LED -ohjainkortin osat:
- 7 x TLC5940
- 6/7 x 10 uF kondensaattorit
- 2 x 1000 uF kondensaattoria
- 7x 2.2kOhm vastukset
- 7 x 28 -nastaiset IC -liittimet
- 7 x 0.1uF kondensaattorit
- Nauhakaapeli
Siirryttäessä ohjauspiireihin katsotaan ensin LED -ohjainkorttia. Kuten aiemmin mainittiin, tarvitsemme 7 TLC5940 -laitetta, jotka on kytketty Arduino Nano -laitteeseen. Kaikki TLC5940 -sirut on ketjutettu ketjussa, mikä tarkoittaa, että kaikki ohjainten ohjaustapit on kytketty toisiinsa (esim. Ensimmäisen TLC: n TYHJÄ nasta on kytketty toisen, kolmannen, neljännen,… TLC: n TYHJÄN) ja kaikki on liitetty Arduinowithiin samat johdot paitsi Serial In, joka on ensin liitetty Arduino Digital Pin -laitteesta ensimmäiseen TLC: hen, sitten tämän ensimmäisen TLC: n Serial Out -nasta on kytketty toisen TLC: n SIN -nastaan ja niin edelleen (katso kuva 4)…
Joten TLC Boardin kaavio on melko yksinkertainen, kuten voit nähdä liitteenä olevasta kaaviosta.
(JOS HALUAT HYVÄTÄ HALLITUKSEN JUMPPUA VAIHEEN 8)
Olen myös liittänyt kuvakaappauksen kaaviosta frizzwhich, joka sisältää pin -tarrat ja myös GIMP.xcf -tiedostot, joissa on kerrokset jokaiselle Control Pin -yhteydelle.
Aloita juottamalla kaikki IC -pistorasiat paikoilleen ja lisäämällä sitten 100nF -kondensaattorit kuhunkin TLC: hen, jonka jälkeen 2,2 kOhm: n vastukset IREFand GND: lle ja 7 -nastainen otsikko oikeassa yläkulmassa. Sen jälkeen voit seurata.xcf -tiedostoa alkaen "SIN -kerroksesta" Gimp -tiedostossa, joka esittelee, miten ohjainten sarja-/lähtöliitännät kytketään nauhakaapeleilla, minkä jälkeen CLK -kerros otetaan käyttöön GIMP: ssä ja niin edelleen. Varmista, että + ja - nastat on liitetty oikein oikeassa yläkulmassa olevaan nastan otsikkoon. Kaavion muun osan tulee olla itsestään selvää, mutta varmista, että lisäät tarpeeksi 1000uF- ja 10uF -kondensaattoreita kortille, sillä ei ole niin merkitystä, missä tarkalleen sijoitat ne.
Kun tämä lauta on valmis, voit siirtyä Arduino Boardiin seuraavassa vaiheessa.
Vaihe 7: Arduino + Bluetooth -ohjauskortti
Ohjauspaneelin osat:
- 6 x IRF 9540 P-kanavaista MOSFETia
- 1 x 10 uF kondensaattorit
- 1 x 1000 uF kondensaattorit
- 7 x 2,2 kOhm vastukset
- 1 x 1 kOhm vastus
- 2 x 14 naarasliitintä
- 1 x Arduino Nano
- 1 x 1N4001 diodi
- 1 x 0.1uF kondensaattorit
- 1 x DC -liitäntä piirilevylle
- 1 x HC-05 Bluetooth-moduuli
- 1 x 3,5 mm: n ääniliitäntä
Arduino -ohjauskortti käsittelee pääasiassa multipleksointia ja tarjoaa vastineen LED -ohjainkortin nastan otsikolle.
Juotos perfboardilla:
- Aseta kaksi naarastappia, jotka toimivat Arduinon pistokkeena levyn keskelle.
- Aseta 6 MOSFETia peräkkäin vierekkäin Arduinon oikealle puolelle (sivu, jossa on analogiset nastat) ja lisää 2,2 kOhm: n vastus ensimmäisen ja viimeisen tapin väliin.
- Aseta nyt 6 -nastainen otsikko MOSFET -laitteiden eteen (rivin keskelle) ja yhdistä FET -laitteiden 6 DRAIN -nastaa (keskimmäinen nasta) otsakkeeseen ja FET -laitteiden GATE -nastat (vasen tappi) vastaaviin Arduino -analogisiin nastoihin.
- Seuraavaksi juota 7 -nastainen otsikko LEDDriver -liitäntää varten Arduinon toisella puolella, jätä tilaa kaapeleille ja juota kaikki liitännät Arduinosta tapin otsikkoon.
- Lisää joitain kondensaattoreita (1-2 1000uF, 1 10uF, 100nF Arduinon viereen) mahdollisia virtausviemäreitä varten.
- Juotos 4-nastainen otsikko Arduinon takaosan viereen HC-05-moduulille ja tee neljä liitäntää VCC, RX, TX, GND ja älä unohda tehdä jännitteenjakajaa HC-05: n ja RX-nastasta Arduinon TX -nasta (katso täältä)
- Aseta DC -liitin levyn mille tahansa reunalle kytkin vieressä ja kytke oikean kytkimen nasta DC -liittimen + -nastaan
- Tee lopuksi kaikki tarvittavat virtaliitännät DC-liittimen GND-nastasta ja kytkimen oikeasta tapista (VCC) Arduinoon, MOSFET-laitteisiin, kondensaattoreihin ja HC-05: een kaavion mukaisesti. Muista lisätä diodi, joka antaa virtaa vain kytkimen VCC -nastasta virtaamaan Arduinos 5V -nastaan, ei toisinpäin. (Tämä suojaa Arduinoa ohjelmoitaessa sitä USB -liitännän kautta)
Virtaliitäntään käytin DC -virtaliitintä yksinkertaisella kytkimellä, voit myös käyttää USB -liitintä, jos haluat. Arduinon laudalle. Kuten ensimmäisessä vaiheessa mainittiin, kaaviossa on myös MSGEQ7 -yhteyspiiri, mutta jätä se huomiotta, jos et käytä MSGEQ7: tä. (Saat lisätietoja MSGEQ7 -toiminnoista napsauttamalla tätä)
Älä unohda valmistaa toista 7 -nastaista nauhakaapelia, jonka molemmissa päissä on urosnastaiset otsikot Arduino -kortin liittämiseksi ohjainkorttiin
Vaihe 8: Valinnainen: Piirilevyjen etsaus
Joten jos et pidä juottamisesta paljon kaapeleita, voit tietysti myös syövyttää tarvittavat piirilevyt, jos haluat.
Kuutossani Arduino -kortti ja Power/Audio -liitäntäkortti ovat molemmat syövytettyjä levyjä käyttäen liitteenä olevia kaavamaisia/EAGLE -tiedostoja. Tein ensimmäisen kerran virheen kaaviossa, joten minun piti tehdä LED -ohjainkortti uudelleen kuten viimeisessä vaiheessa. Levyn syövyttämisellä ei ole suuria etuja perboardin käytön sijaan, joten voit joko syövyttää levyn tai juottaa sen perboardille.
Liitteenä olevasta.zip -tiedostosta löytyy sekä BOARD- että SCHEMATIC -tiedosto.
Huomaa, että ylemmän kerroksen jälkien (punainen) on tarkoitus olla vaijersiltoja (koska en voi syövyttää kaksipuolisia levyjä kotona). Reitittämättömät jäljet esittävät naaraspuolisten nastojen kaapeleiden kautta tehtävät liitännät.
Kaavio sisältää MSGEQ7 -ominaisuuden, jonka voit jättää pois poistamalla kaavion osan, joka on merkitty "(MSGEQ7)".pdf -kaavion kuvakaappauksessa.
Vaihe 9: Liitä kuutio
Jos haluat liittää kaikki kuution osat, aloita kytkemällä 7 -nastainen kaapeli Arduino -korttiin ja ohjainkorttiin (varmista, että suunta on oikea!). Liitä seuraavaksi HC05 -moduuli 4 -nastaiseen liitäntään ja kytke Power Board, jos se on erillään.
Liitä kuution 7x16 -nastaiset otsikot varmista, että aloitat ensimmäisestä TLC: stä (siitä, jonka SIN -nasta on kytketty suoraan Arduinoon). Etsi oikea 16 -nastainen kaapeli kuutiosta ja liitä se ensimmäisen TLC: n nastapäähän (varmista, että katodin nro 0 kaapeli on kytketty ensimmäiseen TLC OUT0 -nastaan!). Jatka ja kytke muut 16 -nastaiset kaapelit vastaaviin TLC -otsikoihin oikeassa järjestyksessä.
Viimeisenä mutta ei vähäisimpänä, liitä 6Pin -kaapeli anodeille kuutiosta MOSFET -laitteiden vieressä olevan ohjauspaneelin 6Pin -otsakkeeseen.
Kuution viimeistelyyn lisäsin koteloon seinät, joissa oli vielä vaneria, jossa oli mustaa maalia, ja liimasin ne.
Nyt meillä on kaikki tarvittavat laitteistot koko rakentamiseen!
Vaihe 10: Ohjelmisto: Multiplexing Cycle
Nyt teoriassa Arduino suorittaa jatkuvasti seuraavan syklin:
- Jos LayerDuration on kulunut, lataa seuraavan kerroksen arvot TLC: hen, sammuta nykyinen kerros, kytke seuraava kerros päälle, nollaa LayerDuration, sitoo uudet arvot TLC: ille
- Jos FrameDuration on kulunut, lataa nykyisen animaation uusi kehys tallentamalla kaikkien LEDien ja värien arvot ValueLed -puskuriin, nollaa FrameDuration
- Jos Bluetooth -tiedot ovat saatavilla, reagoikaa niihin (Muuta animaatioita, kirkkautta…) (lisätietoja myöhemmin)
Kuten huomaat, koodin pääpaino on nopeus. On tärkeää, että kerroksen vaihtamiseen kuluva aika on minimaalinen.
Mitä nopeammin kytket päälle/pois tasot, sitä enemmän saat "kehyksiä". tällaiselle 6x6x6 RGB LED -kuutiolle tajusin, että kerroksen kesto on 1700 mikrosekuntia. on riittävän hyvä välkkymään minimiin, ja se tulisi jättää tähän arvoon. FrameDuration ohjaa enemmän animaation nopeutta, joten sitä voidaan muuttaa eri animaatioille.
Seuraavassa vaiheessa tarkastelemme, kuinka voimme itse kirjoittaa omia animaatioita.
Vaihe 11: Mukautetut animaatiot
Animaation toteuttamiseksi meidän on asetettava ValueLed -puskuri haluamillemme arvoille seuraavalle kehykselle aina, kun FrameDuration on kulunut. Teemme sen kutsumalla makrofunktion "SETLED (x, y, z, COLOR, Brightness)"
x, y, z ovat halutun LEDin koordinaatit ja VÄRI (PUNAINEN, VIHREÄ tai SININEN) on väri, jonka haluamme asettaa, ja Kirkkaus on tämän asettamamme värin todellinen arvo.
Joten jos haluat esimerkiksi toteuttaa animaation, joka näyttää punaisen, vihreän ja sinisen värin satunnaisesti koko kuutiossa, voit tehdä tämän seuraavasti:
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); }}}}
Tätä menetelmää kutsutaan joka kerta, kun FrameDuration on kulunut, ja se valitaan silmukan Switch-case-komennosta (). Jos kirjoitat uusia animaatioita, voit lisätä ne yksinkertaisesti lisäämällä ne kytkinkoteloon.
Vaihe 12: Muuta: AnimationCreator
Kirjoitin lisäksi AnimationCreatorin käyttäen JavaFX: ää ja Java3D: tä.
Se tekee mukautettujen animaatioiden luomisesta ja muokkaamisesta erittäin helppoa tarjoamalla helppokäyttöisen käyttöliittymän.
Voit luoda, muokata, nimetä uudelleen ja konfiguroida animaatioita 4x4x4, 6x6x6 tai 8x8x8 LED -kuutioille
Voit luoda uuden animaation valitsemalla Tiedosto> Uusi, valitsemalla "Kuutio" -kohdassa kuution koon, asettaaksesi LED -valon värin valitsemalla haluamasi värin vasemmalla olevalla Värinvalitsimella ja napsauttamalla sitten vasenta painiketta haluamasi LED -valot tuon kehyksen väri. Jos haluat lisätä uuden kehyksen, paina "Seuraava" tai "+". Loput käyttöliittymän ohjaimet ovat itsestään selviä. Kuutukerrosten vieressä olevilla valintaruuduilla on tarkistettava, mihin tasoihin siirtyminen ja "Säilytä kehys" vaikuttavat. Testaa vain ja huomaat kaiken hetkessä.
Animoinnin simuloimiseksi voit myös napsauttaa "Näytä 3D" -painiketta, joka avaa toisen ikkunan, jossa on kuution Java3D -malli. Voit kiertää kameraa samalla, kun pidät hiiren vasenta painiketta painettuna (nollaa kamera painamalla R). Jos haluat toistaa/keskeyttää animaation, paina P -näppäintä ja nollaa animaatio -osuma Q. "3D -näkymän" alapuolella oleva tekstikenttä osoittaa nykyisen FrameTime, eli animaation nopeus.
Kun olet tehnyt animaation, anna sille nimi ja paina Tiedosto> Tallenna nimellä… ja tallenna animaatio samaan kansioon kuin Cubo_Control.ino Sketch.
Jos haluat lisätä uuden animaation luonnokseen, avaa Cubo_Control.ino ja lisää seuraava koodi luonnoksen päälle:
#include "RGBit.h" // Korvaa
Vieritä alas kohtaan BTEvent () ja lisää tapauslausuma animaatioiden vaihtokoteloon
kytkin (curAnim) {
… Tapaus 10: animation = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; tauko; tapaus 11: // UUSI ANIMAATIO animaatio = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; tauko; }
Vaihe 13: Bluetooth -sovellus
Kuution hallitsemiseksi HC-05-moduulin ansiosta on melko yksinkertaista rakentaa Bluetooth-sovellus puhelimen liittämiseksi kuutioon.
Linkki sovellukseen: Github
Sovellus on avoimen lähdekoodin, joten voit vapaasti lisätä muita animaatioita/ominaisuuksia itse.
- Käynnistä sovellus, se pyytää sinua ottamaan Bluetoothin käyttöön
- Napsauta "Hae", niin käytettävissä olevien Bluetooth -yhteyksien luettelo tulee näkyviin. Tunnista HC-05-moduuli kuutiosta ja napsauta sitä.
- Jos Cubeen muodostettaessa ilmenee virhe, yritä muodostaa laitepari HC-05-moduulin kanssa Bluetooth-asetuksissa manuaalisesti
- Kun yhteys on muodostettu, sovellus siirtyy ohjausnäyttöön ja Bluetooth -yhteys on muodostettu
Säätimet
- Nopeus ja kirkkaus: Muuta liukusäätimen arvoja nopeuttaaksesi/hidastaaksesi animaatiota tai muuttaaksesi kirkkautta
- Animaatiot: Napsauta painiketta muuttaaksesi animaatiota, oletusarvoisesti animaatiot toistuvat (vasemmasta yläkulmasta alkaen painike vastaa currAnimia)
- Tekstin vieritys: Napsauta "Teksti" -painiketta, joka avaa valintaikkunan syöttääksesi tekstiä, joka vieritetään kuution läpi
- Komento: Voit kirjoittaa komentoja manuaalisesti Command TextField -komennolla (katso syntaksi Cubo_Control.ino -menetelmän BTEvent () -menetelmästä)
- Snake: klassinen Snake Game (punainen: omena, vihreä: käärmepää, sininen: hiipiä häntä) (Säätimet: 4 suuntapainiketta, Ylös ja Alas laukaistaan kääntämällä puhelinta eteenpäin (ylös) tai taaksepäin (alas))
- Audiovisuaalinen visualisoija: MSGEQ7 käytetään kuuden äänikaistan visualisointiin AUX -liitännästä (animaation painike 7)