En esta sección aprenderás a programar un sensor ultrasónico capaz de medir distancia con un microcontrolador PIC. El objetivo es emitir una señal de radio ultrasónica y medir el tiempo que tarda la señal en volver al sensor ultrasónico.
Características del Sensor HC-SR04
Voltaje: DC 5V
Corriente: 15mA
Frecuencia: 40Hz
Rango Max: 4m
Rango Min: 2cm
Trigger Input Signal: 10µS TTL pulse
Echo Output Signal Input TTL
Dimensiones: 45 * 20 * 15mm
Entrada y salida de señales de control para el sensor ultrasónico
Se envía una señal de 10us de ancho de pulso al pin trigger del sensor.
El pin deEcho retorna una señal de salida con un ancho de pulso proporcional al tiempo que tarda en percibir el objeto.
Formula para calcular la distancia
Para calcular la distancia al objeto se multiplica la velocidad del sonido por el tiempo que tarda enviar recibir la señal y se divide entre 2 para obtener solo el tiempo de ida.
Circuito de conexión
Programación
Código archivo .h
En el archivo .h se coloca la instrucción para utilizar el oscilador interno a 4MHz.
Si se utiliza el oscilador interno de 4Mhz el tiempo de desbordamiento del timer1 se establece en 65.535ms por lo que seria el valor máximo que se podría medir. El tiempo de desbordamiento se obtiene en un valor de 16 bits es decir:
Si, 65.535ms = 16 bits ó 65.535ms = 65535 decimal
Y si convertimos el tiempo de desbordamiento en microsegundos (us) se puede considerar que el tiempo de desbordamiento es igual a los 16 bits en decimal.