Professional Documents
Culture Documents
PANTALLA NEXTION
Nextion es una solución Human Machine Interface (HMI) que proporciona una interfaz de
control y visualización entre un humano, máquina y un proceso, Es la mejor solución para
reemplazar la pantalla LCD tradicional.
Esta solución incluye hardware en parte de una serie de placas de TFT y otra de software que
es el editor de Nextion. La pantalla Nextion sólo utiliza un puerto serie para hacer la
comunicación. El editor Nextion tiene componentes masivos tales como botones, texto, barra
de progreso, slider, panel de instrumentos, etc. para enriquecer el diseño de su interfaz. Es
fácil de adaptar la familia Nextion HMI a los proyectos existentes, sólo tiene que proporcionar
un protocolo UART.
http://bbs.tjc1688.com/forum.php?mod=viewthread&tid=153&extra=page%3D1
El programa cuenta con el idioma chino por default, para apoyarnos y saber que dice podemos ocupar el
programa NEXTION EDITOR el cual tiene la misma configuración y apariencia que el USART HMI.
*NOTA: ¿Por qué si Nextion Editor es igual al USART HMI, no lo puedo usar? Por que son diferentes
fabricantes, las pantallas que se pueden configurar en el NEXTION EDITOR tienen una matrícula parecida a
“NX3224T024_011R” y las pantallas que se pueden configurar con USART HMI tiene una matrícula parecida
a “TJC3224T024_011”.
CREAR UN ARCHIVO:
Una vez instalado el programa lo abrimos y podemos observar la interfaz de trabajo.
Abrimos el Nextion editor que está en inglés para poder guiarnos en el USART HMI que está en chino.
Dentro de esta misma ventana seleccionamos la pestaña inferior la cual es para seleccionar la
orientación de la pantalla deseada.
Una vez seleccionado el tipo de pantalla y orientación deseada, se abre el entorno de trabajo.
Nota: Si seleccionamos mal la pantalla podemos acceder a la ventana de configuración dando click
Para iniciar con el diseño agregando las imágenes al source y las fuentes, para esto damos click en
el icono de + que se encuentra en la parte izquierda.
Para el diseño del entorno de la pantalla es importante contar con las imágenes previamente a un
tamaño específico que soportara la pantalla para los fondos, y para los componentes a usar solo el
área necesitada.
Seleccionamos todas las imágenes que necesitamos y damos aceptar, en la siguiente pantalla que
sale (nos dice que X numero de imágenes se han cargado al software correctamente) le damos en
el botón que tiene para que se cierre.
Ya con las imágenes agregadas proseguimos a agregar la fuente, para ello damos click en “tools”
que se encuentra en la esquina superior izquierda, y seleccionamos “crear fuente” como se
muestra en la siguiente imagen
En la segunda ventana que aparece nos pregunta si deseamos agregar la fuente creada al
software, damos click en el botón de la izquierda el cual significa “aceptar”.
Una vez agregadas las imágenes y las fuentes proseguimos a diseñar nuestro entorno HMI.
COMO CREAR UN BOTON PARA ENCENDER Y APAGAR UN LED CON PANTALLA HMI.
DISEÑO DE LA PANTALLA TACTIL.
Una vez agregadas las imágenes y las fuentes. Damos click en el recuadro blanco que sería la
pantalla y de lado derecho en la parte inferior están las opciones para modificar el color de fondo
aparte de los parámetros generales e información.
Ya con fondo la pantalla proseguimos a insertar el botón, para ello nos dirigimos a la parte
izquierda donde se encuentran todos los componentes que puedes ingresar, ahí seleccionamos el
siguiente componente como se muestra en la imagen
A continuación nos aparecerá dicho botón en la pantalla, con click sostenido la arrastraremos al
lugar deseado de la pantalla, ahora configuraremos el botón en la parte inferior derecha.
Dentro de las opciones, cambiamos el “sta” del botón a la tercera opción para poder utilizar
imágenes de fondo para el botón, “vscope” que hará el botón local o privado, este parámetro no
lo modificamos.
Una vez que modificamos el “sta” del botón nos aparecerán 2 espacios con las etiquetas “pic” y
“pic2”
Damos doble click en el espacio blanco que esta alado de las etiquetas y se despliega una ventana
con todas las imágenes pre cargadas, seleccionamos la imagen del primer estado del botón en
“pic” y en “pic2” el segundo estado de botón.
Ya seleccionadas las imágenes borramos el texto “newtx” que se encuentra alado de la etiqueta
“txt” (si deseamos escribir nosotros algo en el botón aquí es donde escribimos).
Una vez lista la configuración del botón, activamos la casilla “comunicación” que se encuentra en
la pestaña “evento” en la parte inferior, con esta casilla activada cada que pulsemos el botón
escribirá una cadena de valores la cual será leída por el MCU vía serial.
Compilamos el programa para garantizar su funcionamiento y envió de datos, para ello nos
dirigimos a este icono y damos click. Si el programa funciona bien despliega una ventana
nueva donde se ve la pantalla y podemos probar el botón y verificar la cadena de datos que envía.
#include <SoftwareSerial.h>
#include <Nextion.h>
Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion
serial port @ 9600bps
void setup() {
Serial.begin(9600);
void loop() {
digitalWrite(led,HIGH);
delay(4000);
digitalWrite(led,LOW);
else {
digitalWrite(led,LOW);
Al seleccionar la 3ra opción aparecerá la etiqueta “pic”, dándole doble click al lado blanco se
despliega la ventana contenedora de imágenes y seleccionamos la imagen que queremos de
fondo.
Nos dirigimos a la parte izquierda donde se encuentran todos los componentes que puedes
Ahora creamos las distintas paginas a las cuales se redirigirán los botones al ser presionados, para
ello damos click en el siguiente icono el cual se encuentra de lado derecho superior y
agregamos 3 paginas, como se muestra en la siguiente imagen
En cada botón damos click y en la pestaña de “evento de toque” escribiremos la página a la cual
queremos que dirija cuando sea presionado de la siguiente manera: “page 1” como se muestra a
continuación.
De la misma manera que agregamos los botones en la página principal agregamos en cada página
un botón para regresar. Dicho boton se configura igual solo en la parte de “evento de toque”
ponemos la pagina origen “page 0”.
Una vez configurados todos los botones y las paginas compilamos el proyecto , para ello nos
dirigimos a este icono y damos click. Si el programa funciona bien despliega una ventana
nueva donde se ve la pantalla y podemos probar los botónes
siguiente icono el cual significa “barra de progreso”. Utiliza la etiqueta “J”, por lo
tanto si queremos ver el desplazamiento a un cierto porcentaje utilizamos la siguiente instrucción
“j0.val=X” donde X es el porcentaje que queremos observar en la barra.
Una vez dándole click al icono aparecerá la barra en el área de trabajo, damos click sobre de ella y
proseguimos a configurarla en la parte derecha inferior, si queremos que sea de color dejamos el
“sta” tal cual esta y seleccionamos los colores deseados.
Para esta práctica utilizaremos una imagen de fondo negra y otra imagen con degradado para el
desplazamiento , es importante tener las 2 imágenes del mismo tamaño ya que una se encimara
sobre la otra, para ello cambiamos el “sta” a la 2da opción y seleccionamos nuestras imágenes,
para la parte de atrás “bpic” y para el desplazamiento “ppic”, la barra de progreso viene por
default horizontal, si deseamos cambiar la dirección de la barra a vertical damos click en “dez” y
seleccionamos la segunda opción, y por último en “val” agregamos el valor inicial que tendrá
siempre que no reciba valores.
Por default la barra se encuentra en un 50% por lo tanto agregamos la instrucción y damos “enter”
para modificar ese valor y verificar su buen funcionamiento.
Una vez verificado el funcionamiento de nuestros botónes y barra de progreso, proseguimos a
cargarlo, cerramos la ventana de prueba y nos dirigimos a este icono que se
encuentra alado del icono con que compilamos , al darle click emerge una ventana donde y damos
click en “cargar a dispositivo” que es el botón izquierdo como se muestra a continuación.
Una vez cargado el programa podemos usarlo directamente sobre la pantalla física para verificar
su funcionamiento. Para hacer la comunicación con un Arduino y poder controlar la barra vía serial
de arduino con la computadora cargamos el siguiente programa:
#include <SoftwareSerial.h>
#include <Nextion.h>
SoftwareSerial nextion (8,9); //PINES DONDE SE CONECTARA LA PANTALLA PARA RECIBIR DATOS
(RX TX)
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
void loop() {
myNextion.setComponentValue("j0",(progres));
Ya configurada la barra de progreso proseguimos a insertar un timer junto con una variable, las
cuales nos ayudaran a hacer la transición de imágenes para hacer la simulación de un GIF.para ello
nos dirigimos a la parte donde están los componentes y damos click en los siguientes iconos.
Una vez dándole click a los iconos aparecerán 2 cuadro pequeño en la parte inferior del área
donde se encuentra la pantalla como se muestra a continuación
Damos click en el timer que tiene la etiqueta “tm0” y ponemos el siguiente código en el área de
escritura:
j0.ppic=va0.val
va0.val=va0.val+1
if(va0.val>2) //la posición final de la última imagen dentro del source
{
va0.val=0 /la posición inicial de la primer imagen dentro del source
}
Así como inicializamos la variable dentro del código, damos click sobre la etiqueta “va0” y en su
parte de configuración la inicializamos igual que el código como se muestra a continuación.
Una vez agregada y configurada nuestra barra de progreso compilamos y verificamos su
funcionamiento, para ello nos dirigimos a este icono y damos click. Si el programa
funciona bien despliega una ventana nueva donde se ve la pantalla y podemos probar los botones
y la barra de desplazamiento con el comando “j0.val=x” además de que se verá el corrimiento de
las imágenes simulando un gif dentro de nuestra barra de progreso como se muestra a
continuación.
#include <SoftwareSerial.h>
#include <Nextion.h>
SoftwareSerial nextion (8,9); //PINES DONDE SE CONECTARA LA PANTALLA PARA RECIBIR DATOS
(RX TX)
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
void loop() {
myNextion.setComponentValue("j0",(progres));
Una vez creado el recuadro para la imagen proseguimos a agregar la primer imagen del gif en el
área de “pic” (hay que tener todas las imágenes cuadro por cuadro del gif dentro del source)
Ya configurada la imagen proseguimos a insertar un timer junto con una variable, las cuales nos
ayudaran a hacer la transición de imágenes para hacer la simulación de un GIF. Para ello nos
dirigimos a la parte donde están los componentes y damos click en los siguientes iconos.
Una vez dándole click a los iconos aparecerán 2 cuadro pequeño en la parte inferior del área
donde se encuentra la pantalla como se muestra a continuación
Damos click en el timer que tiene la etiqueta “tm0” y ponemos el siguiente código en el área de
escritura:
p0.pic=va0.val
va0.val=va0.val+1
if(va0.val>2) //la posición final de la última imagen dentro del source
{
va0.val=0 /la posición inicial de la primer imagen dentro del source
}
Como se muestra en la siguiente imagen
Así como inicializamos la variable dentro del código, damos click sobre la etiqueta “va0” y en su
parte de configuración la inicializamos igual que el código como se muestra a continuación.
Una vez agregada y configurada nuestro GIF compilamos y verificamos su funcionamiento, para
ello nos dirigimos a este icono y damos click. Si el programa funciona bien despliega una
ventana nueva donde se ve la pantalla y podemos probar los botones y la animación del gif.
Una vez cargado el programa podemos usarlo directamente sobre la pantalla física para verificar
su funcionamiento.
COMO CREAR UNA ETIQUETA DE TEXTO PARA VISUALIZAR DATOS CON PANTALLA HMI.
Para esta práctica seguiremos en el mismo archivo de la practicas pasadas, agregaremos una
página nueva para utilizar el botón “pag3”, para empezar nos dirigimos al área de los
componentes y agregamos una etiqueta de texto la cual puede ser utilizada para visualizar datos,
también se puede utilizar para mandar datos al MCU vía serial. En esta práctica la utilizaremos
para visualizar datos o mensajes. El icono de la etiqueta de texto es el siguiente , damos
click y aparecerá en la pantalla un recuadro con la etiqueta “t0” esta herramienta opera con la
instrucción “t0.txt=”mensaje/dato” ”
Damos click sobre el recuadro “t0” y proseguimos a configurarlo en la parte inferior derecha,
dentro de las opciones podemos cambiar el color de fondo, el color de letra,el mensaje o dato que
mostrara cuando no tenga señal, para cambiar el tipo de letra en la parte de ”Font” podemos
seleccionar la fuente que cargamos previamente al source, cada que se requiera cambiar de letra
hay que crear una nueva fuente y cargarla
Una vez cargado el programa podemos usarlo directamente sobre la pantalla física para verificar
su funcionamiento. Para hacer la comunicación con un Arduino y poder controlar el contenido del
cuadro de texto vía serial de arduino con la computadora cargamos el siguiente programa:
#include <SoftwareSerial.h>
#include <Nextion.h>
SoftwareSerial nextion (8,9); //PINES DONDE SE CONECTARA LA PANTALLA PARA RECIBIR DATOS
(RX TX)
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
void loop() {
myNextion.setComponentText("t4",String(texto));
COMO CREAR UNA ETIQUETA DE TEXTO PARA ENVIAR DATOS CON TECLADO EN
PANTALLA HMI.
Para esta práctica seguiremos en el mismo archivo de la practicas pasadas, sobre la misma pagina
3 ,para empezar nos dirigimos al área de los componentes y agregamos una etiqueta de texto la
cual puede ser utilizada para visualizar datos, también se puede utilizar para mandar datos al MCU
vía serial. En esta práctica la utilizaremos para enviar datos o mensajes. El icono de la etiqueta de
texto es el siguiente , damos click y aparecerá en la pantalla un recuadro con la etiqueta
“t0” esta herramienta opera con la instrucción “t0.txt=”mensaje/dato” ”
Como queremos enviar un valor al MCU tenemos que obtener el valor de la etiqueta t0 siempre
que abramos esa página, por lo tanto utilizamos la instrucción “get t0.txt” para colocar dicha
instrucción damos click a la página de la pantalla y lo colocamos en el espacio que nos da para
escribir en la primer pestaña, el cual sirve para los eventos de inicialización, como se muestra en la
siguiente imagen
Una vez que actualizamos el valor cada que entra a la página configuramos el cuadro de texto para
que al momento de dar click sobre el cuadro aparezca un teclado numero o de texto dependiendo
la necesidad, en esta práctica utilizaremos un teclado numérico, para empezar damos click sobre
el cuadro de texto y nos dirigimos a las opciones de lado derecho inferior, cambiamos ”vscope”a la
segunda opcion, esto hace que el cuadro de texto sea privado y no local (esto se refiere a que solo
la pagina en la que esta puede ser utilizado), “sta” y “style” no los modificamos, en “key”
seleccionamos el “keybdB”, como se muestra a continuacion.
Al momento de seleccionar el “key” en la parte de las paginas aparecerá el teclado.
Una vez cargado el programa podemos usarlo directamente sobre la pantalla física para verificar
su funcionamiento. Para hacer la comunicación con un Arduino y poder controlar el contenido del
cuadro de texto vía serial de arduino con la computadora cargamos el siguiente programa:
#include <SoftwareSerial.h>
#include <Nextion.h>
SoftwareSerial nextion (8,9); //PINES DONDE SE CONECTARA LA PANTALLA PARA RECIBIR DATOS
(RX TX)
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
if(Serial.available() > 0){//Read from serial monitor and send over HC-12
mySerial.println(dato); }
thsp=30 ----- Esta instrucción es para dormir la pantalla en 30 seg si no hay actividad.
thup=1 ----- Esta instrucción despierta la pantalla con 1 toque externo activándola de nuevo.
Estas instrucciones deben estar en todas las páginas que se desean poner en modo sleep y
despertarlas, para ello damos click al área de la pantalla, y en la pestaña de “evento de
inicialización” colocamos estas instrucciones como se muestra a continuación
Mas aplicaciones e instrucciones:
https://www.itead.cc/wiki/Nextion_Instruction_Set
http://support.iteadstudio.com/support/discussions/topics/1000065323