Stap 11: Het maken van kolkende Grover dans!
Hier is hoe het programma werkt: de eerste 4 servo-opdrachten beginnen de servo's verplaatsen naar hun oorspronkelijke positie gebracht met zijn handen en voeten. De eerste parameter van de servo-commando vertelt de servo welke positie verplaatsen naar en de tweede parameter vertelt de microcontroller die servo moet de actie uitvoeren. De subroutine "moving_wait" heet dan te wachten tot alle de servo's hebben hun definitieve standpunt bereikt. Vervolgens de "snelheid"-opdracht wordt gebruikt om in te stellen van de servo om langzaam te bewegen op de weg omhoog en een "servo"-opdracht wordt gebruikt om te beginnen met het verhogen van de hand. "moving_wait" heet weer vertraging gaan naar de volgende opdracht tot de hand is volledig aan de orde gesteld. De snelheid is ingesteld op het worden sneller, de hand wordt verlaagd en het programma wacht totdat de hand klaar is met het verplaatsen. Wanneer "repeat" is bereikt, het programma gaat terug naar de opdracht na het 'begin' en de hand wordt steeds weer gezwaaid.
Het eerste segment van deze video toont dit programma in actie. Dan veranderde ik de servo-nummers in het programma om te maken zijn andere hand en de rest van de voeten bewegen zoals u in de rest van de video zien zult.
De volgende vijf dia's tonen het programma dat ik gebruikte om Grover dansen zoals in de video's op de "intro" stap van dit instructable. In de eerste dia "Prepare for dancing", wordt de snelheid-opdracht gebruikt om de snelheid waarmee de servo's zal draaien. Subroutines zijn geroepen om al zijn ledematen in de down positie verplaatsen. "moving_wait" heet te onderbreken totdat alle de servo's zijn gestopt met het verplaatsen. De "vertraging" commando zorgt ervoor dat een 1000 milliseconde of 1 seconde vertraging voor de dansroutine begint.
De volgende dia "Main lus dat maakt hem dance" bevat de code die verschillende ledematen met verschillende vertragingen omhoog en omlaag beweegt om een ritme en beweging die overeenkomt met de muziek. Het duurde enkele experimenten om dit recht voor de twee nummers in de video, maar thats wat maakt het programmeren van Grover plezier!
De laatste dia "Subroutines voor het beheersen van de ledematen" toont het hoe elk van de ledematen worden gecontroleerd. Ik hou van deze subroutines omdat het schrijven en lezen van het programma gemakkelijker maakt. Alle deze code kan worden gevonden in het bestand van de "Dance Grover dans Program.rtf" die hieronder zijn toegevoegd. U kunt kopiëren en plak deze in het Maestro-control-center, zoals eerder is beschreven voor het uitvoeren van dit programma.
Er zijn interessante mogelijkheden voor het uitbreiden van dit project. De microcontroller heeft extra mogelijkheden voor het lezen van de ingangen van schakelaars en kan worden gebruikt om andere circuits aan en uit zetten. Een voorbeeld zou kunnen toevoegen van een nieuwe mogelijkheid om muziek inschakelen zodra Grover dansen en zwenking op vandoor wanneer hij klaar is.
Veel plezier!