sábado, 24 de julio de 2021

Conexión de una pantalla Nextion con Arduino Ejemplo 1

Encender y apagar un Led

En este ejemplo se describe como se conecta la pantalla Nextion al puerto serie de una placa Arduino de manera que se pueda controlar el encendido y apagado de un Led.


 

Diagrama de montaje

En este montaje se ha conectado un Led en el terminal 2 de la placa Arduino con una resistencia de 470 ohm que puede ser también de 330 ohm o 220 ohm. En la conexión de la alimentación den la pantalla es muy  importante no invertir los terminales de alimentación que es muy probable dañar la pantalla de esta manera.

Los terminales de comunicación serial se conectan de forma cruzada, es decir TX-RX y RX-TX tal como se muestra en la siguiente figura.

 
En la siguiente figura se muestra la parte inferior de la pantalla, donde claramente se pueden identificar los terminales de conexión.
 
 
En la parte inferior de la pantalla están indicados los terminales sobre la placa impresa de esta. La siguiente tabla ilustra las conexiones realizadas en el montaje.
 
Tabla de conexiones.
Arduino Dispositivo
Terminal 2 Led - 470 ohm
Terminal RX Pantalla TX - Cable amarillo
Terminal TX Pantalla RX - Cable azul
Terminal 5V Pantalla 5V - Cable rojo
Terminal GND Pantalla GND - Cable negro

Gráficos empleados en la pantalla

Para este ejemplo solo se emplea un botón, las siguientes imágenes corresponden a los estados de encendido y apagado.

 

 
 
 
 

Configuración de la pantalla

En el botón de ON se emplearon los eventos de presionar botón y soltar botón para cambiar de pagina y enviar el carácter "1" por el puerto serie. Las instrucciones empleadas se observan en las siguientes figuras.

 

Para la acción de presionar se ejecuta la instrucción de enviar el carácter 1 con la instrucción prints "1",1

 

 

Para la acción de soltar se ejecuta la instrucción de cambiar de pagina con la instrucción page 1

 

En el botón de OFF se emplearon los eventos de presionar botón y soltar botón para cambiar de pagina y enviar el carácter "0" por el puerto serie. Las instrucciones empleadas se observan en las siguientes figuras.

 Para la acción de presionar se ejecuta la instrucción de enviar el carácter 0 con la instrucción prints "0",1

 Para la acción de soltar se ejecuta la instrucción de cambiar de pagina con la instrucción page 0

 

Código de la placa Arduino

El programa realizado no emplea ninguna librería por lo que puede emplearse como base para la realización de otros programas en plataformas microcontroladas o microprocesadas como la Raspberry Pi.

En el video presentado al inicio de esta publicación se explica en mas detalle el funcionamiento del código y la prueba realizada en el monitor serie.

char dato;
void setup() {
  Serial.begin(9600);
  pinMode(2,OUTPUT);
}
void loop() {
  if (Serial.available() > 0) {
    dato = Serial.read();
    Serial.println(dato);
    if (dato == '1') {
      digitalWrite(2, HIGH);
    }
    if (dato == '0') {
      digitalWrite(2, LOW);
    }
  }
}