Menu
CoddyTech

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.

challenge icon

Sfida

Facile

Fai 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
}
quiz iconMettiti alla prova

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