Barre un servo
Parte de la sección Salidas del Journey de Arduino de Coddy. Lección 21 de 24.
arm.write() salta directamente a un ángulo. Para mover el brazo lentamente, recorre todos los ángulos intermedios con un bucle for, esperando un momento en cada uno:
for (int angle = 0; angle <= 180; angle++) {
arm.write(angle);
delay(15);
}Aquí el contador se llama angle, y <= 180 incluye el 180. 181 pasos de 15 ms tardan unos 2.7 segundos.
Para volver, cuenta hacia atrás. angle-- resta 1 en cada vuelta, y el bucle se ejecuta mientras el ángulo siga siendo 0 o más:
for (int angle = 180; angle >= 0; angle--) {
arm.write(angle);
delay(15);
}Pon ambos bucles en loop() y el brazo se moverá de un lado a otro como un limpiaparabrisas.
Desafío
FácilHaz que el servomotor del pin 9 barra una y otra vez:
- desde 0 hasta 180 grados, de un grado en un grado, esperando 15 ms en cada uno
- después vuelve a bajar hasta 0 de la misma manera
Pulsa Run y después Check.
Pruébalo tú mismo
#include <Servo.h>
Servo arm;
void setup() {
arm.attach(9);
}
void loop() {
// recorre de 0 a 180, un grado cada 15 ms
// luego vuelve a bajar hasta 0
}
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Salidas
Practica por tu cuenta: Playground de Arduino