/*βββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β 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 );
}