Saltar la navegación

Programa

El programa se basa, por un lado en ir continuamente haciendo medidas de distancia desde el sensor Sharp, después hay que hacer la conversión que antes hemos visto para pasar la entrada analógica a centímetros, y por último hacemos la comparación con el valor que se nos ha pedido (20 cm) para encender o no el led del pin 5.

int alto = 515, bajo = 90; //valores de tensión del sharp
int cm = 0;                //Para almacenar el valor obtenido en cm valor=0 
int sharp = A2;            //Entrada analógica del sensor.
int led = 3;
int valor;

void setup(){

  pinMode(led, OUTPUT);
  Serial.begin(9600);

}

void loop(){

  valor = analogRead(sharp);
  if (valor > alto || valor < bajo) Serial.println("OUT"); //fuera de rango
  else{    
    cm = (6787 / (valor - 3)) - 4;      //calculo
    Serial.println(cm); //cm detectados por el monitor
    //Si el objeto esta a menos de 20cm
    if(cm < 20) digitalWrite(led,HIGH);
    delay(600);
    digitalWrite(led,LOW);
  }
}