Conectar una pantalla LCD a Arduino

Conectar pantalla LCD a tu proyecto Arduino

Las pantallas LCD suelen ser de muy bajo costo y por lo tanto ideales para su inclusión en nuestros proyectos Arduino que requieren desplegar datos alfanuméricos.

Conectar pantalla LCD a tu proyecto ArduinoEstas pantallas LCD  se encontrarán en cualquier tienda online, tanto en su presentación de 16 caracteres y 2 renglones (1602 LCD) como de 20 caracteres y 4 renglones (2004 LCD).

Incluso les puede ocurrir que ya tengan una cantidad de pantallas LCD que respondan a esta descripción, producto de sus andanzas en electrónica de la época de los PIC de Microchip -como ha sido mi caso-. Continuar leyendo «Conectar una pantalla LCD a Arduino»

Lector RFID rc522

Lector y tags RFID proyecto Arduino

El KIT de Lector RFID rc522 que se vende genéricamente en las tiendas online incluye una tarjeta y un tag RFID para realizar tus experimentos y desarrollar tu proyecto Arduino.

Lector y tags RFID proyecto ArduinoEn el caso de los kits RFID de menor costo, si bien puedes utilizarlos igualmente para desarrollar tu aplicación, debes tomar en cuenta que la sensibilidad del lector RFID es tan baja que es prácticamente inutilizable en la realidad:

Debes PEGAR (menos de un centímetro de distancia) tanto la tarjeta como el tag RFID para que el lector pueda reconocerlo.

Esta falta de sensibilidad tornaría imposible algunos proyectos donde el lector está escondido dentro de una pared o puerta. ¡Está hecha la alerta!

Con respecto al voltaje, estos módulos utilizan 3.3volts. En cuanto a compatibilidad, pueden leer las tarjetas mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro y las mifare Desfire.

Agregando el Lector RFID rc522 a nuestro proyecto Arduino

Como ya es costumbre, hay una libreria disponible para simplificar el manejo del lector RFID en nuestros proyectos Arduino.

Debes descargar e incorporar a tu programa la libreria MFRC522. Podrás hacerlo desde el IDE oficial de Arduino, con la opción de Manage Libraries.

Funcionalidad básica del lector RFID RC522

El siguiente proyecto Arduino demostrará la funcionalidad básica del lector RFID RC522.

En esta ocasión lo he conectado a un WEMOS D1 R2, por lo que los pines declarados para su conectividad pueden ser distintos a tu caso particular:

#include <ESP8266WiFi.h>
#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN 5 // RST-PIN for RC522 - RFID - SPI - Modul GPIO5 
#define SS_PIN  4  // SDA-PIN for RC522 - RFID - SPI - Modul GPIO4

MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(115200);
  SPI.begin();           // Init SPI bus
  mfrc522.PCD_Init();    // Init MFRC522 
  delay(1000);
  Serial.println("TEST Lector RFID rc522!");
}
void loop() {
  // Esperar presencia de nueva tarjeta
  if (!mfrc522.PICC_IsNewCardPresent()) {
    delay(50);
    return;
  }
  // Esperar lectura de tarjeta
  if (!mfrc522.PICC_ReadCardSerial()) {
    delay(50);
    return;
  }
  // Mostrar detalles tag/tarjeta
  Serial.print(F("UID tarjeta:"));
  dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
  Serial.println();
}

// Rutina de ayuda para pasar un array de bytes a sus valores hexa
void dump_byte_array(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    Serial.print(buffer[i], HEX);
  }
}

Este código nos permitirá testear el lector de tarjetas y tags RFID. Quedará en vuestras manos (o un nuevo proyecto Arduino en el futuro) poner el lector RFID rc522 en buen uso como parte de algún sistema más complejo.

Actualizar programación ESP8266 via WIFI

Los módulos ESP8266 admiten la posibilidad de actualizar su programación via WIFI.

actualizar firmware esp8266 via wifiSi bien hay tres formas distintas de explotar esta posibilidad de actualización remota, la más práctica en mi opinión es a través de una página web sencilla dentro del ESP8266 que permita elegir el archivo con el nuevo firmware desde cualquier navegador web y plataforma para hacer la actualización.

Con este mecanismo de actualización obtienes una serie de ventajas:

  1. Podrás decirle adiós al cable USB
  2. disfrutarás de un incremento importante en la velocidad de subida de tu código al ESP8266.
  3. Podrás actualizar tus proyectos Arduino sin necesidad de presencia física.

Para que funcione, previamente debes agregar una librería junto a un par de líneas de código en tu proyecto Arduino.

Agrega la funcionalidad de actualización WIFI al código de tu aplicación Arduino en el ESP866

Primero debes descargar la librería ESP8266HTTPUpdateServer en el interface IDE de arduino.

Una vez accesible para tus programas, debes referenciarla, junto con las otras librerías necesarias para hacer funcionar el WIFI en tu ESP8266:

#include <ESP8266HTTPUpdateServer.h>
#include <ESP8266WiFi.h> 
#include <ESP8266WebServer.h>

Es de suponer que esas otras librerías ya las tenías incluídas en tu proyecto Arduino, por lo que quizás solo sea necesario agregar unicamente la nueva librería, encargada del update de firmware via WIFI.

Más adelante,previo a la función de setup{} creas los objetos necesarios para manipular el servidor web y específicamente para el servidor de actualizaciones via HTTP.

ESP8266WebServer server(80);
ESP8266HTTPUpdateServer httpUpdater;

EN el setup {} de tu aplicación, tomarás los recaudos para conectarte a la red WIFI, y cuando llega el momento de activar el servidor web, agregas un comando que insertará la funcionalidad update via wifi del firmware:

httpUpdater.setup(&server); 
server.begin();

En el loop{} te aseguras que las peticiones hechas al servidor web sean atendidas, como siempre:

server.handleClient();

Y listo … del resto se encargará esta librería que acabamos de integrar a nuestro programa de Arduino.

Lógicamente, en cada sucesiva mejora y nueva versión de nuestro programa, estas líneas de código deberán quedarse allí para que la funcionalidad de update via WIFI siga presente.

Comentarios acerca de la actualización via WIFI en el ESP8266

Para verificar que esta nueva funcionalidad está activa, debes navegar desde cualquier computadora conectada a la misma red WIFI que tu ESP8266 hasta la nueva página web que este expone, desde donde podrás de aquí en más actualizar tu programa.

actualizar firmware esp8266 via webEsta página se encontrará en la IP que le hayas asignado al ESP8266, dentro del path /update.

Otro detalle, no menor: Tu programa debe ocupar MENOS de la mitad de la memoria que tiene tu ESP8266, ya que mientras sube el archivo «.bin» desde tu compu al ESP8266, se consumirá ese otro tanto de espacio extra temporalmente para poder almacenarlo.