Far oscillare un servo
Fa parte della sezione Uscite del percorso Arduino di Coddy. Lezione 21 di 24.
arm.write() passa direttamente a un angolo. Per muovere lentamente il braccio, passa attraverso ogni angolo intermedio con un ciclo for, aspettando un momento a ciascuno:
for (int angle = 0; angle <= 180; angle++) {
arm.write(angle);
delay(15);
}Qui il contatore si chiama angle e <= 180 include anche 180. 181 passaggi di 15 ms richiedono circa 2.7 secondi.
Per tornare indietro, conta alla rovescia. angle-- sottrae 1 a ogni iterazione, e il ciclo continua finché l’angolo è ancora 0 o più:
for (int angle = 180; angle >= 0; angle--) {
arm.write(angle);
delay(15);
}Metti entrambi i cicli in loop() e il braccio oscillerà avanti e indietro come un tergicristallo.
Sfida
FacileFai oscillare il servo sul pin 9, ancora e ancora:
- da 0 fino a 180 gradi, un grado alla volta, aspettando 15 ms a ogni passaggio
- poi torna a 0 allo stesso modo
Premi Esegui, poi Verifica.
Provalo tu
#include <Servo.h>
Servo arm;
void setup() {
arm.attach(9);
}
void loop() {
// ruota da 0 a 180, un grado ogni 15 ms
// poi torna a 0
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Uscite
Esercitati da solo: Playground Arduino