Styra tidpunkten för ett manöverdon förslag (4 / 5 steg)
Steg 4: Testa och ändra koden
I detta steg kommer vi att förklara varje del av koden, så du kan ändra den till dina behov.
Den första biten av koden kan vi ändra är stiften används på MegaMoto. Vi använder stift 13, 11 och 3. Du kan ändra dessa baserat på vilken ståndpunkt byglarna är på brädan.
Nästa är extendtime och retracttime. Dessa värden representeras i millisekunder, och berätta hur lång tid att flytta framåt och bakåt motorn.
timetorun är den totala tid som ditt program kommer att köras. Det uttrycks också i millisekunder.
Void setup(), vi setup Arduino styrelsen och berätta det vad är ansluten till varje stift.
I de viktigaste loop, ogiltig loop(), kontrollerar den första anvisningen har vi om motorn är tänkt för att flytta. Variabeln keepMoving är beroende av timetorun. Om programmet har redan kört för större då timetorun, flyttar inte motorn.
Inuti denna loop, är MegaMoto styrelsen aktiverat. Manöverdonet är sköt via en funktion, och fortsätter att göra det. för extendtime. Efter denna försening, manöverdonet stannar. Den lilla förseningen av 10 millisekunder ger motor tid att stoppa roterande, för att eliminera en spänning stegring orsakad av snabbt växlande riktning av motorn.
Manöverdonet är sedan drog för retracttime, och stannade.
Nu kontrolleras tiden. Millis() är en timer som räknar hur många millisekunder har gått sedan Arduino har varit påslagen. Det används för att kontrollera om du har kört längre sedan timetorun och kommer att tala om för programmet sluta.
Den senaste kontrollen är att se om elapsedTime är större då timetorun. Om elapsedTime är mindre, sedan upprepas programmet. Om elapsedTime är större, är ett meddelande skrivs ut till seriell bildskärmen och den variabla keepMoving falska så att motorn inte längre rör sig.
Det är hela programmet!