Arduino R4 Wifi y Blynk
Como usar Arduino Uno R4 WIFI y Blynk
¿Que es Blynk? Es una plataforma digital parecida a Arduino Cloud, que te permite conectar y controlar hardware mediante distintos tipos de conecciones en todas partes del mundo. ¿Porqué utilizar esta plataforma y no Arduino Cloud? Una de las mayores diferencias es que Blynk soporta distintos tipos de conecciones inalambricas tales como bluetooth, eternet, entre otras. Además tiene la facilidad de interactuar con tus dispositivos y tu telefono sin la necesidad de un computador, permitiendo modificar la interfaz directamente desde tu movil.
Sin más preambulo, aqui hay una breve explicación de como utilizar tu Arduino uno R4 Wifi y Blynk paso a paso.
Lo primero que necesitas para hacer este proyecto es:
Arduino Uno R4 Wifi (o alternativo)
Cuanta en Blynk, si no la tienes puedes obtenerla aquí: https://blynk.io/getting-started
Arduino IDE, siempre se recomienda la ultima versión. Aquí puedes descargarlo : https://www.arduino.cc/en/software
Después de haber terminado de instalar todo lo necesario, pasaremos al primer paso.
Crear una Plantilla nueva.
Luego de terminar de crear tu cuenta de Blynk, apareceras en un lugar llamado
Devices o Dispositivos (dependiendo del idioma de tu plataforma) .
Al costado Izquierdo de la página encontrarás una serie de simbolos, el superior izquierdo llamado "DEVELOPER ZONE" es el que nos interesa.
En esta nueva página comenzaremos a diseñar nuestra plantilla, o nuestra aplicación que conectará nuestro arduino con nuestro telefono. Seleccióna donde dice "New Template" comenzar.
Aparecerá la siguiente ventana emergente:
En "NAME" puedes elegir un nombre que a ti te acomode, es solo para identificar que es lo que estas haciendo con este proyecto. Luego en "HARDWARE" elige la opción Arduino, ya que estamos utilizando Uno R4 para esta ocación. (En caso de utilizar otro dispositivo, se elige la opción que corresponda). En "CONECTION TYPE" estan pidendo que tipo de conección queremos establecer, por lo que debes elegir wifi para esta oportunidad. La opción "DESCRIPTION" es opcional, si deseas rellenarla eres libre de hacerlo. Por ultimo, apretar el boton verde "DONE" en la parte inferior para terminar la primera parte.
Nuevamente apareceras en una nueva página, aqui editaras tu plantilla, los elementos que contiene y como programarlos (y todo lo demás). Lo primero que haremos es ir a "WEB DASHBOARD" que es donde estableceremos como se vera la plataforma web que interactuará con nuestro arduino.
Para este tutorial, intentaremos controlar un led desde Blynk. Para ello, seleccionaremos un "switch" que funcionara de interruptor. Este puedes escogerlo de la parte izquierda de la pantalla, donde dice "WIDGETS BOX" como muestra la foto.
Para establecer que exactamente controlará el interruptor, seleccionamos ajustes en la parte superior derecha de el mismo. Esto nos llevará a una pantalla emergente donde deberemos establecer que tipo de pin vamos a trabajar y que variables contendrá.
El pin Virtual es aquel que se utiliza para mandar señales desde el computador o telefono hacia la placa arduino. El numero que se escoja no afecta en nada a la comunicación, pero no puedes poner dos variables asociadas a un pin virtual.
Establecemos un minímo y máximo de 0 y 1 ya que lo que buscamos es encender y apagar el led, el 0 y 1 equivale a HIGH y LOW en los comandos digitales de arduino. Debes apretar siempre el botón "CREATE" antes de "SAVE", o el pin no quedará guardado.
Como último paso, volveremos al inicio de tu plantilla presionando "HOME" en la parte superior izquierda de tu pantalla. Aqui selecciona donde dice "ADD FIRST DEVICE" y cuando pongas el nombre escribe el que elegiste para el nombre de dicha plantilla.
Unos datos importantes apareceran en la parte superior derecha de la pantalla, guardalos para más adelante.
Tu "DASHBOARD" deberia verse de esta manera. Para terminar debes presionar "SAVE" en la esquina superior derecha y tu plantilla quedara terminada. Para comprobar, regresa a tus "DEVICES" con el botón al costado izquierdo de la pantalla.
Deberias tener un dispositivo con el nombre elegido. Para controlar tu arduino debes presionarlo, llegaras a tu dashboard donde podras interactuar con tus variables.
!OJO¡ No puedes controlar tu placa desde la zona de desarrollador, solo podras hacerlo desde tus dispositivos. Así que no te asustes si estas intentando encender y no funciona, revisa primero si sigues editando antes de entrar en frustración.
2. Código en Arduino IDE
En esta parte estaremos trabajando en la parte del codigo del proceso. No te preocupes, no es dificil. (Aun así siempre es bueno tener algo de conocimiento en electronica y programación)
Primero asegurate de haber instalado Arduino IDE. (aunque puedes usar otro tipo de plataforma, esta es la que suelo ocupar yo) Lo que si debes tener es la libreria de blynk, que puedes descargar directamente de Arduino IDE en "LIBRARY MANAGER".
Simplemente escribe en la parte superior la libreria que buscas y presiona descargar. En este caso Blynk by Volodymyr es la que necesitamos obtener. (En mi caso dice eliminar por que ya la tengo descargada, pero si no la tienes dirá descargar)
Luego, dirigete a archivos en la parte superior izquiera de tu pantalla, allí encontraras ejemplos de codigo que nos serviran para empezar.
En ejemplos luego elige Blynk (que deberia aparecer si descargaste la libreria) y luego elegiremos "BOARD_WIFI". Por ultimo selecciona "ARDUINO_WIFI_SHIELD" para obtener un código que conecte Blynk y tu arduino.
Claro que no es así de facil, primero tenemos que configurar un par de cosas. En la siguiente parte del código hay que poner atención.
Entre las comillas deberas poner el ID de tu plantilla, el nombre de tu dispocitivo y un auto token que te entrega Blynk respectivamente. Aquí es donde entran en juego los datos que aparecieron cuando agregamos un nuevo dispositivo a nuestra plantilla. Lo más probable es que notes que solo tienes dos de los tres datos que necesitas. No te preocupes, si vuelves a Blynk cloud y entras a editar nuevamente tu plantilla, en la pagina principal te encontraras con los datos que faltan.
En la parte inferior derecha te mostrara el nombre de tu plantilla y el ID de esta, ahi obtienes todos los datos que necesitas para conectar blynk con tu placa Arduino.
Ya agregados los datos, sigue bajando en el código hasta que encuentres esta parte.
Aquí tambien nos debemos detener.
Esta linea de código llama archivos que debes tener en tu placa, por lo que hay veces en las que puede no aparecer y tirar un error. Tienes que revisar primero que tu arduino R4 este seleccionado en el COM de tu Arduino IDE en la parte superior de tu pantalla. Si ese es el caso y aun tienes el error, intenta cambiar esa linea como se muestra en la imagen. Arduino R4 usa un trasmisor wifi ESP32-SE, y a veces el archivo esta nombrado de otra forma.
Si aun asi persiste el problema, intenta descargar el paquete de arduino R4 wifi que puedes encontrar en el manager de placas en tu mismo IDE.
Luego definiremos las variables que vamos a usar en este código. De la misma manera que hariamos con una placa Arduino R3 u otro dispositico.
Si no tienes ningún problema, sigue bajando en el código hasta que llegues a la siguiente parte. Aquí simplemente tienes que escribir el nombre de tu red wifi que desees usar y su constraseña respectivamente en las primeras dos lineas que se pueden ver.
Luego, para poder trabajar con nuestra luz led, deberemos escribir un par de lineas que le digan a Blynk que se comunique con la placa Arduino. La función "BLYNK_WRITE()" permite esa comunicación. En el parentesis debes especifirar el pin virtual que estes usando para esta acción. Dentro de la función debes escribir el código Arduino que esperas se ejecute al momento de mover el dashboard. "Param.asInt()" es la parte del código que detecta el cambio de estado de la variable virtual y genera la acción dentro de la placa.
Con esta parte terminada seguimos bajando. LLegamos a "void setup()", donde estableceremos que tipo de pin es aquel que controlara al led. Tambien iniciaremos el montor serial para ver como se va comunicando la placa con Blynk.
Por ultimo, en "void loop()" se hará correr Blynk con el comando "Blynk.run()".
Luego envia el código a la placa y pruebalo. Puedes hacerlo de dos maneras, volviendo a Blynk desde el computador y probar en la dashboard que se despliega cuando vas a tus dispositivos, o puedes descargar la app de Blynk para el telefono y controlarlo desde allí.
3. Hardware
Esta es la parte más simple de nuestro proceso. Los pines Virtuales no son se conectan ya que simplemente son una forma de comunicación entre blynk y tu placa, por lo que solo debemos conectar el led.
Es igual de simple que con una placa Arduino R3. El pin que conectes debe ser el que declaraste al momento de escribir el código. En esta ocasión usaremos resistencias de 220 ohms, que funcionan bien con luces led.
4. Uso del teléfono
Cuando tengas descargada la aplicacion simplemente abrela. Deberia verse así.
Ingresa con la cuenta que creaste al inicio de este tutorial o la que usaste para crear la plantilla. Cuando ingreses lo primero que deberias ver es la plantilla que hemos creado.
Presionala para ingresar. Así es, no podras ver nada de lo que hiciste en el computador. Eso es por que en Blynk cloud simplemente editamos una dashboard web, es decir para el computador. Ahora tenemos que crear una para el teléfono. Para ellopresiona la pequeña llave que aparece en la parte superior derecha de tu teléfono.Tu pantalla deberia verse de esta forma. Para agregar un botón, presiona el simbolo más que aparece en la parte de abajo y elige lo que mas te acomode. (tristemente la plataforma se paga para tener mayores beneficios, pero se puede hacer mucho con lo que se da gratis)
En este caso elegiremos un botón, que puede funcionar como un interruptor. Cuando lo hayas selecciónado, tu telefono te mostrara de nuevo la pantalla para que configures que tan grande y donde quieres poner tu botón. Cuando hayas decidido, presiona el botón para poder agregarle las variables que le permitirán controlar la placa.
En la parte superior debes selecciónar la información que manejara el boton en "DATASTREAM", al presionarlo te mostrara lás opciones de todos los pines que creaste en la palntilla original, por lo que si tienes más de uno te mostrará más opciones. Elige el V1, el que configuramos como interruptor anteriormente. No olvides cambiar el botón a switch o tu led solo se mantendrá encendida mientras estes apretando el botón.
Con todo listo simplemente regresa apretando la x en la parte superior izquierda hasta que vuelvas a ver la pantalla de fondo blanca.
¡Y listo! Lograste conectar una placa arduino a la plataforma Blynk para poder conectarla cuando quieras y desde conde quieras. Si quieres agregar más variables sigue los mismos pasos anteriores. Te dejo un ejemplo de otro ejercicio que puedes hacer.
5. Un poco más allá.
Si quieres controlar la potencia con la que enciendes un led, puedes hacerlo. Puedes hacerlo como una variable aparte de tu código o cambiar la que ya tienes. (nosotros agregaremos una nueva variable) El proceso es el mismo que el anterior. Tienes que volver a Blynk cloud y presionar "DEVELOPER ZONE". Selecciona la plantilla que acabamos de crear y preciona editar en la parte superior derecha de la pantalla. Vuelve a seleccionar "WEB DASHBOARD" para agregar una nueva variable.
En esta oportunidad, arrastra el "SLIDER" a tu dashboard y editala presionando configuración en la parte superior derecha de el mismo. Igual que la vez anterior, elige un pin virtual que le indique a Blynk que se comunique con la placa arduino.
Una diferencia del proceso anterior, es que en esta oportunidad nuestros valores cambiaran. Como es una salida análoga, los valores de esta variable ya no son 0 y 1, sino que 0 y 255, que es el valor mayor alcanzable de una led para prenderse y apagarse.
¡No olvides apretar crear antes de guardar, o no estarás guardando nada!
Así deberia verse tu dashboard ahora.
Con este paso terminado, apreta aplicar y guardar en la parte superior derecha de tu pantalla y listo. En esta oportunidad no tienes que agregar ningun dispositivo, ya que sigue asociada tu placa desde la vez anterior. Solo cambiara cuando desvincules tu placa o quieras cambiar de dispositivo.
En el código debemos agregar el comando del nuevo pin virtual.
Este simplemente es agregar otra función "BLYNK_WRITE()"
Esta función se ve distinta ya que estamos usando multiples valores de el pin V0 para nuestra led, por lo que no nos funcionará usar un IF y un ELSE en esta ocación. En esta función Blynk establecimos una variable (no olvides declarar tus variables al inicio del código como en cualquier otro código arduino) y guardamos el valor que nos entrega Blynk para utilizarlo en el led. Tambien utilizamos "analogWrite" en vez de "digitalWrite" ya que estamos usando valores entre el 0 y 1, por lo que la placa debe regular el voltage que llega a la led.
Por ultimo agregar nuestra led al Hardware de la misma forma que la anterior.
Al terminar de escribir esto revisa y envia el código a tu placa y pruebalo. No deberias tener ningun problema. Para agregar esta nueva variable en el telefono sigue los mismos pasos anteriores, ese proceso es excantamente igual.
Listo, ahora estas listo para crear grandes proyectos con Blynk y tu placa Arduino R4 Wifi.
Aqui dejo un video con el ejercicio funcionando.
Comentarios
Publicar un comentario