Stap 3: Code verdeling
De code een stappenmotor verklaart hiermee selecteert u een snelheid en maakt het draai in beide richtingen.
Wij verklaren hier, de stappenmotor. De syntaxis moet het aantal stappen van de motor als de eerste parameter, waarna de pennen waarmee we de motor verbonden. We moeten alleen de twee richting pinnen van de Arduino Motor Shield verklaren. De richting pinnen sets welke richting zal de spoelen worden enthousiast in:
Stepper stepper1(200, dirA, dirB);
In een normale DC motor werking van het schild van de Motor selecteren de twee PWM pinnen hoeveel stroom we aan elke motor toeschrijven Echter, aangezien dit een stepper, we willen altijd volle kracht; dus we zullen vereenvoudigen en de PWM-pinnen direct altijd zo hoog instellen:
// PWM pins require declaration when used as Digital<br>pinMode(pwmA, OUTPUT); pinMode(pwmB, OUTPUT); // Set PWM pins as always HIGH digitalWrite(pwmA, HIGH); digitalWrite(pwmB, HIGH);
Een andere belangrijke stap is de snelheid waar we de motor te schakelen wilt declareren. Als, bijvoorbeeld, we ingesteld een snelheid van 60 RPM zoals in dit geval, en de motor heeft 200 stappen, duurt het ongeveer 5 milliseconden één stap verhogen. De snelheid van de motor kan op elk gewenst moment worden gewijzigd.
stepper1.setSpeed(60);
Tot slot, om de motor verhuizing, moeten we om het aantal stappen te verhogen. Als wij een negatief aantal stappen voeden, zal het verplaatsen in de tegenovergestelde richting. Merk op dat de functie step() de uitvoering van het programma wordt onderbroken totdat de motor volledig draait. Als, bijvoorbeeld, we 200 stappen met een snelheid van 1 RPM, duurt een volle minuut totdat de Arduino zal uitvoering blijven.
stepper1.step(-100);
Arduino wordt ervan uitgegaan dat de stepper beweegt terwijl het bestellingen te verplaatsen. De stepper
heeft geen feedback circuit, dus als we de as van de motor houden, de Arduino er bewegende geloven zal hoewel de stepper misschien niet bewegen.