Groovin' Grover: En mikrokontroller-baserade marionett (11 / 11 steg)
Steg 11: Att göra Groovin' Grover dans!
Här är hur programmet fungerar: första 4 servo kommandona start servon går att sätta sina händer och fötter i utgångsläget. Den första parametern i kommandot servo berättar servo vilken ståndpunkt att flytta till och den andra parametern berättar mikrokontroller som servo bör utföra åtgärden. "Moving_wait" subrutinen kallas då för att vänta tills alla servon har nått sin slutliga ståndpunkt. Därefter kommandot "speed" används för att ange servo flytta långsamt på vägen upp och ett "servo" kommando används för att starta en höjning av handen. "moving_wait" kallas igen till dröjsmål går till nästa kommando tills handen är fullt upp. Hastigheten är inställd att vara snabbare, handen sänks och programmet väntar tills handen har flyttat. När "Upprepa" nås, programmet går tillbaka till kommandot efter "begin" och handen vinkade igen och igen.
Den första delen av denna video visar detta program i aktion. Jag ändrade då servo siffrorna i programmet för att göra sin andra hand och resten av fötterna röra som du ser i resten av videon.
Följande fem bilderna visar programmet jag använde att göra Grover dansa som visas i filmerna om "intro" steg detta instructable. I den första bilden "Förbered för dans" används kommandot hastighet för att ange hastigheten som servon kommer att rotera. Subrutiner är kallade för att flytta alla hans lemmar till nedfällt. "moving_wait" kallas för att pausa tills alla servon har slutat röra sig. Kommandot "delay" orsakar en 1000 millisekund eller 1 sekund försening för rutinen dance startar.
Nästa bild "Main loop som gör honom dansa" visar koden som rör sig olika lemmar upp och ner med olika förseningar för att få en rytm och rörelse som matchar musiken. Det tog några försök att få denna rätt för de två låtarna i videon men det är vad som gör programmering Grover kul!
Den sista bilden "Subrutiner för styrning av armar och ben" visar hur var och en av armar och ben är kontrollerade. Jag gillar att använda dessa subrutiner eftersom det gör skriva och läsa programmet lättare. All denna kod kan hittas i filen "Dance Grover dans Program.rtf" bifogas nedan. Du kan kopiera och klistra in detta i kontrollcentret Maestro som tidigare beskrivits för att köra detta program.
Det finns intressanta möjligheter för att utvidga detta projekt. Mikrokontroller har ytterligare funktioner för att läsa indata från växlar och kan användas för att aktivera andra kretsar och inaktivera. Ett exempel skulle vara att lägga till en ny förmåga att sätta på musik när Grover börjar dansa och inaktivera den när han är klar.
Ha det så kul!