Nota
Hola, ¡bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirse?
Soporte de expertos: Resuelve problemas posventa y desafíos técnicos con ayuda de nuestra comunidad y equipo.
Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances exclusivos: Accede anticipadamente a anuncios de nuevos productos y adelantos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones y sorteos festivos: Participa en sorteos y promociones especiales por festividades.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo.
3.1 Asistente de Reversa
Descripción general
Con el avance de la ciencia y la tecnología, muchos productos de alta tecnología se han incorporado en los automóviles, entre los cuales el sistema de asistencia de reversa es uno de ellos. Aquí utilizamos sensores ultrasónicos, una pantalla LCD, un LED y un zumbador para construir un sistema simple de asistencia de reversa basado en ultrasonidos.
Componentes necesarios
Circuito Fritzing
En este ejemplo, el esquema de conexión se muestra a continuación.
Diagrama esquemático
Código
Nota
Puedes abrir el archivo
3.1_reversingAid.inoen la rutasunfounder_vincent_kit_for_arduino\code\3.1_reversingAiddirectamente.Aquí se utiliza la librería
LiquidCrystal I2C, que puedes instalar desde el Administrador de Librerías.
Explicación del Ejemplo
Este código nos ayuda a crear un dispositivo simple de medición de distancia que mide la distancia entre objetos y proporciona retroalimentación mediante una pantalla LCD y un zumbador.
La función loop() contiene la lógica principal del programa y se ejecuta continuamente. Analicemos más a fondo la función loop().
Bucle para leer distancia y actualizar parámetros
En el
loop, el código primero lee la distancia medida por el módulo ultrasónico y actualiza el parámetro de intervalo en función de la distancia.// Actualizar la distancia distance = readDistance(); // Actualizar los intervalos según la distancia if (distance <= 10) { intervals = 300; } else if (distance <= 20) { intervals = 500; } else if (distance <= 50) { intervals = 1000; } else { intervals = 2000; }
Verificar si es tiempo de activar el zumbador
El código calcula la diferencia entre el tiempo actual y el tiempo del último pitido. Si la diferencia es mayor o igual al intervalo establecido, activa el zumbador y actualiza el tiempo del último pitido.
unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= intervals) { Serial.println("Beeping!"); beep(); previousMillis = currentMillis; }
Actualizar la pantalla LCD
El código limpia la pantalla LCD y luego muestra «Dis:» junto con la distancia actual en centímetros en la primera línea.
lcd.clear(); lcd.setCursor(0, 0); lcd.print("Dis: "); lcd.print(distance); lcd.print(" cm"); delay(100);