Innholdsfortegnelse:

RGB LED -kube med Bluetooth -app + animasjon Skaperen: 14 trinn (med bilder)
RGB LED -kube med Bluetooth -app + animasjon Skaperen: 14 trinn (med bilder)

Video: RGB LED -kube med Bluetooth -app + animasjon Skaperen: 14 trinn (med bilder)

Video: RGB LED -kube med Bluetooth -app + animasjon Skaperen: 14 trinn (med bilder)
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №31 2024, November
Anonim
RGB LED -kube med Bluetooth -app + AnimationCreator
RGB LED -kube med Bluetooth -app + AnimationCreator

Dette er en instruksjon om hvordan du bygger en 6x6x6 RGB LED (Common Anodes) kube kontrollert av en Bluetooth -app ved hjelp av en Arduino Nano. Hele bygget er lett å tilpasse til en si 4x4x4 eller 8x8x8 Cube. Dette prosjektet er inspirert av GreatScott. Jeg bestemte meg for å gå for en mer sofistikert konstruksjon ved å bruke større lysdioder (8 mm), med mindre avstand + å legge til Bluetooth -kommunikasjon, noe som gjør det enklere å legge til nye funksjoner og også legger til muligheten til å bygge en app for å kontrollere kuben. Dette lar meg også f.eks. kode et Snake Game (tredje utstillingsvideo på slutten). På toppen av det la jeg til en Audio Visualizer -modus som lar kuben visualisere en AUX -inngang f.eks. Musikk ved hjelp av en MSGEQ7 (presentasjonsvideo på slutten). I tillegg skrev jeg en AnimationCreator -applikasjon i Java med et brukervennlig brukergrensesnitt for å lage og tilpasse animasjoner, slik at alle kan bygge tilpassede animasjoner veldig raskt. Så Sketch + Bluetooth -appen gir et rammeverk for enhver LED Cube -konfigurasjon, og med Animation Creator trenger du ikke bekymre deg for å implementere tilpassede animasjoner.

Lenker til Arduino Sketch og Bluetooth -appen:

RGBCube_Arduino Sketch (Github)+Animation Creator.jar

Cubo Bluetooth -app (Github)

Deleliste for kuben:

  • 216x RGB LED (Common Anode) (8mm) (AliExpress / Ebay)-> 6x6x6 = 216
  • Båndkabel (1m 40Pin bør være tilstrekkelig) (AliExpress / Ebay / Amazon)
  • Kvinner og mannlige overskrifter (minst 4x40pin hver) (AliExpress / Ebay / Amazon)
  • Fortinnet kobber / sølvtråd 0,8 mm (~ 25 meter) (AliExpress / Ebay / Amazon)
  • Krympeslange (AliExpress / Ebay / Amazon)

Deleliste for kontrollbordene:

  • 7 x TLC5940 LED -driver (Ebay / AliExpress)
  • 6 x IRF 9540 P-kanal MOSFET (Amazon / Ebay / AliExpress)
  • 8 x 10 uF -kondensatorer (Amazon / Ebay / AliExpress)
  • 3 x 1000 uF -kondensatorer (Amazon / Ebay / AliExpress)
  • 14x 2,2 kOhm motstander (Amazon / Ebay / AliExpress)
  • 1 x 1kOhm motstand (Amazon / Ebay / AliExpress)
  • 7 x 28pins IC -kontakter (Amazon / Ebay / AliExpress)
  • 1 x Arduino Nano (Amazon / Ebay / AliExpress)
  • 1 x 1N4001 -diode (hvilken som helst vanlig diode) (Amazon / Ebay / AliExpress)
  • 8 x 0.1uF kondensatorer (Ebay)
  • 1 x DC Jack PCB -montering (Amazon / Ebay / AliExpress)
  • 1 x HC-05 Bluetooth-modul (Amazon / Ebay / AliExpress)

Trinn 1: Teori

Teori
Teori

Hvis du ikke er interessert i teori om multipleksing, kan du hoppe til trinn 2 for å starte selve byggingen

Siden maskinvare og programvare er like store deler av dette prosjektet, kan vi se på teorien først.

Hjernen på kuben er en Arduino Nano. Den gir nok I/O til å samhandle med de brukte LED-driverne, samt etablere en Bluetooth-tilkobling til en HC-05-modul og annen kontrollmaskinvare. Hvis du har sett på andre LED Cube -konstruksjoner, vet du at de fleste bruker enkle Shift -registre for å lagre lysstyrkeverdier for fargene på de enkelte LED -ene. Denne bygningen bruker ikke Shift -registre, men i stedet såkalte "TLC5940" LED -drivere. Som vi vil se senere, sparer dette oss for mye tid, i tillegg til tonnevis med ekstra maskinvare (f.eks. Motstander).

Den grunnleggende funksjonaliteten for å kontrollere kuben bruker multipleksing. I dette tilfellet multiplekser vi de 6 lagene i kuben, noe som betyr at alle anoder (+) for alle lysdioder i et lag er tilkoblet, mens de individuelle katodene til alle lysdiodene i samme kolonne er koblet mot bunnen. Dette betyr at hvis du vil lyse lysdioden i posisjon x = 1, y = 2, z = 3, farge: grønn, må du gi 5V ved anode i lag 3 og koble GND til katoden i kolonnen tilsvarende Grønn pin på x = 1, y = 2. Så i virkeligheten på et tidspunkt er faktisk bare ett lag av terningen slått på, men som du vil se senere i koden, slår vi av og på de enkelte lagene så fort at øyet vårt tror at hele terningen er på.

For å kontrollere ting som lysstyrke, animasjoner og så videre bruker vi en HC-05 Bluetooth-modul koblet til Arduino Nano. Det er veldig enkelt å bruke modulen med en Arduino siden du bare trenger 4-pinners tilkobling og enkelt kan koble modulen via standard Serial-Commuincation av Arduino. Mot slutten av denne instruksjonsboken ser du hvor enkelt det er å skrive din egen Bluetooth -app for å kontrollere kuben.

MERK

I min skjema for Arduino kretskortet kan du også se en liten skjematisk for grensesnitt mellom en MSGEQ7 chipto -prosess Lydinngang, dette er absolutt ikke nødvendig for selve kuben og er bare en ekstra funksjonalitet jeg la til, derfor kan du ganske enkelt ignorere skjematisk merket med "MSGEQ7"

Trinn 2: Maskinvare: LED Cube Build

Maskinvare: LED Cube Build
Maskinvare: LED Cube Build
Maskinvare: LED Cube Build
Maskinvare: LED Cube Build
Maskinvare: LED Cube Build
Maskinvare: LED Cube Build

Så la oss se på hvordan du bygger kuben selv, før du snakker om styrekretsen rundt Arduino Nano.

Deleliste for Cube -konstruksjonen:

  • 216x RGB LED (vanlig anode) (AliExpress / Ebay)-> 6x6x6 = 216
  • Båndkabel (1m 40Pin bør være tilstrekkelig) (AliExpress / Ebay / Amazon)
  • Kvinner og mannlige overskrifter (minst 4x40pin) (AliExpress / Ebay / Amazon)
  • Fortinnet kobber / sølvtråd 0,8 mm (~ 25 meter) (AliExpress / Ebay / Amazon)
  • Krympeslange (AliExpress / Ebay / Amazon)

Det første vi må gjøre, og nå er det kjedelig, men nødvendig, vi må teste lysdiodene. For å gjøre det, kobler vi enkelt en strømforsyning, f.eks. 9V batterikloss med klips, til et brett. Som du kan se på bilde 3, er den lengste pinnen på lysdiodene anoden (+), så du kobler denne pinnen til +9V på batteriet. Nå før du kobler GND til de enkelte fargene Katoder (rød, grønn, blå), legg til en 220Ohm motstand til hver katode for å begrense strømmen. Ha det gøy å teste alle farger på alle 216 lysdioder.

I neste trinn vil vi forberede de testede lysdiodene slik at vi enkelt kan montere dem i kolonner senere.

Trinn 3: LED -rader

LED -rader
LED -rader
LED -rader
LED -rader
LED -rader
LED -rader

Før vi kan lodde lysdiodene i hver sin rad, må vi bøye og kutte ledningene.

Som du kan se på det første bildet, boret jeg enkelt et 8 mm hull (for 8 mm LED) i et treverk og boret 3 veldig små bor til venstre for LED -hullet og et til høyre for hullet. Disse øvelsene er markører for å bøye ledningene riktig og bør ha en avstand på omtrent 1 cm fra midten av hullet for LED -en.

Denne teknikken er inspirert av Steve Manley, du kan finne en video av ham som gjør dette i en liten variasjon på YouTube.

Før du kutter og bøyer ledningene rundt borene som vist på bilde 2 og 3, må du kontrollere at orienteringen til ledningene tilsvarer bilde 1 (blått øverst til venstre, deretter grønt, deretter anode + til høyre, og rødt igjen igjen). Sirkelen du bøyde deg inn i ledningene skal ha en stor nok diameter til å passe den fortinnede kobbertråden (0,8 mm). Dette trinnet gjør det fantastisk lettere å lodde lysdiodene på plass pent.

Nå som alle lysdiodene er forberedt, vil vi montere dem i rader med 6 der anodene (+) er koblet sammen:

  1. Bygg en liten jigg som vist på bilde 6, bor 6 hull (diameter 0,8 mm) med en avstand på 2,5 cm til neste hull. Dette gjør at vi får plass til 6 lysdioder om gangen i jiggen
  2. For å koble anodene trenger vi et rett fortinnet kobbertrådstykke på ~ 16 cm lengde (med litt ekstra margin). For å få ledningen fin og rett kan du montere den ene enden av ledningen i f.eks. En elektrisk drill, feste ca 2 m ledninger om gangen på et bord, og deretter holde boret slik at ledningen blir strukket og tett og slå på boret i noen sekunder med å rette ut ledningen veldig raskt. Du kan deretter kutte tråden akkurat der du sikret stykket. Du kan også bruke to tang og stramme mindre biter av wire om gangen, men det er mye mer kjedelig
  3. Når du har 16 cm lange ledninger, leder du dem gjennom Anode (+) hullene på lysdiodene i jiggen og lodder anodepinnene til ledningen (Bilde 7)

For hele kuben trenger vi 6x6 = 36 av disse LED -radene

Trinn 4: Lagmontering

Lagmontering
Lagmontering
Lagmontering
Lagmontering
Lagmontering
Lagmontering

Som jeg har nevnt før, vil vi multipleksere lagene på kuben, men for monteringen er det lettere å bygge 6 vegger med 6x6 lysdioder og deretter montere dem ved siden av hverandre og bare kjøre en enkelt fortinnet kobbertråd som forbinder anodene til rader i et lag sammen.

Vær oppmerksom på at dette trinnet tar mye tid og tålmodighet for å gjøre det riktig, totalt må du lodde rundt 1000 loddeskjøter for byggingen, så ta deg tid!

Slik bygger du en LED -vegg:

  1. Til jiggen: Vi trenger et treverk med 6 utskårne linjer for å passe 6 rader over hverandre for å bygge en vegg. Du kan se selve jiggen på bilde 2 (avstander mellom radene: 2,5 cm)
  2. Du passer de seks radene med lysdioder inn i utskjæringene, med anodetråden vendt ned i den utskårne linjen, slik at de 3 katodene (R, G, B) vender opp
  3. For å koble til katodene plassert over hverandre (se bilde 2) trenger vi litt mer ledning (så igjen trenger vi 6 kolonner x 3 katoder x 6 vegger = 108 fortinnede trådstykker som beskrevet i siste trinn (2.) (samme lengde også))
  4. Skyv trådstykkene fra bunnen av en kolonne gjennom hullene på katodene til den øverste raden og lodd ledningen på plass ved hver LED

Du gjør dette 6 ganger for å få 6 vegger med lysdioder.

Nå kan vi faktisk montere veggene inn i selve terningen. Men for å holde kuben må vi bygge et slags grunnplan. Til dette brukte jeg ganske enkelt noen tynne kryssfiner og boret små 0,8 mm hull i den for å passe til ledningene som henger fra de laveste LED -radene (for alle 6 LED -veggene). Målingene for hullene på en enkelt LED er dokumentert i trinn 3, og avstandene mellom hver LED er 2,5 cm.

Med hullene på plass tar vi nå den første veggen og manøvrerer den inn i hullene helt til venstre på kryssfiner. LED -raden på bunnen skal sitte rett på treet, slik at alle veggene til slutt er på linje.

Fortsett å gjøre det samme med resten av LED -veggene, men husk at anodene på veggene alltid vender samme retning. (på bilde 3 vender alle anodene på veggene til venstre)

Når hele terningen er på plass, må vi lodde anodene i hvert lag sammen. For å gjøre dette tar vi et annet stykke ~ 16 cm rett ledning og legger det på toppen av det første laget, slik at ledningen berører alle anodetrådene til de 6 veggene i ett lag. Se opp for at den nye ledningen ikke berører noen av katodene. Lodd ledningen på plass og gjenta det samme for de 5 gjenværende lagene.

Trinn 5: Cube Wiring

LED Driver Board
LED Driver Board
LED Driver Board
LED Driver Board
LED Driver Board
LED Driver Board

Deler til LED Driver Board:

  • 7 x TLC5940
  • 6/7 x 10 uF kondensatorer
  • 2 x 1000 uF kondensatorer
  • 7x 2,2 kOhm motstander
  • 7 x 28 -pins IC -kontakter
  • 7 x 0.1uF kondensatorer
  • Båndkabel

Når vi går videre til kontrollkretsene, kan du først se på LED -driverkortet. Som nevnt før trenger vi 7 TLC5940 koblet til Arduino Nano. Alle TLC5940 -brikkene er daisy -lenket, noe som betyr at alle kontrollpinnene til driverne er sammenkoblede (f.eks. BLANK -pin på den første TLC -en er koblet til BLANK i den andre, tredje, fjerde, … TLC) og er alle koblet til Arduinowith de samme ledningene, bortsett fra Serial In som først kobles fra en Arduino Digital Pin til den første TLC, deretter er Serial Out -pinnen til denne første TLC koblet til SIN -pin i den andre TLC og så videre (se bilde 4) …

Så skjematikken til TLC -kortet er ganske enkel som du kan se i den vedlagte skjematikken.

(HVIS DU VIL ETSKE STYRETS HOPP TIL TRINN 8)

Jeg har også vedlagt et skjermbilde av skjemaet i frizz som inkluderer pin -etiketter og også en GIMP.xcf -filer med lag for hver Control Pin -tilkobling atskilt.

Start med å lodde alle IC -kontaktene på plass, og legg deretter til 100nF -kondensatorene i hver TLC, etterfulgt av 2,2 kOhm -motstandene til IREFand GND og 7 -pinners topptekst øverst til høyre. Etter det kan du ganske enkelt følge.xcf -filen med starter med "SIN -laget" i Gimp -filen som viser hvordan du kobler serielle IN/OUT -pinnene til driverne ved hjelp av båndkabler, og deretter aktiverer CLK Layer i GIMP og så videre. Sørg for at du har gode tilkoblinger av + og - Pins til pinnen Header øverst til høyre. du plasserer dem.

Når dette brettet er ferdig, kan du gå videre til Arduino Board i neste trinn.

Trinn 7: Arduino + Bluetooth kontrollkort

Arduino + Bluetooth kontrollkort
Arduino + Bluetooth kontrollkort

Deler til kontrollpanelet:

  • 6 x IRF 9540 P-kanal MOSFET
  • 1 x 10 uF kondensatorer
  • 1 x 1000 uF kondensatorer
  • 7 x 2,2 kOhm motstander
  • 1 x 1 kOhm motstand
  • 2 x 14 hunnpinnehode
  • 1 x Arduino Nano
  • 1 x 1N4001 Diode
  • 1 x 0.1uF kondensatorer
  • 1 x DC Jack -kretskortmontering
  • 1 x HC-05 Bluetooth-modul
  • 1 x 3,5 mm lydkontakt

Arduino Control Board håndterer hovedsakelig multiplexing, så vel som å tilby motstykket til pinhodet på LED Driver -kortet.

Lodding på perfboard:

  1. Plasser to kvinnelige pinhoder for å fungere som stikkontakt for Arduino i midten av brettet.
  2. Sett de 6 MOSFETene på rad ved siden av hverandre på høyre side av Arduino (siden med de analoge pinnene) og legg til en 2,2 kOhm motstand mellom den første og den siste pinnen hver.
  3. Plasser nå 6 -pinners topptekst foran MOSFET -ene (midten av raden) og koble de 6 DRAIN -pinnene til FET -ene (midtpinnen) til toppteksten og GATE -pinnene (venstre pinne) på FET -ene til de respektive Arduino Analog -pinnene.
  4. Deretter lodder du 7 -pinners topptekst for LEDDriver -tilkoblingen på den andre siden av Arduino, la det være litt plass til kabler og lodder alle tilkoblingene fra Arduino til pinnehodet.
  5. Legg til noen kondensatorer (1-2 1000uF, 1 10uF, 100nF ved siden av Arduino) for mulige strømavløp.
  6. Lodd en 4-pinners topp ved siden av baksiden av Arduino for HC-05-modulen, og gjør de 4 tilkoblingene til VCC, RX, TX, GND, og ikke glem å lage en spenningsdeler fra RX-pinnen til HC-05 og TX -pinnen til Arduino (se her)
  7. Plasser DC -kontakten på en hvilken som helst kant av brettet med en bryter ved siden av og koble den høyre pinnen på bryteren til + pinnen på DC -kontakten
  8. Til slutt gjør du alle nødvendige strømtilkoblinger fra GND-pinnen på DC-kontakten og den høyre pinnen på bryteren (VCC) til Arduino, MOSFETs, kondensatorer og HC-05 som vist på skjematisk. Husk å legge til dioden som bare gir strøm fra VCC -pinnen på bryteren for å strømme inn i Arduinos 5V -pinne, ikke den andre veien. (Dette beskytter Arduino når du programmerer den via USB -tilkobling)

For strømtilkoblingen brukte jeg en likestrømskontakt med en enkel bryter, du kan også bruke en USB -kontakt hvis du vil. Jeg outsourcet strømkontakten til et annet lite kretskort for å passe godt inn i trekassen min, men du kan ganske enkelt sette det direkte på Arduino Board. Som nevnt i det første trinnet er det også en MSGEQ7 -tilkoblingskrets i skjemaet, men ignorer det ganske enkelt hvis du ikke bruker en MSGEQ7. (For mer informasjon om MSGEQ7 -funksjonaliteten klikk her)

Ikke glem å lage en annen 7 -pins båndkabel med mannlige pinhoder i hver ende for å koble Arduino -kortet til driverkortet

Trinn 8: Valgfritt: Etsing av kretskortene

Valgfritt: Etsing av kretskortene
Valgfritt: Etsing av kretskortene
Valgfritt: Etsing av kretskortene
Valgfritt: Etsing av kretskortene
Valgfritt: Etsing av kretskortene
Valgfritt: Etsing av kretskortene

Så hvis du ikke liker å lodde mange kabler, kan du selvfølgelig også etse de nødvendige kretskortene hvis du foretrekker det.

I min kube er Arduino -kortet og Power/Audio -kontaktkortet begge etset brett ved hjelp av de vedlagte skjematiske/EAGLE -filene. Første gang jeg gjorde en feil i skjematikken, så jeg måtte gjøre om LED -driverkortet som jeg gjorde i det siste trinnet. Det er ingen store fordeler med å etse brettet i stedet for å bruke perboard, så du kan enten etse brettet eller lodde det på perfboard.

I vedlagte.zip finner du både en BOARD -fil og en SCHEMATIC -fil.

Legg merke til at det øverste lagets spor (rødt) skal være trådbroer (siden jeg ikke kan etse tosidige brett hjemme). De uruterte sporene viser tilkoblingene som skal gjøres via kabler for kvinnelige pinhoder.

Skjematikken inneholder funksjonen MSGEQ7, som du enkelt kan utelate ved å slette delen av skjematikken merket "(MSGEQ7)" i skjermbildet av.pdf -skjematikken.

Trinn 9: Koble til kuben

Koble til kuben
Koble til kuben
Koble til kuben
Koble til kuben
Koble til kuben
Koble til kuben

For å koble alle delene av kuben, start med å koble 7 -pinners kabelen til Arduino -kortet og driverkortet (sørg for at retningen er riktig!). Koble deretter HC05 -modulen til 4 -pinners topptekst og koble til strømkortet hvis det er atskilt.

For å koble 7x16 Pin Headers of the Cube må du begynne med den første TLC (den hvis SIN -pin er koblet til Arduino direkte). Finn den riktige 16 -pinners kabelen fra kuben og koble den til den første TLC -pinnehodet (sørg for at kabelen til katode nr.0 kobles til den første TLC OUT0 -pinnen!). Fortsett og koble de andre 16 -pinners kablene til de tilsvarende TLC -hodene i riktig rekkefølge.

Sist, men ikke minst, koble 6Pin -kabelen for anodene fra kuben til 6Pin -toppteksten på kontrollkortet ved siden av MOSFETene.

For å fullføre kuben la jeg vegger til saken med litt mer kryssfiner med svart maling på og limte dem inn.

Nå er vi ferdige med all maskinvaren som kreves for hele bygget!

Trinn 10: Programvare: Multiplexing Cycle

Programvare: Multiplexing Cycle
Programvare: Multiplexing Cycle

Nå i teorien utfører Arduino kontinuerlig følgende syklus:

  1. Hvis LayerDuration har passert, laster du verdiene for det neste Layer til TLC -ene, slår av gjeldende Layer, slår på det neste Layer, tilbakestiller LayerDuration, overgir de nye verdiene til TLC -ene
  2. Hvis FrameDuration har passert, last den nye rammen for den nåværende animasjonen ved å lagre verdiene for alle lysdioder og farger i ValueLed -bufferen, tilbakestill FrameDuration
  3. Hvis Bluetooth -data er tilgjengelig, reager du på dem (Endre animasjoner, lysstyrke, …) (mer informasjon senere)

Som du kan se er hovedfokuset i koden hastighet. Det er viktig at tiden for å endre laget er minimal.

Jo raskere du slår av/på lagene, jo flere "rammer" får du. for en 6x6x6 RGB LED Cube som denne fant jeg ut at en lagvarighet på 1700 microSec. er god nok til å fortsette å flimre på et minimum og bør stå på denne verdien. FrameDuration kontrollerer mer av animasjonens hastighet, slik at den kan endres for forskjellige animasjoner.

I neste trinn vil vi se på hvordan vi faktisk kan skrive våre egne animasjoner.

Trinn 11: Tilpassede animasjoner

Tilpassede animasjoner
Tilpassede animasjoner
Tilpassede animasjoner
Tilpassede animasjoner

For å implementere en animasjon må vi sette ValueLed -bufferen til de verdiene vi ønsker for neste ramme hver gang FrameDuration har passert. Vi gjør det ved å kalle makrofunksjonen "SETLED (x, y, z, COLOR, Brightness)"

x, y, z er koordinatene til LED -en vi vil sette og FARGE (RØD, GRØNN eller BLÅ) er fargen vi vil sette og Lysstyrke er den faktiske verdien for denne fargen vi setter.

Så for eksempel å implementere en animasjon som ganske enkelt viser rød, grønn og blå farge tilfeldig over hele terningen, kan du ganske enkelt gjøre dette:

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

Denne metoden kalles hver gang FrameDuration har passert og velges fra switch-case kommandoen i loop (). Hvis du skriver nye animasjoner, kan du legge dem til ved å bare legge dem til i switch-saken.

Trinn 12: Tillegg: AnimationCreator

Tillegg: AnimationCreator
Tillegg: AnimationCreator

Jeg skrev i tillegg en AnimationCreator ved hjelp av JavaFX og Java3D.

Det gjør det enkelt å lage og redigere tilpassede animasjoner ved å gi et brukervennlig brukergrensesnitt.

Du kan lage, redigere, gi nytt navn og omkonfigurere animasjoner for 4x4x4, 6x6x6 eller 8x8x8 LED -terninger

For å lage en ny animasjon trykker du ganske enkelt på Fil> Ny, under "Kube" kan du velge kubestørrelse, for å angi fargen på en LED, velg fargen du vil ha med fargevelgeren til venstre, og klikk deretter venstre på LEDene du vil ha den fargen for den rammen. For å legge til en annen ramme, trykk "Neste" eller "+". Resten av UI -kontrollene er ganske selvforklarende. Avmerkingsboksene ved siden av Cubes Layers skal kontrollere hvilke lag som skal påvirkes av skifting og "Keep Frame". Bare prøv det, så finner du ut alt på kort tid.

I tillegg for å simulere animasjonen kan du klikke på "View 3D" -knappen som åpner et nytt vindu med en Java3D -modell av kuben. Du kan rotere kameraet mens du holder nede venstre museknapp (Trykk på R for å tilbakestille kameraet). For å spille/stoppe animasjonen trykker du på P -tasten, for å tilbakestille animasjonshit Q. Tekstfeltet under "View 3D" -knappen angir gjeldende FrameTime, ergo hastigheten på animasjonen din.

Når du er ferdig med animasjonen, gi den et navn og trykk Fil> Lagre som … og lagre animasjonen i samme mappe som Cubo_Control.ino Sketch.

For å inkludere deg den nye animasjonen i skissen, åpne Cubo_Control.ino og legg til følgende kode på toppen av skissen:

#include "RGBit.h" // Erstatt

Rull ned til BTEvent () og legg til saksuttalelse i animasjonsbryteren

switch (curAnim) {

… sak 10: animasjon = & ani_cubesmove [0] [0]; FRAME_TIME = ANI_CUBESMOVE_FRAMTIME; maxCount = ANI_CUBESMOVE_FRAMES; gå i stykker; sak 11: // DIN NYE ANIMASJON animasjon = & ani_rgbit [0] [0]; FRAME_TIME = RGBIT_FRAMETIME; maxCount = ANI_RGBIT_FRAMES; gå i stykker; }

Trinn 13: Bluetooth -app

Bluetooth -app
Bluetooth -app

For å faktisk kontrollere kuben, takket være HC-05-modulen, er det ganske enkelt å bygge en Bluetooth-app for å koble telefonen til kuben.

Lenke til appen: Github

Appen er åpen kildekode, så du kan legge til flere animasjoner/funksjoner selv.

  • Start appen, den ber deg slå på Bluetooth
  • Klikk "Søk", og en liste over tilgjengelige Bluetooth -tilkoblinger vises. Identifiser HC-05-modulen fra kuben og klikk på den.
  • Hvis det oppstår en feil når du prøver å koble til kuben, kan du prøve å koble HC-05-modulen manuelt i Bluetooth-innstillingene
  • Når appen er tilkoblet, bytter den til kontrollskjermen, og Bluetooth -tilkoblingen er opprettet

Kontroller

  • Hastighet og lysstyrke: Endre glidebryterverdiene for å øke hastigheten/bremse animasjonen eller endre lysstyrken
  • Animasjoner: Klikk på en knapp for å endre animasjonen, som standard går animasjonene i loop (fra toppen til venstre tilsvarer knappen currAnim)
  • Tekstrulling: Klikk på "Tekst" -knappen som åpner en dialogboks for å legge inn litt tekst som vil bli rullet gjennom terningen
  • Kommando: Du kan skrive inn kommandoer manuelt med Command TextField (se på BTEvent () -metoden for Cubo_Control.ino for syntaks)
  • Snake: classic Snake Game (rødt: eple, grønt: slangehode, blått: sneak Tail) (Kontroller: 4 retningsknapper, opp og ned utløses ved å snu telefonen forover (opp) eller bakover (ned))
  • Audio Visualizer: MSGEQ7 brukes til å visualisere 6 lydbånd fra AUX Jack (Button for Animation 7)

Trinn 14: Vis frem

Anbefalt: