INHOUDSOPGAWE:
- Stap 1: Teorie
- Stap 2: Hardeware: LED Cube Build
- Stap 3: LED -rye
- Stap 4: Laagsamestelling
- Stap 5: Kubusbedrading
- Stap 7: Arduino + Bluetooth -beheerbord
- Stap 8: Opsioneel: Ets die stroombane
- Stap 9: Verbind die kubus
- Stap 10: Sagteware: veelvoudige siklus
- Stap 11: Pasgemaakte animasies
- Stap 12: Bykomend: AnimationCreator
- Stap 13: Bluetooth -app
- Stap 14: Vertoonvenster
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Dit is 'n instruksie oor hoe om 'n 6x6x6 RGB LED (Common Anodes) kubus te bou wat deur 'n Bluetooth -app beheer word met 'n Arduino Nano. Die hele konstruksie is maklik aanpasbaar by byvoorbeeld 4x4x4 of 8x8x8 Cube. Hierdie projek is geïnspireer deur GreatScott. Ek het besluit om 'n meer gesofistikeerde konstruksie te gebruik met groter LED's (8 mm), met minder afstand + Bluetooth -kommunikasie wat die toevoeging van nuwe funksies soveel makliker maak en ook die moontlikheid bied om 'n app te bou om die kubus te beheer. Dit laat my ook toe om bv. kodeer 'n Snake Game (3de vertoonvideo aan die einde). Boonop het ek 'n Audio Visualizer -modus bygevoeg waarmee die kubus 'n AUX -invoer kan visualiseer, bv. Musiek met behulp van 'n MSGEQ7 (vertoonvenster aan die einde). Verder het ek 'n AnimationCreator -toepassing in Java geskryf met 'n gebruikersvriendelike gebruikersinterface om animasies te skep en aan te pas, sodat almal baie vinnig aangepaste animasies kan bou. Die Sketch + Bluetooth -app bied dus 'n raamwerk vir enige LED Cube -opset, en met die Animation Creator hoef u nie bekommerd te wees oor die implementering van aangepaste animasies nie.
Skakels na die Arduino Sketch en Bluetooth -app:
RGBCube_Arduino Sketch (Github)+Animation Creator.jar
Cubo Bluetooth -app (Github)
Onderdele lys vir die kubus:
- 216x RGB LED (gewone anode) (8mm) (AliExpress / Ebay)-> 6x6x6 = 216
- Lintkabel (1 m 40Pin behoort voldoende te wees) (AliExpress / Ebay / Amazon)
- Headers vir vroue en mans (minstens 4x40 pins elk) (AliExpress / Ebay / Amazon)
- Vertinde koper / silwer draad 0,8 mm (~ 25 meter) (AliExpress / Ebay / Amazon)
- Krimpbuis (AliExpress / Ebay / Amazon)
Onderdele lys vir die beheerborde:
- 7 x TLC5940 LED -bestuurder (eBay / AliExpress)
- 6 x IRF 9540 P-kanaal MOSFET's (Amazon / Ebay / AliExpress)
- 8 x 10 uF -kondensators (Amazon / Ebay / AliExpress)
- 3 x 1000 uF -kondensators (Amazon / Ebay / AliExpress)
- 14x 2.2kOhm weerstande (Amazon / Ebay / AliExpress)
- 1 x 1kOhm -weerstand (Amazon / Ebay / AliExpress)
- 7 x 28 -pins IC -voetstukke (Amazon / Ebay / AliExpress)
- 1 x Arduino Nano (Amazon / Ebay / AliExpress)
- 1 x 1N4001 -diode (enige gewone diode) (Amazon / Ebay / AliExpress)
- 8 x 0.1uF kondensators (eBay)
- 1 x DC Jack PCB -houer (Amazon / Ebay / AliExpress)
- 1 x HC-05 Bluetooth-module (Amazon / Ebay / AliExpress)
Stap 1: Teorie
As u nie geïnteresseerd is in teorie oor multiplexing nie, gaan dan na stap 2 vir die begin van die werklike konstruksie
Aangesien hardeware en sagteware ewe groot dele van hierdie projek is, kan ons eers na die teorie kyk.
Die brein van die kubus is 'n Arduino Nano. Dit bied genoeg I/O om met die gebruikte LED-bestuurders te werk, asook om 'n Bluetooth-verbinding met 'n HC-05-module en ander bedieningshardeware te bewerkstellig. As u na ander LED Cube -geboue gekyk het, sal u weet dat die meeste mense eenvoudige Shift -registers gebruik om die helderheidswaardes van die kleure van die individuele LED's op te slaan. Hierdie build gebruik nie Shift -registers nie, maar eerder "TLC5940" LED -bestuurders. Soos ons later sal sien, spaar dit ons baie tyd, sowel as tonne ekstra hardeware (bv. Weerstande).
Die basiese funksie van die beheer van die kubus maak gebruik van multiplexing. In hierdie geval multiplekseer ons die 6 lae van die kubus, wat beteken dat alle anodes (+) van alle LED's in 'n laag verbind is, terwyl die individuele katodes van alle LED's in dieselfde kolom onderaan verbind is. Dit beteken dat as u die LED op posisie x = 1, y = 2, z = 3, kleur: groen wil verlig, u 5V moet verskaf by die anode van laag 3 en die GND moet koppel aan die katode van die kolom wat ooreenstem met Groen pen van x = 1, y = 2. In werklikheid word slegs 'n laag van die kubus op 'n sekere tydstip eintlik aangeskakel, maar soos u later in die kode sal sien, skakel ons die individuele lae so vinnig aan dat ons oog dink dat die hele kubus aan is.
Om dinge soos helderheid, animasies en so meer te beheer, gebruik ons 'n HC-05 Bluetooth-module wat gekoppel is aan die Arduino Nano. Dit is baie eenvoudig om die module met 'n Arduino te gebruik, aangesien u slegs 'n 4-pins-verbinding benodig en die module eenvoudig kan koppel via die standaard Serial-Commuincation van die Arduino. Aan die einde van hierdie instruksies sal u sien hoe maklik dit is om u eie Bluetooth -app te skryf om die kubus te beheer.
LET WEL
In my skema van die Arduino -printplaat kan u ook 'n klein skematiese voorstelling van 'n MSGEQ7 -chiptoets vir die klankinvoer sien, dit is absoluut nie nodig vir die werklike kubus nie en is slegs 'n ekstra funksie wat ek bygevoeg het, en u kan dus die skematiese gemerkte met "MSGEQ7"
Stap 2: Hardeware: LED Cube Build
Kom ons kyk hoe u die kubus self kan bou, voordat u praat oor die beheerkring rondom die Arduino Nano.
Onderdele lys vir die kubuskonstruksie:
- 216x RGB LED (gewone anode) (AliExpress / Ebay)-> 6x6x6 = 216
- Lintkabel (1 m 40Pin behoort voldoende te wees) (AliExpress / Ebay / Amazon)
- Headers vir vroue en mans (ten minste 4x40 -pins) (AliExpress / Ebay / Amazon)
- Vertinde koper / silwer draad 0,8 mm (~ 25 meter) (AliExpress / Ebay / Amazon)
- Krimpbuis (AliExpress / Ebay / Amazon)
Die eerste ding om te doen, en nou is dit vervelig, maar nodig, ons moet die LED's toets. Om dit te doen, koppel ons eenvoudig 'n kragtoevoer, bv. 9V batteryblok met klem, aan 'n bord. Soos u op prent 3 kan sien, is die langste pen van die LED's die anode (+), sodat u hierdie pen aan die +9V van die battery koppel. Voordat GND met die individuele kleure verbind word, voeg katodes (rooi, groen, blou) 'n weerstand van 220 Ohm by elke katode om die stroom te beperk. Probeer nou al die kleure van al die 216 LED's.
In die volgende stap berei ons die getoetsde LED's voor sodat ons dit later maklik in kolomme kan monteer.
Stap 3: LED -rye
Voordat ons die LED's in hul onderskeie rye kan soldeer, moet ons die leidings buig en sny.
Soos u op die eerste foto kan sien, het ek 'n 8 mm -gat (vir 8 mm LED's) eenvoudig in 'n stuk hout geboor en drie baie klein bore links van die LED -gat geboor en nog een regs van die gat. Hierdie bore is 'n teken om die leidings korrek te buig en moet ongeveer 1 cm van die middel van die gat vir die LED af wees.
Hierdie tegniek is geïnspireer deur Steve Manley; u kan 'n video sien hoe hy dit doen in 'n geringe variasie op YouTube.
Voordat u die leidings om die bore sny en buig, soos op foto 2 en 3 gesien word, moet u seker maak dat die oriëntasie van die leidings ooreenstem met prent 1 (blou aan die bokant na links, dan groen, dan anode + na regs, en rooi weer links). Die sirkel wat jy in die leidings gebuig het, moet 'n groot genoeg deursnee hê om by die vertinde koperdraad (0,8 mm) te pas. Hierdie stap maak dit ongelooflik makliker om die LED's mooi vas te soldeer.
Noudat al die LED's gereed is, wil ons dit in rye van 6 bymekaarbring waar die anodes (+) verbind is:
- Bou 'n klein mal soos op foto 6, boor 6 gate (deursnee 0,8 mm) met 'n afstand van 2,5 cm tot die volgende gat. Dit laat ons toe om 6 LED's tegelyk in die jig te plaas
- Om die anodes aan te sluit, benodig ons 'n reguit vertinde koperdraadstuk van ongeveer 16 cm lank (met 'n ekstra marge). Om die draad reguit te kry, kan u die een kant van die draad in 'n elektriese boor monteer, ongeveer 2 m drade op 'n tafel vasmaak, dan die boor hou sodat die draad gespan en styf is en die boor aanskakel. vir 'n paar sekondes en maak die draad baie vinnig reg. U kan dan die draad sny op die plek waar u die stuk vasgemaak het. U kan ook 'n tang gebruik en kleiner stukke draad op 'n slag vasdraai, maar dit is baie verveliger
- Sodra u 16 cm lang drade het, lei u hulle deur die anode (+) gate van die LED's in die mal en soldeer die anodepenne aan die draad (prent 7)
Vir die hele kubus benodig ons 6x6 = 36 van hierdie LED -rye
Stap 4: Laagsamestelling
Soos ek al voorheen genoem het, vermenigvuldig ons die lae van die kubus, maar vir die samestelling is dit makliker om 6 mure van 6x6 LED's te bou en dit dan langs mekaar te monteer en net 'n blikkie koperdraad te verbind wat die anodes van die rye in 'n laag saam.
Pas op dat hierdie stap baie tyd en geduld verg om dit reg te doen; in totaal moet u ongeveer 1000 soldeerverbindings soldeer vir die bouwerk, dus neem u tyd!
Om 'n LED -muur te bou:
- Vir die mal: ons benodig 'n stuk hout met 6 gesnyde lyne om 6 rye bo mekaar te pas om 'n muur te bou. U kan die mal self op prent 2 sien (afstande tussen rye: 2,5 cm)
- U pas die 6 rye LED's in die uitsny, met die Anode -draad in die gesnyde lyn na onder, sodat die 3 katodes (R, G, B) na bo wys
- Om die katodes wat bo mekaar geplaas is, te verbind (sien prent 2), benodig ons nog 'n bietjie draad (dus weereens 6 kolomme x 3 katodes x 6 mure = 108 ingelegde draadstukke soos beskryf in die laaste stap (2.) (ook dieselfde lengte))
- Skuif die draadstukke van die onderkant van 'n kolom deur die gate van die katodes na die boonste ry en soldeer die draad by elke LED
U doen dit 6 keer om 6 mure LED's te kry.
Nou kan ons die mure eintlik in die kubus self monteer. Maar om die kubus vas te hou, moet ons 'n soort grondvlak bou. Hiervoor het ek net 'n paar dun laaghout gebruik en klein gaatjies van 0,8 mm daarin geboor om die drade te pas wat aan die laagste LED -rye hang (vir al 6 LED -mure). Die metings vir die gate van 'n enkele LED word in stap 3 gedokumenteer en die afstande tussen elke LED is 2,5 cm.
Met die gate in plek, neem ons nou die eerste muur en beweeg dit in die gate heel links van die laaghout. Die LED -ry aan die onderkant moet regs op die hout sit, sodat alle mure uiteindelik dieselfde is.
Doen dieselfde met die res van die LED -mure, maar onthou dat die anodes van die mure altyd dieselfde rigting in die gesig staar. (op prent 3 kyk al die anodes van die mure na links)
Sodra die hele kubus in plek is, moet ons die anodes van elke laag aanmekaar soldeer. Om dit te doen, neem ons nog 'n stuk van ongeveer 16 cm reguit draad en lê dit bo -op die eerste laag, sodat die draad al die Anode -drade van die 6 mure in een laag raak. Pasop dat die nuwe draad nie een van die katodes raak nie. Soldeer die draad op sy plek en herhaal dieselfde vir die 5 oorblywende lae.
Stap 5: Kubusbedrading
Onderdele vir die LED -bestuurdersbord:
- 7 x TLC5940
- 6/7 x 10 uF -kondensators
- 2 x 1000 uF -kondensators
- 7x 2.2kOhm weerstande
- 7 x 28 -pins IC -voetstukke
- 7 x 0.1uF -kondensators
- Lintkabel
As ons na die beheerstroombane gaan, kyk eers na die LED Driver -bord. Soos voorheen genoem, benodig ons 7 TLC5940 wat gekoppel is aan die Arduino Nano. Al die TLC5940 -skyfies is gekoppel aan madeliefie, wat beteken dat al die stuurpenne van die bestuurders met mekaar verbind is (bv. BLANKE pen van die eerste TLC is gekoppel aan BLANK van die tweede, derde, vierde, … TLC) en is almal gekoppel aan die Arduinowith dieselfde drade, behalwe die Serial In wat eers van 'n Arduino Digital Pin aan die eerste TLC gekoppel is, dan word die Serial Out pin van hierdie eerste TLC gekoppel aan die SIN pin van die tweede TLC ensovoorts (sien prent 4) …
Die skema van die TLC -bord is dus redelik eenvoudig, soos u in die aangehegte skema kan sien.
(AS JY DIE RAADSPRING NA STAP 8 WIL ETS)
Ek het ook 'n skermkiekie van die skema aangeheg in frizz wat penetikette bevat en ook 'n GIMP.xcf -lêers met lae vir elke Control Pin -verbinding geskei.
Begin deur al die IC -voetstukke op hul plek te soldeer, voeg dan die 100nF -kondensators by elke TLC, gevolg deur die 2.2kOhm -weerstande teen IREFand GND en die 7 -pen -kop in die regter boonste hoek. Daarna kan u die.xcf -lêer eenvoudig volg deur begin met die "SIN -laag" in die Gimp -lêer, wat wys hoe u die seriële IN/OUT -penne van die bestuurders kan koppel met behulp van lintkabels, en dan die CLK -laag in GIMP en so aan. Maak seker dat u die + en - penne goed met die pen verbind het Koptekst regs bo jy posisioneer hulle.
Sodra hierdie bord klaar is, kan u in die volgende stap na die Arduino Board gaan.
Stap 7: Arduino + Bluetooth -beheerbord
Onderdele vir die beheerraad:
- 6 x IRF 9540 P-kanaal MOSFET's
- 1 x 10 uF -kondensators
- 1 x 1000 uF -kondensators
- 7 x 2.2kOhm weerstande
- 1 x 1kOhm weerstand
- 2 x 14 vroulike penkop
- 1 x Arduino Nano
- 1 x 1N4001 -diode
- 1 x 0.1uF kapasitors
- 1 x DC Jack PCB -houer
- 1 x HC-05 Bluetooth-module
- 1 x 3,5 mm klankaansluiting
Die Arduino -beheerraad hanteer hoofsaaklik die multiplexing sowel as die eweknie van die penkop van die LED Driver -bord.
Soldeer op perfboard:
- Plaas twee pin -kopstukke vir die Arduino in die middel van die bord.
- Plaas die 6 MOSFET's in 'n ry langs mekaar aan die regterkant van die Arduino (die kant met die analoog penne) en voeg 'n weerstand van 2.2kOhm tussen die eerste en die laaste pen elk.
- Plaas nou die 6 -pen -kopstuk voor die MOSFET's (middel van die ry) en verbind die 6 DRAIN -penne van die FET's (middelste pen) met die kop en die GATE -penne (linkerpen) van die FET's met die onderskeie Arduino Analog -penne.
- Soldeer dan die 7 -pins kop vir die LEDDriver -verbinding aan die ander kant van die Arduino, laat ruimte vir kabels en soldeer al die verbindings van die Arduino na die penkop.
- Voeg 'n paar kondensators (1-2 1000uF, 1 10uF, 100nF langs die Arduino) by vir moontlike stroomafvoer.
- Soldeer 'n 4-pins kopstuk aan die agterkant van die Arduino vir die HC-05-module en maak die 4 verbindings met VCC, RX, TX, GND en moenie vergeet om 'n spanningsverdeler te maak van die RX-pen van die HC-05 en die TX -pen van die Arduino (sien hier)
- Plaas die DC -aansluiting op enige rand van die bord met 'n skakelaar langs en koppel die regter pen van die skakelaar aan die + pen van die DC -aansluiting
- Maak laastens al die nodige kragverbindings vanaf die GND-pen van die DC-aansluiting en die regterpen van die skakelaar (VCC) na die Arduino, MOSFET's, kondensators en HC-05, soos in die skema gesien word. Onthou om die diode by te voeg wat slegs die krag van die VCC -pen van die skakelaar verleen om in die Arduinos 5V -pen in te vloei, nie andersom nie. (Dit beskerm die Arduino wanneer u dit via 'n USB -verbinding programmeer)
Vir die kragverbinding gebruik ek 'n DC -aansluiting met 'n eenvoudige skakelaar, as u wil, kan u ook 'n USB -aansluiting gebruik. op die Arduino Board. Soos in die eerste stap genoem, is daar ook 'n MSGEQ7 -verbindingskring in die skematiese, maar ignoreer dit eenvoudig as u nie 'n MSGEQ7 gebruik nie. (Klik hier vir meer inligting oor die MSGEQ7 -funksie)
Moenie vergeet om nog 'n 7 -pins lintkabel te maak met manlike penkop aan elke kant om die Arduino -bord met die bestuurdersbord te verbind nie
Stap 8: Opsioneel: Ets die stroombane
As u dus nie daarvan hou om baie kabels te soldeer nie, kan u natuurlik ook die nodige PCB's ets as u dit verkies.
In my Cube is die Arduino -bord en die Power/Audio -aansluitbord albei geëtste borde met behulp van die aangehegte skematiese/EAGLE -lêers. Die eerste keer dat ek 'n fout in die skema gemaak het, moes ek die LED Driver -bord herhaal soos ek in die laaste stap gedoen het. Daar is geen groot voordele om die bord te ets in plaas van om perboard te gebruik nie, dus kan u die bord ets of dit op perfboard soldeer.
In die aangehegte.zip vind u beide 'n BOARD -lêer sowel as 'n SKEMATIESE lêer.
Let op dat die spore van die boonste laag (rooi) veronderstel is om draadbruggies te wees (aangesien ek nie twee kante by die huis kan ets nie). Die ongeroute spore toon die verbindings wat gemaak moet word via kabels vir die vroulike penkoppe.
Die skematiese bevat die MSGEQ7 -funksie, wat u eenvoudig kan weglaat deur die gedeelte van die skematiese gemerkte "(MSGEQ7)" in die skermkiekie van die.pdf -skematiese skrap te verwyder.
Stap 9: Verbind die kubus
Om al die dele van die kubus aan te sluit, moet u die 7pin -kabel aan die Arduino -bord en die bestuurdersbord koppel (maak seker dat die rigting korrek is!). Koppel dan die HC05 -module aan op die 4 -pins -kop en koppel die kragbord aan as dit geskei is.
Om die 7x16 -penkoppe van die kubus aan te sluit, moet u begin met die eerste TLC (die een waarvan die SIN -pen direk aan die Arduino gekoppel is). Soek die korrekte 16 -pins kabel van die kubus en koppel dit aan die penkop van die eerste TLC (maak seker dat die kabel vir Cathode Nr.0 aansluit by die eerste TLC OUT0 -pen!). Gaan voort en koppel die ander 16 -pins kabels in die korrekte volgorde aan die ooreenstemmende TLC -hoofde.
Laastens, maar nie die minste nie, koppel die 6Pin -kabel vir die anodes van die kubus aan die 6Pin -kop op die beheerbord langs die MOSFET's.
Om die kubus te voltooi, het ek mure by die kas gevoeg met nog laaghout met swart verf daarop en dit vasgeplak.
Nou is ons klaar met al die hardeware wat nodig is vir die hele konstruksie!
Stap 10: Sagteware: veelvoudige siklus
In teorie voer die Arduino voortdurend die volgende siklus uit:
- As die laagduur geslaag het, laai die waardes vir die volgende laag na die TLC's, skakel die huidige laag uit, skakel die volgende laag aan, stel die laagduur terug, plaas die nuwe waardes aan die TLC's
- As die FrameDuration geslaag het, laai die nuwe raam van die huidige animasie deur die waardes vir alle LED's en kleure in die ValueLed buffer te stoor, stel FrameDuration terug
- As daar Bluetooth -data beskikbaar is, reageer daarop (verander animasies, helderheid, …) (meer inligting later)
Soos u kan sien, is die belangrikste fokus van die kode spoed. Dit is belangrik dat die tyd om die laag te verander minimaal is.
Hoe vinniger jy die lae aan/uit skakel, hoe meer "rame" kry jy. Vir 'n 6x6x6 RGB LED -kubus soos hierdie het ek agtergekom dat 'n laagduur van 1700 microSec. is goed genoeg om op 'n minimum te flikker en moet op hierdie waarde gelaat word. Die FrameDuration beheer meer die snelheid van die animasie, sodat dit vir verskillende animasies verander kan word.
In die volgende stap kyk ons na hoe ons ons eie animasies kan skryf.
Stap 11: Pasgemaakte animasies
Om 'n animasie te implementeer, moet ons die ValueLed -buffer instel op die waardes wat ons vir die volgende raam wil hê elke keer as FrameDuration geslaag het. Ons doen dit deur die makrofunksie "SETLED (x, y, z, COLOR, Brightness)" te noem
x, y, z is die koördinate van die LED wat ons wil stel en KLEUR (ROOI, GROEN of BLOU) is die kleur wat ons wil stel en Helderheid is die werklike waarde vir hierdie spesifieke kleur wat ons stel.
Om byvoorbeeld 'n animasie te implementeer wat bloot rooi, groen en blou kleur lukraak oor die hele kubus vertoon, kan u dit eenvoudig doen:
void randomLedsFull () {
vir (uint8_t j = 0; j <CUBE_SIZE; j ++) {vir (uint8_t x = 0; x <CUBE_SIZE; x ++) {vir (uint8_t y = 0; y <CUBE_SIZE; y ++) {uint8_t rand = random8 (3); SETLED (x, y, j, rand, maxBright); }}}}
Hierdie metode word gebruik elke keer as die FrameDuration geslaag het en word gekies uit die switch-case opdrag in die lus (). As u nuwe animasies skryf, kan u dit eenvoudig byvoeg deur dit in die skakelaarkas te voeg.
Stap 12: Bykomend: AnimationCreator
Ek het ook 'n AnimationCreator geskryf met JavaFX en Java3D.
Dit maak die skep en redigering van aangepaste animasies baie maklik deur 'n maklik verstaanbare UI te bied.
U kan animasies vir 4x4x4, 6x6x6 of 8x8x8 LED -kubusse skep, wysig, hernoem en herkonfigureer
Om 'n nuwe animasie te skep, tik eenvoudig op File> New, onder "Cube" kan u die kubusgrootte kies, om die kleur van 'n LED in te stel, kies die kleur wat u wil hê met die Color Picker aan die linkerkant en klik dan met die linkermuisknop op die LED's wat u wil hê. daardie kleur vir daardie raam. Om nog 'n raamwerk by te voeg, druk "Volgende" of "+". Die res van die UI -kontroles is baie duidelik, die blokkies langs die kubuslae moet kyk watter lae dit moet beïnvloed deur te skuif en "Hou raam". Toets dit net, en u sal alles in 'n japtrap agterkom.
Om die animasie te simuleer, kan u ook op die "View 3D" -knoppie klik, wat 'n ander venster met 'n Java3D -model van die kubus oopmaak. U kan die kamera draai terwyl u die linker muisknop ingedruk hou (druk R om die kamera terug te stel). Om die animasie te speel/te onderbreek, druk die P -sleutel om die animasie -treffer Q te herstel. Die teksveld onder die "View 3D" -knoppie dui die huidige aan FrameTime, gebruik die snelheid van u animasie.
As u klaar is met die animasie, gee dit 'n naam en klik op File> Save As … en stoor die animasie in dieselfde gids as die Cubo_Control.ino Sketch.
Om u nuwe animasie in die skets op te neem, maak die Cubo_Control.ino oop en voeg die volgende kode bo -op die skets by:
#sluit "RGBit.h" in // Vervang
Blaai na BTEvent () en voeg 'n saakverklaring by die skakelaarkas van die animasies
skakelaar (curAnim) {
… saak 10: animasie = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; breek; geval 11: // JOU NUWE ANIMASIE animasie = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; breek; }
Stap 13: Bluetooth -app
Danksy die HC-05-module is dit baie eenvoudig om die kubus te beheer, om 'n Bluetooth-app te bou om u telefoon aan die kubus te koppel.
Skakel na die app: Github
Die app is open source, so voeg gerus self bykomende animasies/funksies by.
- Begin die app, dit vra u om Bluetooth aan te skakel
- Klik op "Soek" en 'n lys met beskikbare Bluetooth -verbindings verskyn. Identifiseer die HC-05-module vanaf die kubus en klik daarop.
- As daar 'n fout is tydens die verbinding met die Kubus, probeer om die HC-05-module handmatig in die Bluetooth-instellings te koppel
- Nadat die app gekoppel is, skakel dit oor na die beheerskerm en die Bluetooth -verbinding is tot stand gebring
Beheer
- Spoed en helderheid: verander die glyerwaardes om die animasie te versnel/vertraag of verander die helderheid
- Animasies: Klik op 'n knoppie om die animasie te verander; standaard loop die animasies (vanaf links bo stem die knoppie ooreen met currAnim)
- Teksrol: Klik op die "Teks" -knoppie wat 'n dialoogvenster open om teks in te voer wat deur die kubus geskuif word
- Opdrag: U kan opdragte handmatig invoer met die Command TextField (kyk na die BTEvent () -metode van Cubo_Control.ino vir sintaksis)
- Slang: klassieke slangspel (rooi: appel, groen: slangkop, blou: sluipstert) (kontroles: 4 rigtings -knoppies, op en af word geaktiveer deur die telefoon vorentoe (op) of agteruit (af) te draai)
- Audio Visualizer: MSGEQ7 wat gebruik word om 6 klankbande van AUX Jack te visualiseer (Button for Animation 7)