Animatron 8.3: En Animatronic Controller (2 / 9 steg)
Steg 2: initiering
För det första inkluderar vi de nödvändiga biblioteken för skissen. Förutom standard SPI och SD bibliotek, som behövs för att prata med sköld, ingår jag i MP3 Player-biblioteket. Kändes som att lägga till min offentligt bibliotek, men sprang ut i rymden på Arduino.
Pratar om utrymme... Pgmspace.h ingår också för att tillåta lagring av stora flytta kommandosträngarna i programmet rymden, frigöra heap-minne för utförande.
MemoryFree ingår för felsökning.
Nästa block av #defines är att ange alias för kommandot tokens. När sammanställt, representeras varje kommando av olika numeriska tecken. Med hjälp av de definierar, programmet är lättare att läsa. Ännu en av mina filosofier.
Sedan alla Arduino stiften används av programmet definieras (jag noterade när du skriver detta, att soundpin har smet till toppen, sin plats! Naughty soundpin!)
Kommandot statiska flytta definieras därefter med en inkludera. Jag kommer att diskutera i detalj nästa steg.
Sedan kärnan-kedjor... creme de la creme... hjärta och själ av skiss, definieras härnäst. Dessa fyra matriser, ScriptAction, ScriptDescription, ScriptOption och ScriptStack, används för att innehålla tokenized program. De innehåller åtgärden, objektet, tidpunkt och räknaren skript för varje steg. Det finns en annan definierar här, likställa EndMain till ScriptSize. Värdet används på två separata platser med olika uppsåt - så här definiera kan namnet vara lämpligt med funktionen värdet används för.
Obs: om du vill visa kodexemplen, högerklicka på bilden och öppna dem i en annan flik. Du kan zooma dem till en större storlek för att se den faktiska koden! Prova det!
Jag har även bifogat en text fil kopia av programmet, med anteckningar identifiera avsnitten där koden refererar till. Använda den som en kamrat dokument.