Tutorial n.º 8: Control del LED RGB integrado en Arduino Nano ESP32 a través de Blynk IoT
Introducción
En este tutorial controlaremos el LED RGB integrado en el Arduino Nano ESP32 a través de la aplicación y la nube Blynk IoT. Si acaba de adquirir el Nano ESP32, probablemente esté interesado en realizar un proyecto relacionado con IoT (IoT = Internet de las cosas). El famoso y ahora familiar módulo Espressif ESP32 encuentra un hogar a bordo del Arduino Nano. Dos mundos colisionaron y crearon este dispositivo poderoso pero pequeño que hace que sea muy fácil para cualquiera ponerse en marcha. Agregue a la mezcla la nube y la aplicación Blynk IoT y tendrá todas las herramientas que necesita para hacer cualquier cosa que se le ocurra a su imaginación. ¡Vámonos!
Requisitos de hardware
Todo lo que necesitarás para este tutorial es una computadora, un cable USB-C y un Arduino Nano ESP32. Hay dos versiones de esta placa. Uno viene con pines macho ya soldados y el otro viene sin cabezales. Cualquiera de los dos funcionará para este tutorial ya que no cablearemos ningún componente externo. Recomendamos las siguientes fuentes:
Requisitos de Software
Necesitaremos el siguiente software para este tutorial.
- Descargue e instale el IDE de Arduino . Cuando haya instalado la última versión, asegúrese de instalar también la ESP32 centro. Se pueden encontrar instrucciones. aquí .
- Visite el sitio web de Blynk IoT y cree una cuenta. Aquí enumeramos su página de "introducción". Hay una cuenta gratuita que les permite conectar hasta dos dispositivos y usar widgets básicos en la aplicación. Eso es todo lo que necesitaremos para este tutorial, así que continúa y crea una cuenta. Tenga en cuenta que no es necesario instalar la aplicación de su teléfono inteligente. De hecho, puedes hacer todo lo que haremos en este tutorial a través de su plataforma web. Dicho esto, somos grandes admiradores de su aplicación. Por eso le sugerimos que también descargue su aplicación.
Paso 1) Crear una plantilla de Blynk (usando su interfaz web)
Usaremos la interfaz web de Blynk para hacer una plantilla. Para este paso se supone que el usuario ya creó una cuenta en Blynk y puede iniciar sesión. El propósito de este paso es obtener el BLYNK_TEMPLATE_ID personalizado que se utiliza en el boceto del IDE de Arduino (paso 2 a continuación).
- Navegue a la página Plantilla. Es posible que vea la plantilla de inicio rápido que ya está allí de forma predeterminada. Haremos una nueva plantilla presionando “+ Nueva Plantilla”.
- Al presionar "+ Nueva plantilla", aparecerá una ventana. El usuario puede ingresar el Nombre y seleccionar el Hardware y el Tipo de conexión. Si lo desea, también puede ingresar una Descripción. Estos realmente no hacen ninguna diferencia y sólo se utilizan para su propia referencia.
Al presionar "Listo", la nueva plantilla debería aparecer como se muestra a continuación. Tenga en cuenta que no debe haber ningún dispositivo conectado en este momento (pero lo será en un paso posterior).
- Ahora haga clic en la plantilla recién creada y busque cerca de la esquina inferior derecha en la configuración del firmware A) BLYNK_TEMPLATE_ID y B) BLYNK_TEMPLATE_NAME. Tome nota de estos, ya que los usaremos en un paso posterior. Simplemente puede hacer clic en ellos y esto copiará automáticamente este fragmento de código.
Paso 2) Cargando el boceto al Arduino Nano ESP32
Copie el siguiente código en Arduino IDE. Asegúrese de cambiar BLYNK_TEMPLATE_ID por el que obtuvo en el paso anterior, así como de que BLYNK_TEMPLATE_NAME coincida con la configuración del firmware. Continúe y cargue este código en el microcontrolador Nanoe ESP32. Tenga en cuenta que todavía no funcionará. Tan pronto como el microcontrolador intente ejecutar la línea BlynkEdgent.begin(); se colgará. A continuación, debemos agregar el dispositivo a la plantilla, lo cual haremos en el siguiente paso.
// Controlling RGB onboard Arduino Nano ESP32 via Blynk IoT
// Last Update: Sept 2, 2023
// For support, contact@PTSolns.com
// Resources:
// Arduino Cheatsheeet: https://docs.arduino.cc/tutorials/nano-esp32/cheat-sheet, see section on RGB
// Description
// We will use the onboard RGB LED and control each of their three colors via the Blynk IoT cloud and app.
// Note that the pins of the RGB are active-low, meaning that to turn them ON
, we need to corresponding pinstate to LOW. This is shown in the example sketch below.
// RGB pins:
// Rojo, r_pin = 14
// Verde, g_pin = 15
// Azul, b_pin = 16
#define BLYNK_TEMPLATE_ID "INSERTE EL ID DE LA PLANTILLA QUE OBTUVO DE BLYNK"
#define BLYNK_TEMPLATE_NAME "RGBBlynk" // Pon el nombre que quieras
#define BLYNK_FIRMWARE_VERSION "0.0.1" // Pon el número de versión que quieras
#definir USE_ESP32_DEV_MODULE
#incluir "BlynkEdgent.h"
// Arduino Nano ESP32 tiene estos pines para el LED RGB integrado:
constante int r_pin = 14;
constante int g_pin = 15;
constante int b_pin = 16;
intr_pin_state;
intg_pin_state;
intb_pin_state;
// Al encender el dispositivo, los estados de los pines del hardware se sincronizarán con los estados de los pines virtuales correspondientes.
BLYNK_CONNECTED() {
Blynk.syncAll();
}
// Actualizar los estados de los pines cuando se cambian en la nube de IoT
BLYNK_WRITE(V0) {
r_pin_state = param.asInt();
}
BLYNK_WRITE(V1) {
g_pin_state = param.asInt();
}
BLYNK_WRITE(V2) {
b_pin_state = param.asInt();
}
configuración nula() {
pinMode(r_pin, SALIDA);
pinMode(g_pin, SALIDA);
pinMode(b_pin, SALIDA);
BlynkEdgent.begin();
}
bucle vacío() {
BlynkEdgent.run();
si (r_pin_state == 0) {
escritura digital (r_pin, ALTA); // ALTO significa APAGADO para el Arduino Nano ESP32
} demás {
escritura digital (r_pin, BAJO); // BAJO significa ENCENDIDO para el Arduino Nano ESP32
}
si (g_pin_state == 0) {
escritura digital (g_pin, ALTA);
} demás {
escritura digital (g_pin, BAJO);
}
si (b_pin_state == 0) {
escritura digital (b_pin, ALTA);
} demás {
escritura digital (b_pin, BAJO);
}
}
Paso 3) Agregar un dispositivo a la plantilla
Para el siguiente paso, vaya a la aplicación Blynk IoT 2.0 y presione "+ Agregar nuevo dispositivo". Esta opción se puede encontrar cerca de la parte superior derecha presionando tres líneas horizontales como se muestra a continuación.
Desde allí, simplemente siga las instrucciones para conectar el dispositivo. Algunos consejos para la resolución de problemas:
- Apague la VPN en su teléfono inteligente, ya que esto podría bloquear el establecimiento de la conexión. Una vez que el dispositivo esté conectado, puede volver a encender la VPN y seguirá funcionando.
- Asegúrese de que el microcontrolador Nano ESP32 esté cerca del teléfono inteligente.
Paso 4) Agregar widgets
Una vez que el dispositivo se haya agregado correctamente, debería ver un bloque en la página de inicio principal de la aplicación Blynk IoT 2.0 con el nombre "RGBBlynk" o similar. Cuando haces clic dentro de él, debería estar vacío. Agreguemos algunos widgets. En nuestro caso queremos ENCENDER y APAGAR los tres LED del LED RGB integrado en el Arduino Nano ESP32. Para este proyecto simple, agregaremos widgets de botones y los configuraremos para cada uno de los tres flujos de datos. Mirando hacia atrás en el boceto que subimos, vemos que el pin virtual V0 está asignado al LED rojo, V1 al LED verde y V2 al LED azul. Una vez que haya agregado un widget de botón al lienzo, conecte los flujos de datos y configúrelo como desee. Puedes jugar con estas configuraciones y opciones de diseño. La única configuración que es importante establecer es en Configuración, para cambiar el Modo a Cambiar.
Una vez que haya agregado los tres botones y los haya configurado, es posible que obtenga algo como lo que se muestra a continuación. ¡Y eso es! Ahora, cuando presione cualquiera de estos botones (que deberían actuar como interruptores), el LED correspondiente en el Arduino Nano ESP32 debería encenderse o apagarse. Darle una oportunidad
Contáctenos
Si tiene alguna pregunta o sugerencia sobre este tutorial, no dude en Contáctenos .