Tutorial Arduino con un sensor ultrasónico HC-SR04.

Conexión ultrasónico

Materiales necesarios

  • Arduino (UNO, Mega, Nano, etc.)
  • Sensor ultrasónico HC-SR04
  • Cables de conexión (jumper wires)
  • Protoboard (opcional)
  • Resistor de 1kΩ (opcional, para reducir la señal de eco a 3.3V si usas una placa que trabaja a 3.3V)

Conexiones

  1. VCC del HC-SR04 a 5V del Arduino.
  2. GND del HC-SR04 a GND del Arduino.
  3. Trig del HC-SR04 a un pin digital del Arduino (por ejemplo, el pin 10).
  4. Echo del HC-SR04 a otro pin digital del Arduino (por ejemplo, el pin 9).

Código fuente:

#define trigPin 10
#define echoPin 9

void setup() {
  Serial.begin(9600);  // Inicializa la comunicación serial a 9600 baudios
  pinMode(trigPin, OUTPUT);  // Configura el pin trig como salida
  pinMode(echoPin, INPUT);  // Configura el pin echo como entrada
}

void loop() {
  long duration, distance;

  // Emite un pulso de 10 microsegundos en el pin trig
  digitalWrite(trigPin, LOW);  // Asegura que el pin trig esté bajo
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);  // Genera el pulso de 10 microsegundos
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Lee el tiempo en microsegundos del pin echo
  duration = pulseIn(echoPin, HIGH);

  // Calcula la distancia en centímetros
  distance = (duration / 2) / 29.1;

  // Muestra la distancia por el monitor serial
  Serial.print("Distancia: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(1000);  // Espera 1 segundo antes de la siguiente medición
}

Explicación del código

  1. Definición de pines: Se definen los pines del Arduino que estarán conectados a Trig y Echo del sensor HC-SR04.
  2. Configuración inicial (setup): Se inicializa la comunicación serial y se configuran los pines como entrada o salida según corresponda.
  3. Bucle principal (loop):
    • Se emite un pulso de 10 microsegundos en el pin Trig.
    • Se mide el tiempo que tarda en recibir el eco en el pin Echo.
    • Se calcula la distancia en función del tiempo medido. La fórmula (duration / 2) / 29.1 convierte el tiempo medido en distancia en centímetros.
    • Se imprime la distancia medida en el monitor serial.

(0) Comentarios

No registra comentarios, se el primero en comentar.
Publicar

Pública tu duda o comentario

Resuelve tus dudas con la comunidad.

*Obligatorio*