Nextion es probablemente una de las mejores opciones para crear proyectos con electrónica. No solamente son compatibles con Arduino, Raspberry PI, Atmel, Microchip, ARM, etc, sino que además podemos utilizarlos de forma independiente contando la propia placa con una serie de pines de uso general incluso un RTC para sistemas de adquisición de datos. Para crear una interfaz en una pantalla Nextion usaremos el editor Nextion, un software provisto por el propio fabricante que hace la tarea del diseño realmente simple.
Una vez que tenemos todo los elementos de la interfaz desplegados en la pantalla se envía la programación a la propia pantalla usando una simple conexión serial.
Este editor de Nextion es la mejor solución, en realidad casi la única para crear proyectos con estas pantallas inteligentes.
Lamentablemente solo existe en versión para Windows que se descarga a través del enlace oficial de Nextion.
Conexión de la pantalla.
La pantalla dispone solamente de 4 pines. Dos de ellos son de alimentación (cable rojo y negro) y los otros dos son de recepción (RX ) y transmisión (TX) de datos a través de su puerto serie.
La pantalla se programa por medio de una conexión serial desde el propio editor Nextion, y también se conecta con Arduino por una conexión serial.
Cuando queremos mostrar un dato en la pantalla solo “apuntamos”al componente de la pantalla donde queremos enviar los datos y enviamos la información que se me mostrará donde se indicó, por ejemplo imaginemos que tenemos un termómetro dibujado en la pantalla y queremos enviar los datos para que cambie su aspecto según la temperatura, la sintaxis seria algo como esto:
Serial.print("j0.val=") donde j0 es la variable y val es el valor a mostrar.
Editor Nextion.
Vamos a realizar un ejemplo rápido para ver nuestro entorno de edición y cargar un primer proyecto a nuestra pantalla.
En el momento de crear un proyecto nuevo, deberemos seleccionar el modelo de pantalla con el que vamos a trabajar.
Observe la siguiente imagen el aspecto del editor al crear la pantalla.
El código Arduino que se usa en este ejemplo es el siguiente:
En el siguiente vídeo puede ver el ejemplo en la pantalla trabajando con un Arduino Nano.
El manejo de estas pantallas es muy sencillo y resuelve un problema no menor ya que el desarrollo de interfaces gráficas es una tarea ardua y por lo general las pantallas TFT consumen recursos tanto de hardware como software, en este caso solo dos cables de datos son suficientes y cualquier microcontrolador o sistema con un puerto UART puede manejar estas pantallas.
El código Nextion de este ejemplo lo puede descargar del portal Github de Firtec.
Con un sensor BME280 y un Arduino Nano podemos construir una simple estación meteorológica, la predicción del clima la informa cambiando los iconos (sol, nublado, lluvia, tormenta, etc) de forma automática dependiendo de las condiciones atmosféricas.
(Todo el manejo de estas pantallas esta incluido en varios de nuestros libros para Arduino y MicroPython).