/*☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄ ☄
☄ ☘ DATOS GENERALES: ☄
☄ NOMBRE: Sensor ultrasónico de distancia. ☄
☄ FECHA: 19 de febrero de 2024. ☄
☄ VERSIÓN: 1.0. ☄
☄ ☄
☄ AUTOR: M. en C. Esli Castellanos Berján. ☄
☄ E-MAIL: [email protected]. ☄
☄ COMPAÑÍA: Universidad de Colima - Facultad de Telemática. ☄
☄ ☄
☄ uC: ESP32-D0WD Dual Core. ☄
☄ Nombre: ESP32-S. ☄
☄ ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄ ☄
☄ ☘ DESCRIPCIÓN DEL PROGRAMA: ☄
☄ Arquitectura de software para configurar y obtener la hora de un ☄
☄ RTC (Real Time Clock). ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄
☄ ☄
☄ ☘ NOTAS: ☄
☄ ESP32 requiere instalar el driver para el USB Bridge ☄
☄ (https://bit.ly/357gDVA). ☄
☄ Cuando no sube automáticamente el código hay que dejar presionado ☄
☄ el botón "boot" cuando aparezca la barra de "connecting". ☄
☄ ☄
☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄☄*/
/*~ Pines PWM disponibles (verificar que no se deshabiliten al usar WiFi o que no afecten el boot) ~*/
#define TRIGGER 2
#define ECHO 3
/*~ Velocidad del sonido en cm/us ~*/
#define VELOCIDAD_SONIDO 0.034
void setup ( void ) {
Serial.begin ( 115200 );
pinMode ( TRIGGER, OUTPUT );
pinMode ( ECHO, INPUT );
}
void loop ( void ) {
Serial.print ( "Distancia en cm: " );
Serial.println ( obtener_distancia ( ) );
delay ( 1000 );
}
float obtener_distancia ( void ) {
/*~ Estas instrucciones son proporcionadas por el fabricante del sensor, cambiarlas puede hacer que las muestras sean érroneas ~*/
/*~ Inicializar en bajo ~*/
digitalWrite ( TRIGGER, LOW );
delayMicroseconds ( 2 );
/*~ Esperar que llegue la señal durante 10 microsegundos para obtener la muestra ~*/
digitalWrite ( TRIGGER, HIGH );
delayMicroseconds ( 10 );
digitalWrite ( TRIGGER, LOW );
return ( pulseIn ( ECHO, HIGH ) * VELOCIDAD_SONIDO / 2 );
}