Stap 6: Verhuizen de Servo
Laten we schrijven een klein programma dat de servo eerst draait naar het centrum, vervolgens naar de maximale hoek, terug naar centrum, en vervolgens naar de minimale hoek.
Dit zijn de enige verschillen tussen deze en de vorige servo-code:
1. de variabele van de variabele delayTime (ingesteld op 1000 milliseconden en 1 seconde) bepaalt hoeveel tijd wachten tussen elke rotatie.
2. Stel de servo naar een nieuwe hoek van de rotatie en dan wachten op een opgegeven tijdsduur.
3. de duur, genaamd delayTime, moet ook rekening houden met hoe snel de motor kan draaien. In dit geval moeten we een minimum van 375 milliseconden wacht voordat de motor een nieuwe opdracht. Het kost dit veel tijd voor de motor om 90 graden te draaien. Spelen met de waarde van deze variabele. U zult merken dat een minder waarde dan 375ms is niet genoeg tijd voor de motor te bereiken de plaats van bestemming, dus het beginnen zal te vertonen.
4. op dezelfde manier kunt u de servo naar andere functies draaien simpelweg door het veranderen van de waarden die naar myServo geschreven. Elke waarde tussen 0 en 180 zal functioneren, want dat ons gamma van rotatie is. In dit voorbeeld zijn deze waarden hardcoded, wat betekent dat ze zijn geschreven expliciet op elke regel. In de toekomst zullen we deze waarden opslaan in variabelen voor meer ingewikkelde en efficiënte toepassingen.
the maximum angle, back to center, and then to the minimum angle.<br>// moveServo.pde - Move servo to center, maximum angle // and to minumum angle #include Servo myServo; int delayTime = 1000; 1 void setup() { myServo.attach(2); } void loop() { myServo.write(90); 2 delay(delayTime); 3 myServo.write(180); 2 delay(delayTime); myServo.write(90); delay(delayTime); myServo.write(0); delay(delayTime); }