martes, 8 de abril de 2014

Medida distancia con leds y ultrasonidos

En esta entrada vamos a realizar medidas de forma cualitativa (con los colores de los leds) mediante el sensor de ultrasonidos ya utilizado en la entrada anterior. El conjunto tomará, de forma sencilla, una medida de la distancia a la cual está el objeto, encendiendo el LED rojo si dicho objeto está a menos de 20 centímetros, ámbar si está entre 20 y 40 centímetros, y verde si está a más de 40 centímetros.





Material

Sensor ultrasonidos HC-SR04
Placa Arduino UNO
LED rojo, verde y ámbar (se pueden usar los colores que tengáis, yo he usado los más familiares). 3x resistencias 220 ohmnios
Cables
Cable USB
Esquema




Programa

int ledrojo=6;
int lednaranja=7;
int ledverde=8;
long distancia;
long tiempo;
int led;
void setup(){
  Serial.begin(9600);
  pinMode(11, OUTPUT); 
  pinMode(12, INPUT); 
  pinMode(ledrojo, OUTPUT); 
  pinMode(lednaranja, OUTPUT); 
  pinMode(ledverde, OUTPUT);   
}

void loop(){
  digitalWrite(11 ,LOW);
  delayMicroseconds(10);
  digitalWrite(11, HIGH); 
  delayMicroseconds(10);
  tiempo=pulseIn(12, HIGH); 
  distancia= int(0.017*tiempo); 
  if (distancia>40){
    led=1;
    digitalWrite(lednaranja,LOW);
    digitalWrite(ledrojo,LOW);
  }
  if (distancia<=40&&distancia>20){
    led=2;
    digitalWrite(ledverde,LOW);
    digitalWrite(ledrojo,LOW);
  }
  if (distancia<=20){
    led=3;
    digitalWrite(ledverde,LOW);
    digitalWrite(lednaranja,LOW);
  }
  switch(led){
    case 1:
    digitalWrite(ledverde,HIGH);
    break;
    case 2:
    digitalWrite(lednaranja,HIGH);
    break;
    case 3:
    digitalWrite(ledrojo,HIGH);
    break;
  }
  delay(50);

} 


Vídeo

Os animamos a subir vuestros vídeos del tutorial funcionando en nuestro Facebook o 
nombrándonos en Twitter.

P.

2 comentarios:

  1. Funciona bien, dentro de ciertos rangos se pueden modificar las distancias. Gracias buen diseño

    ResponderEliminar
  2. Muy bueno tu práctica con Arduino y sensor de distancia Gracias por compartirlo

    ResponderEliminar