Saltar la navegación

Servo Básico

Servo con la librería Servo 180 grados. Basico

Uso básico de un servo con la librería Servo

Motor que gira 180 grados en un sentido y en el contrario todo el rato

/*
Capitulo 6 de Arduino desde cero en Español
Primer programa que mueve el servomotor de 0 a 180 grados cada dos segundos y
Autor: bitwiseAr
Actualizado 05/09/2019 by www.sacosta.org
*/

#include <Servo.h> // incluye libreria de Servo

Servo servo1; // crea objeto

int PINSERVO = 9; // pin 9 conectado a señal del servo


void setup()
{
servo1.attach(PINSERVO); // inicializacion de servo
}

void loop()
{
servo1.write(0); // ubica el servo a 0 grados
delay(2000); // espera de 2 seg.
servo1.write(180); // ubica el servo a 180 grados
delay(2000); // espera de 2 seg.
}

Basico con ajuste servo

Ajuste del giro de un servo con las variables pulsoMin y pulsoMax. Muy útil

/*
Sweep
by BARRAGAN <http://barraganstudio.com>
This example code is in the public domain.
modified 8 Nov 2013 by Scott Fitzgerald
http://www.arduino.cc/en/Tutorial/Sweep
modified 05/09/2019 by www.sacosta.org
*/
//modificando pulsoMin y pulsoMax se ajusta el giro con más precisión
#include <Servo.h>
int pinServo = 9; //pin del servo
int pos = 0;
// pulsoMin y pulsoMax útiles para ajustar servo
//modificando estas variables conseguimos el giro 180
int pulsoMin = 525; // pulso minimo en microsegundos inicialmente 1000
int pulsoMax = 1475; // pulso maximo en microsegundos inicialmente 2000
Servo servo;//define un motor en la libreria Servo

void setup() {
servo.attach(pinServo, pulsoMin, pulsoMax); // inicializacion de servo
}

void loop(){
// movemos el servo de 0 a 180 grados en escalones de un grado
for (pos = 0; pos <= 180; pos += 1) {
// función que indica al servo que vaya a la posición indicada por variable "pos"
servo.write(pos);
// espera 15 ms para esperar que llegue a su posición
delay(15);
}
//una vez llegado a 180 invierte el sentido de giro
for (pos = 180; pos >= 0; pos -= 1) {
// función que indica a servo que vaya a la posición indicada por variable "pos"
servo.write(pos);
// espera 15 ms para que servo llegue a su posición
delay(15);
}
}