servo-balayage.ino
La biblioteca Servo genera el pulso de control (1-2 ms) y barre el ángulo de extremo a extremo. Alimentar un servo mediano desde un 5 V dedicado evita reinicios por picos de corriente.
Hardware necesario
Un Arduino Duemilanove (ATmega168 o 328P, 16 MHz, 5 V) con su cable mini-USB-B; el puerto serie aparece tras instalar el driver FTDI. 1 servo estándar (SG90/MG90S) + alimentación externa de 5 V recomendada.
Cableado
Naranja (señal) al pin 3, rojo a +5 V, marrón a GND (masa común con la placa).
Funcionamiento
myservo.write(angle) envía un pulso cuya anchura corresponde al ángulo; pasos de 5° cada 50 ms dan un movimiento suave. En el Arduino IDE, elija « Arduino Duemilanove » (o « Diecimila » para placas muy antiguas) y el puerto FTDI, y pulse Subir. El ATmega168 solo deja 14 KB para el sketch.
Para ir más lejos
Añada un potenciómetro en A0 para un lazo posición → servo (radar de robot).
servo-balayage.ino
// Balayage servo 0..180 degres avec la bibliotheque Servo.
#include <Servo.h>
Servo myservo;
int angle = 0;
int sens = 1;
void setup() {
myservo.attach(3); // broche avec pin signal du servo
Serial.begin(9600);
}
void loop() {
myservo.write(angle);
angle += sens * 5;
if (angle >= 180 || angle <= 0) sens = -sens;
delay(50);
}