Nota
¡Hola! Bienvenido a la Comunidad de Entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirte?
Soporte Experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances Exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y adelantos exclusivos.
Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones Festivas y Sorteos: Participa en sorteos y promociones especiales de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.
2.2.5Módulo Sensor Ultrasónico
Introducción
El sensor ultrasónico utiliza ondas ultrasónicas para detectar objetos con precisión y medir distancias. Emite ondas ultrasónicas y las convierte en señales electrónicas.
Componentes
Diagrama del Circuito
Procedimientos Experimentales
Paso 1: Construye el circuito.
Paso 2: Dirígete a la carpeta del código.
cd ~/davinci-kit-for-raspberry-pi/nodejs/
Paso 3: Ejecuta el código.
sudo node ultrasonic_sensor.js
Después de ejecutar el código, el módulo de sensor ultrasónico detectará la distancia entre el obstáculo y el propio módulo, y el valor de la distancia se imprimirá en la pantalla.
Código
const Gpio = require('pigpio').Gpio;
// Número de microsegundos que tarda el sonido en viajar 1 cm a 20 grados Celsius
const MICROSECDONDS_PER_CM = 1e6/34321;
const trigger = new Gpio(23, {mode: Gpio.OUTPUT});
const echo = new Gpio(24, {mode: Gpio.INPUT, alert: true});
trigger.digitalWrite(0); // Asegura que el trigger esté bajo
const watchHCSR04 = () => {
let startTick;
echo.on('alert', (level, tick) => {
if (level === 1) {
startTick = tick;
} else {
const endTick = tick;
const diff = (endTick >> 0) - (startTick >> 0); // Aritmética de 32 bits sin signo
console.log(diff / 2 / MICROSECDONDS_PER_CM);
}
});
};
watchHCSR04();
// Activa la medición de distancia una vez por segundo
setInterval(() => {
trigger.trigger(10, 1); // Configura el trigger en alto durante 10 microsegundos
}, 1000);
Explicación del Código
La función trigger se utiliza para generar un pulso en un GPIO,
y alerts para determinar el tiempo de cambio de estado de un GPIO
con precisión de unos microsegundos.
Estas dos características se pueden combinar para medir distancias utilizando el sensor ultrasónico HC-SR04.
setInterval(() => {
trigger.trigger(10, 1); // Configura el trigger en alto durante 10 microsegundos
}, 1000);
Esto envía un pulso ultrasónico de 10 microsegundos periódicamente.
const watchHCSR04 = () => {
echo.on('alert', (level, tick) => {
if (level === 1) {
startTick = tick;
} else {
const endTick = tick;
const diff = (endTick >> 0) - (startTick >> 0); // Aritmética de 32 bits sin signo
console.log(diff / 2 / MICROSECDONDS_PER_CM);
}
});
};
Esta función configura una alerta que registrará el tiempo entre el envío del pulso (nivel 1) y la recepción del eco (nivel 0). Multiplicando la diferencia de tiempo por la velocidad del sonido (y dividiendo por 2), se obtiene la distancia al obstáculo.
Imagen del Fenómeno