HC-SR04 sensor de distancia ultrasonico con Arduino.

Una pequeña chuleta de como manejar el sensor de distacia por ultrasonidos HC-SR04 desde Arduino.

HC-SR04

Este es el esquema de conexiones de Fritzing:

HC-SR04_fritzing

Y el sketch que muestra el funcionamiento basico del sensor.

Lo que hace es enviar una señal y, durante 5 microsegundos, comprobar si hay algun retorno.Si es asi estima una distancia al objeto en base al tiempo que ha tardado la señal.

Por ultimo muestra los datos por el terminal serie. Repite esta rutina cada segundo.

 

/*
 Ejemplo de como funciona el sensor de distancia por ultrasonido
 Por la consola muestra la distancia y cuando esta llega a un 
 punto determinado se enciende un led.

 HC-SR04 conexiones:
  VCC al arduino 5v 
  GND al arduino GND
  Echo al Arduino pin 8 
  Trig al Arduino pin 7
 */

#define echoPin 8
#define trigPin 7
#define LEDPin 13
long duration, cm;

void setup(){
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(LEDPin, OUTPUT);
}

void loop(){
 digitalWrite(trigPin, LOW); 
 delayMicroseconds(2); 
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(5); 
 digitalWrite(trigPin, LOW);
 duration = pulseIn(echoPin, HIGH);

 cm = microsecondsToCentimeters(duration);

 Serial.print ("Milisegundos: ");
 Serial.print(duration);
 Serial.print("  Distancia estimada: ");
 Serial.print(cm);
 Serial.println(" cm");

 delay(1000);
}

long microsecondsToCentimeters(long microseconds){
  // La velocidad del sonido a 20º de temperatura es 340 m/s o
  // 29 microsegundos por centrimetro.
  // La señal tiene que ir y volver por lo que la distancia a 
  // la que se encuentra el objeto es la mitad de la recorrida.
  return microseconds / 29 /2 ;
}

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.