Wearable anslagstavla (4 / 5 steg)
Steg 4: Programmet mikrokontroller
Jag programmerade min styrelse genom att helt enkelt byta ut atmega chip i uttaget direkt från min arduino. Du kan göra detta för att enkelt bygga ett projekt som detta, eller kan du gå till extra flera minuter för att lägga till en programmering header pins och få billiga FTDI programmerare. I framtiden som är hur jag skulle gå om andra projekt, men jag hade inte gränssnittet FTDI tillgänglig och jag var för lat för att använda en arduino för det. Du kan läsa mer om det på länkarna på prototyping steg.
HÄMTA ARDUINO SKISS
Jag ingår också schematiskt (Obs: det visar en RGB LED-matris i stället för en enda färg... bortse från detta)
Denna skiss är typ av slarvig och inte väl kommenterade (om någon vill rensa upp gärna skicka mig en kopia av uppdateringar). Sakerna att notera är att den har flera exempel på MAX72XX biblioteket rullade in en skiss samt en anpassad 8 x 8 Animation format. Du kan utöka detta mycket enkelt genom att nya animationer som förklaras nedan. Om du har några problem med denna skiss, gärna bara skjuta mig en kommentar och jag ska försöka besvara den.
Krav:
MAX72XX panelen Bibliotek
Adafruit GFX bibliotek
Aktuell lista över kommandon:
Du kan utlösa ett gäng olika animationer och ikoner genom att skicka någon av följande kommandon till enheten via serial:
orm
Spin
Boom
ansikte
hjärta
musik
höger
vänster
Pacman
Pinky
leende
skalle
Ani
Om en av de ovan lista objekt inte är skickade skissen antar du vill skicka en läsradsläge meddelande och för att bläddra igenom meddelandet. Varje kommando eller upprepas tills du skickar ett annat kommando (utom "boom");
"ani" är en slinga av flera av ikoner kan du se funktionen längst ned i skissen att se tidpunkten etc.
Lägga till animationer:
Du kan anpassa din anslagstavla med anpassade animeringar. Jag byggde i en standardiserad metod för att skriva ut bitmappar som lagras som ett 64 byte byte [] matris. Detta gör att du kan ha upp till 8 bilder av 8 x 8 animering för en enda funktion. Animeringarna genereras genom att skriva nya bytevärden i minnet och kan skrivas som binära representationer av de lysdioder på matrisen. Så kan du använda en 1 för hög (lyser) eller 0 för låg (dim) att göra en bild. Om du lägger till nya vänligen bilder eller animationer dela dem... jag skulle älska att se vad andra människor gör med detta.
exempel:
Om du Kisa ögonen på detta bör du kunna se 2 ramar av ghost animeringen:
void pinky() {
MEMSET(mBitmap,0,sizeof(mBitmap)); Tydlig mBitmap byte []-array
aniFrames = 2; Berätta arduino för hur många bildrutor du är animation är
mBitmap [0] = B00111000;
mBitmap [1] = B01111100;
mBitmap [2] = B10010010;
mBitmap [3] = B11011010;
mBitmap [4] = B11111111;
mBitmap [5] = B11111111;
mBitmap [6] = B11111111;
mBitmap [7] = B10101010;
mBitmap [8] = B00111000;
mBitmap [9] = B01111100;
mBitmap [10] = B10010010;
mBitmap [11] = B10110110;
mBitmap [12] = B11111111;
mBitmap [13] = B11111111;
mBitmap [14] = B11111111;
mBitmap [15] = B01010101;
dBitmap(); kör dBitmap om du vill rita bitmapp bildrutorna på matrisen
}
dBitmap fungerar bara loopar igenom varje byte i matrisen och gör en bitvis jämförelse för att se om motsvarande LED bör vara hög eller låg.
Måste du spela med detta lite att få det att se rätt. Du kommer också vill lägga till kommandot i slingan så när ett nytt seriella kommando skickas till variabeln band det kan utlösa funktionen. (ser du vad jag menar i koden... om inte be och jag hjälper dig)