X

Al usar esta página web, aceptas nuestro uso de cookies. Usamos cookies para ofrecerte una mejor experiencia y para ayudar a que tu página funcione de manera efectiva.

A5A4A3A2A1A0VINGNDGND5V3V3RESETIOREFRX0 0TX0 12- 34- 5- 678- 9- 10- 111213GNDAREF T r i gV c cE c h oG N D D0/RXD1/TXD2D3 PWMD4D5 PWMD6 PWMD7D8D9 PWMD10 PWM/SSD11 PWM/MOSID12/MISOD13/SCKRESETRESET2AREFiorefA0A1A2A3A4/SDAA5/SCLN/CGND3V35VVINArduino Uno(Rev3)
MecatrónicaLATAM

ARDUINO SENSOR ULTRASÓNICO

Un sensor de ultrasonido es aquel que permite medir distancias. Es importante conocer los conceptos de los sensores ultrasónicos, así como las ecuaciones básicas para su implementación.


LECTURA DE UN SENSOR ULTRASÓNICO CON ARDUINO

Se plantea realizar una práctica simple para entender el comportamiento de un sensor ultrasónico(en este caso se usa el sensor HC-SR04), así como la explicación del código en Arduino.

MATERIAL
  • 1x Arduino.
  • 1x Sensor Ultrasónico HC-SR04.
  • 1x Protoboard.

Esquema de montaje

Circuito esquemático

VccGND echotrig

Código

Primero definimos los dos pines del sensor TRIG y ECHO, después definimos dos variables, en una se almacenará el tiempo de regreso de la onda ultrasónica que viaja por el aire y en la otra almacenará la distancia. En el setup ponemos los pines tanto de entrada y salida respectivamente, además escribimos Serial.begin(9600), esto nos servirá para iniciar la comunicación serial para poder ver la distancia, más adelante se explicará la comunicación Serial con profundidad.

Como dice la hoja de datos del sensor, necesitamos enviar un pulso por 10 microsegundos por el TRIG, ahora lo que hacemos es usar digitalWrite y enviar un pulso alto por el pin del TRIG por 10us, esto se hace mediante el delayMicroseconds, después apagamos ese pulso con un LOW.

Después esa onda regresará y será leída por el ECHO, para esto usaremos la función pulseIn, esta función lo que hace es contar el tiempo en que hay un pulso, ya sea alto o bajo, este tiempo se divide entre 2 ya que lo dice la hoja de datos de nuestro sensor, esto es el tiempo que tarda el sonido en ir y volver.

Ahora calcularemos la distancia, sabiendo que el espacio es igual a la velocidad por el tiempo y que la velocidad del sonido es de 343m/s donde el tiempo lo tenemos en millonésimas de segundo, hacemos la operación matemática de multiplicar el tiempo por la velocidad del sonido y esto nuevamente viene en la hoja de datos del sensor, después simplemente ese valor se almacena en la variable Distancia.

Después con la función Serial.println, imprimimos el valor de la distancia, ahora solo queda abrir el monitor serial en Herramientas > Monitor Serie.

  • #define TRIG 2
  • #define ECHO 3
  • long Tiempo;
  • float Distancia;
  • void setup()
  • {
    • Serial.begin(9600);
    • pinMode(ECHO,INPUT);
    • pinMode(TRIG,OUTPUT);
    }
  • void loop()
  • {
    • digitalWrite(TRIG, HIGH);
    • delayMicroseconds(10);
    • digitalWrite(TRIG, LOW);

    • Tiempo = (pulseIn(ECHO, HIGH)/2);
    • Distancia = float(Tiempo * 0.0343);
    • Serial.println(Distancia);
    • delay(1000);
    }