servo-balayage.ino

LilyPad Arduino · Archivo : servo-balayage.ino · Lenguaje : Arduino · Uso : Faire balayer un servo-moteur de 0 à 180 degrés

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

Una LilyPad Arduino (ATmega168V/328V, 8 MHz, 3,3 V) con sus pastillas para coser, programada con cable FTDI (breakout) y alimentada por 3,7 V (LiPo) o 5 V en V-REG. 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 « LilyPad Arduino » y el puerto FTDI, y suba. El hilo conductor añade unos ohmios de resistencia: mantenga tiradas cortas y aísle los cruces.

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);
}

← Volver a la ficha