2018/02/12

Distancias con sensor de ultrasonidos HC-SR04

El sensor de ultrasonidos HC-SR04 se utiliza mucho en robótica por su facilidad de conexión a la placa. Solo tenemos que alimentarlo (VCC a 5v con el cable rojo y GND a tierra con el cable negro). Para controlarlo tiene otras dos patillas (Trigger y Echo) que conectamos a dos pines digitales, por ejemplo: Trigger al pin 4 y Echo al pin 2.

Funciona lanzando un pulso de sonido de alta frecuencia (Trigger) y escuchando el rebote de ese mismo eco (Echo). En función del tiempo que tarde el sonido en rebotar en un objeto y volver al sensor podemos determinar la distancia al objeto en cuestión. Según las especificaciones tiene un rango de medidas que va desde un mínimo de 2 centímetros hasta un máximo de 4 metros.


Este es el código que tenemos que cargar en nuestra placa:
const int trigger = 4;
const int echo = 3;

void setup() {
  Serial.begin(9600);
  pinMode(trigger, OUTPUT); 
  pinMode(echo, INPUT);
  digitalWrite(trigger, LOW);
}

void loop(){
  long t;
  long d;
  
  digitalWrite(trigger, LOW);
  delayMicroseconds(4);
  digitalWrite(trigger, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigger, LOW);
  
  t = pulseIn(echo, HIGH);
  d = t/59;

  Serial.print("Distancia: ");
  Serial.print(d);
  Serial.print("cm");
  Serial.println();
  delay(100);
}