En esta lección te vamos a enseñar el funcionamiento y los usos específicos de todos los componentes que quedan. Vamos a ver desde el módulo Wi-Fi hasta el control de luces y sensores de voltaje.
Primero: el uso del módulo Wi-Fi
El Wi-Fi se puede entender simplemente como comunicación inalámbrica y es una de las tecnologías de red más usadas hoy en día. Comparado con el Bluetooth, el Wi-Fi tiene mayor cobertura, más velocidad y permite comunicación de muchos a muchos. En nuestro kit, el módulo ya viene soldado en la placa ESP32 junto con la cámara; lo mandamos así de fábrica para que no tengas problemas con el driver, que es bastante complejo de usar.
La movida es así: la ESP32 abre un punto de acceso (hotspot), vos conectás tu celu y mandás info desde la APP. Como configuramos el módulo en modo "pass-through", los datos recibidos pasan directo al puerto serie de la ESP32 y de ahí al UNO. Solo tenés que leer el puerto serie del UNO para captar lo que manda la APP y parsear el string según el formato fijo para llamar a las funciones correspondientes.
Análisis del código
Abrí el Demo1 que está en la carpeta. Vas a ver que el setup() inicializa las funciones y el loop() analiza los datos del puerto serie. En el archivo de encabezado (.h) se declara el objeto global Application_FunctionSet y la variable que guarda el número de serie del comando (el campo H en los datos JSON).
Aunque el código en el .cpp parezca largo, en realidad hace dos pasos básicos: recepción y verificación de datos. Usa una variable estática para ir acumulando los bytes que lee del buffer serie hasta que encuentra el carácter "}", que marca el final de la trama JSON. Recién ahí se considera que la información está completa y empieza el parseo para decidir qué modo activar.
Para cargar el programa, poné el botón en "Upload". Una vez que termine de subir, pasalo a "Cam" (sin desconectar el USB) y conectá la APP del celu al auto. Si abrís el monitor serie en el IDE de Arduino, vas a ver cómo llega un string cada vez que tocás cualquier botón en la aplicación.
Segundo: el uso de los botones
Configuración y lectura de las teclas físicas incorporadas en el equipo.
Tercero: el uso del módulo de transmisión y recepción infrarroja
Control de los sensores IR para recibir comandos de un control remoto o detectar obstáculos.
Cuarto: detección de voltaje
Monitoreo del nivel de carga para asegurar que el sistema tenga energía suficiente.
El último: el uso de la luz de color RGB
Manejo de los LEDs cromáticos para indicar estados o simplemente personalizar el auto.