// definimos qué cosas conectamos al Arduino:
#define SERVO 3 // servomotor en puerto 3 (cable amarillo)
#define BOTON1 6 // botón en puerto 6 (cable verde)
// incluimos la librería que nos permite trabajar con servomotores:
#include <Servo.h>
// declaramos un objeto de tipo "Servo" para manejar el servomotor y lo llamamos "servomotor"
Servo servomotor;
// declaramos una variable para recordar la posición del servomotor
int posicion_servo;
void setup() // codigo que se ejecuta sólo una vez, al principio
{
// definimos si las entradas digitales son entradas o salidas:
pinMode(BOTON1, INPUT_PULLUP); // el botón es una entrada de tipo PULLUP (HIGH->no está pulsado y LOW->está pulsado)
// enchufamos el servo en su puerto (define SERVO)
servomotor.attach(SERVO);
// inicialmente, fijamos la posición del servo en 0 grados
posicion_servo = 0;
// y le pedimos que se mueva a esa posición
servomotor.write(posicion_servo);
}
void loop() // código que se repite contínuamente, tras el setup()
{
delay(10); // metemos este delay para que el simulador no se sature
if (!digitalRead(BOTON1)) // si se pulsa el botón del puerto BOTON1
{
//incrementamos un grado su posición (en la variable)
posicion_servo = posicion_servo + 1;
//mandamos el valor de la variable al servo, para que ejecute el cambio
servomotor.write(posicion_servo);
//ahora esperamos 1 décima de segundo para que el movimiento no sea muy rápido
delay(100);
}
}