lunes, 9 de enero de 2017

Control de Servo BLUETOOTH


// ARDUINO UNO

#include <SoftwareSerial.h>   //Incluimos libreria para crear nuestro propio RX-TX

SoftwareSerial NZV (2,3);    //2 es igual a RX
                            //3 es igual a TX

#include <Servo.h>                //Incluimos La libreria del MicroServo

Servo servo;                    //Creo el primer objeto cone el nombre "servo"

int puls_rest =0;        //Estas tres variables son creadas para almacenar en los pines A0,A1,A2
int puls_der =0;         //Configuramos que esten los tres para inicializar a los pulsadores en 0
int puls_izq =0;         //que se encuentre en un estado cero
void setup()
{ Serial.begin(9600);
  NZV.begin(9600);

  servo.attach(5,500,2400); // Asocia el servo al pin 3, define el min y max del ancho del pulso
                              // eso depende del fabricante del servo
  pinMode(A0,INPUT); //Para los 3 pulsadores
  pinMode(A1,INPUT);
  pinMode(A2,INPUT);
}

void loop()
{    int a;
//-------------------------Funcion de Recepcion
  if(Serial.available() > 0){
     a = Serial.read();
  }
//-------------------------Funcion de Transmision
  if(a == '1'){
  servo.write(0);
  }
  if(a == '2'){
  servo.write(90);
  }
  if(a == '3'){
  servo.write(180);
  }
    puls_rest = digitalRead(A0);     //Lee el valor del pin si esta en HIGH-LOW
    puls_der = digitalRead(A1);     //Lee el valor del pin si esta en HIGH-LOW
    puls_izq = digitalRead(A2);     //Lee el valor del pin si esta en HIGH-LOW
                   
    if(puls_rest==HIGH){
    servo.write(0);               //el servo Gira  a 0 grados
    delay(25);                     //Espera 25 mili segundos a que el servo llegue a la posicion
    }

    if(puls_der==HIGH){
    servo.write(90);              //el servo Gira a 90 grados
    delay(25);
    }

    if(puls_izq==HIGH){                
    servo.write(180);             //el servo Gira a 180 grados
    delay(25);
    }                    
  }


No hay comentarios:

Publicar un comentario