viernes, 12 de abril de 2019

Servomotor con 4 pulsadores

#include <Servo.h>

Servo motor1;
Servo motor2;
int posicion_motor1=0;
int pulsadorizquierda=2;
int estado_pulsadorizquierda=0;
int incremento_de_angulo=10;
int pulsadorderecha=5;
int estado_pulsadorderecha=0;
int posicion_motor2=0;
int pulsadorarriba=3;
int estado_pulsadorarriba=0;
int pulsadorabajo=4;
int estado_pulsadorabajo=0;

void setup()
{
motor1.attach(9);
pinMode(pulsadorizquierda,INPUT);
pinMode(pulsadorderecha,INPUT);
motor1.write(posicion_motor1);
motor2.attach(10);
pinMode(pulsadorarriba,INPUT);
pinMode(pulsadorabajo,INPUT);
motor2.write(posicion_motor2);
}

void loop() {

estado_pulsadorizquierda= digitalRead(pulsadorizquierda);
estado_pulsadorderecha= digitalRead(pulsadorderecha);
estado_pulsadorarriba= digitalRead(pulsadorarriba);
estado_pulsadorabajo= digitalRead(pulsadorabajo);
if (estado_pulsadorizquierda==HIGH)
{
posicion_motor1 = posicion_motor1 + incremento_de_angulo;  //introducimos cuanto queremos que se mueva el servo pulsando el pulsador izquierdo
motor1.write(posicion_motor1);
delay(100); 
  if (posicion_motor1 >= 180){
  posicion_motor1=0;                                      //introducimos cuanto queremos que se mueva el servo pulsando el pulsador izquierdo
  motor1.write(posicion_motor1);
  }
}

if (estado_pulsadorderecha==HIGH)
{
posicion_motor1 = posicion_motor1 - incremento_de_angulo; //introducimos cuanto queremos que se mueva el servo pulsando el pulsador derecho
motor1.write(posicion_motor1);
delay(100); 
    if (posicion_motor1 <= 0){
  posicion_motor1=180;                //Hacemos que vuelva a su posicion inicial al llegar a su limite de giro
  motor1.write(posicion_motor1);
  }
}
if (estado_pulsadorarriba==HIGH)
{
posicion_motor2 = posicion_motor2 + incremento_de_angulo;  //introducimos cuanto queremos que se mueva el servo pulsando el pulsador izquierdo
motor2.write(posicion_motor2);
delay(100); 
  if (posicion_motor2 >= 180){
  posicion_motor2=0;                                      //introducimos cuanto queremos que se mueva el servo pulsando el pulsador superior
  motor2.write(posicion_motor2);
  }
}

if (estado_pulsadorabajo==HIGH)
{
posicion_motor2 = posicion_motor2 - incremento_de_angulo; //introducimos cuanto queremos que se mueva el servo pulsando el pulsador inferior
motor2.write(posicion_motor2);
delay(100); 
    if (posicion_motor2 <= 0){
  posicion_motor2=180;                //Hacemos que vuelva a su posicion inicial al llegar a su limite de giro
  motor2.write(posicion_motor2);
  }
}
}

No hay comentarios:

Publicar un comentario