jueves, 15 de septiembre de 2016

Arduino: Sensor SHARP GP2Y0A21YK [Medir Distancia]


Circuito

Ejemplo 1:

int SENSOR = A0;  // Pin análogo A0 en donde está conectada la señal del Sensor

int led=13;       //Pin 13 de nuestro arduino en donde conectamos el led indicador

//float lectura;     //lo utilizamos para leer el valor  del Sensor
int lectura;
float  conversion; //Lo utilizamos para utilizar la formula de conversion

void setup() {

  pinMode(led,OUTPUT); //Led = Salida

}

void loop(){

lectura = analogRead(SENSOR); //Leemos el Pin análogo A0 (Sensor)
conversion= pow(3027.4 / lectura, 1.2134);

//if (lectura >=80 && lectura <=500){
 // conversion = (4800)/(lectura-11);
 // }
  if (conversion>=0 && conversion<10){ //Si el valor se encuentra entre 0 y 10 cm!
    digitalWrite(led,HIGH);} //encendemos el led
    else{                    //Si no
    digitalWrite(led,LOW);   //Apagamos el led
    }
  }
 
Ejemplo 2

int SENSOR = A0;  // Pin análogo A0 en donde está conectada la señal del Sensor
int led=13;        //Pin 13 de nuestro arduino en donde conectamos el led indicador
int IN2 = 5;       //Entrada motores Izquierdos hacia atras
int IN3 = 6;       //Entrada motores Derechos hacia atras
int lectura;       //lo utilizamos para leer el valor  del Sensor Sharp 2Y0A21
int conversion;    //Lo utilizamos para guardar el valor de la formula de conversion

void setup() {

  pinMode(led,OUTPUT); //Led = Salida
   pinMode (IN2, OUTPUT);  //Pin5 = Salida
    pinMode (IN3, OUTPUT);  //Pin6 = Salida  

}

void loop(){

lectura = analogRead(SENSOR); //Leemos el Pin análogo A0 (Sensor)
conversion= pow(3027.4 / lectura, 1.2134); //Conversion a CM

  if (conversion>=0 && conversion<10){  //Si el valor se encuentra entre 0 y 10 cm!
   digitalWrite(led,HIGH);              //encendemos el led
    analogWrite(IN2,255);               //Pwm en IN2
    analogWrite(IN3,255);               //Pwm en IN3
    delay(1000);                     }  //Se activa 1 segundo
    else{                               //Si no
    digitalWrite(led,LOW);              //Apagamos el led
    analogWrite(IN2,0);                 //Pwm en IN2
    analogWrite(IN3,0);                 //Pwm en IN3
        }
          }