Lectura de entradas digitales con Blynk

En un artículo anterior vimos las potencialidades de Blynk para diseñar aplicaciones del Internet de las cosas (Iot) e hicimos un pequeño proyecto paso a paso para demostrar con que facilidad se puede crear una aplicación. Ahora vamos a seguir profundizando, viendo como leer y monitorear a distancia el valor de entradas digitales.

En nuestro análisis de Blynk como herramienta para proyectos de IoT ya vimos como controlar las salidas digitales, por ejemplo para comandar un relé a través de Internet. Ahora vamos a realizar la operación inversa: leer el valor de una entrada digital. Recordemos que al leer una entrada de este tipo obtendremos solo dos valores: alto/bajo, activo/desactivo, uno o cero, lo que limita el tipo de dispositivos que podemos monitorear a aquellos que presenten el mismo comportamiento, esto es, que tengan sólo dos estados. Por ejemplo podemos leer pulsadores o interruptores activados por personas, un reed switch que detecte la apertura de una puerta o ventana, una barrera infrarroja que detecte el paso de una persona, entre otros. Lo que no podemos leer con el procedimiento que veremos a continuación son sensores o dispositivos que, aunque siendo digitales, envíen información codificada de alguna forma. Tal es el caso de los conocidos sensores de humedad y temperatura DHT11 o DHT22, que envían la información usando un protocolo serie. Para esto debemos usar en Blynk los llamados pines virtuales, que veremos en otro artículo.

El circuito empleado para esta prueba es el que se ve mas abajo, realizado alrededor de un NodeMCU Ver 3 (aunque esta no es la denominación oficial) con un pulsador conectado al pin D1 (GPIO5 del ESP8266) con una resistencia de pull-down de 4700 ohms y un LED con una resistencia limitadora de corriente de 220 ohms para visualizar el estado de dicha entrada.

Circuito para leer la entrada digital

El esquemático puede verse a continuación

Esquemático

Como se puede apreciar en el esquemático, la función de la resistencia de pull-down R1 es mantener el pin D1 a un nivel bajo cuando el pulsador no está apretado, para que no quede flotando “al aire” lo que puede producir la lectura de valores erróneos debido al ruido. Cuando se aprieta el pulsador S1, la entrada queda conectada al positivo (3V3), lo que es interpretado por el NodeMCU como un valor ALTO y al mismo tiempo se enciende el LED a través de la resistencia R2.

Ahora hacemos el proyecto del lado del teléfono. Como ya vimos antes, debemos crear un proyecto en Blynk y darle un nombre (EntradaDig en mi caso) y elegir el dispositivo (ESP8266). Nos enviará un token de autorización por mail que deberemos agregar al código. Luego diseñamos la interfaz de usuario, donde ubicaremos un único elemento o “widget”, el denominado “Value Display”:

Widget Value Display

Lo ubicamos en algún lugar de la pantalla y lo tocamos para cambiar su configuración:

Configuración

Podemos agregarle una etiqueta (“Entrada”) en este caso y debemos especificar que pin del ESP8266 usamos (GP5) y su tipo (Digital).

Para actualizar los datos de la entrada hay dos métodos: Frequency Reading, en el que la app “pide” al ESP8266 que actualice el valor según el tiempo especificado en “Reading Rate” (yo lo configuré a 1 segundo) y Push, en el que hay que agregar código adicional en el ESP8266 para que sea él quien controle cada cuanto se hace la actualización. Esto lo veremos en otra oportunidad.

Interfaz de la aplicación

El programa del ESP8266 es igual al que usamos para controlar el relé, sólo cambia el valor del token:

//Control de luces con Blynk
 
//Incluir librerías
#include <ESP8266WiFi.h>    
#include <BlynkSimpleEsp8266.h> 

//Token generado por Blynk
char auth[] = "*********************************"; 
 
//Información de la red WiFi a utilizar
char ssid[] = "**************"; //Nombre de la red WIFI
char pass[] = "**************"; //contraseña de la red WIFI
 
void setup()
{
  Blynk.begin(auth, ssid, pass);
}
 
void loop()
{
  Blynk.run();
}

La lectura de la entrada digital no requiere de código adicional, todo está resuelto por la librería de Blynk.

En el video podemos ver como funciona el circuito en combinación con la App de Blynk

Cualquier duda o sugerencia pueden dejarla debajo, en la sección de comentarios. Pronto seguiré publicando otros tutoriales sobre distintos aspectos del uso de Blynk.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: