Icono del sitio HeTPro-Tutoriales

LCD Nextion y Graficas

LCD Nextion y graficas

En el siguiente tutorial vamos a graficar en una LCD Nextion las temperaturas de tres sensores distintos y que trabajan con diferentes protocolos de comunicación (One-Wire, I2C, Analògico), las gráficas y los valores numèricos los mostraremos en la Pantalla Nextion de 2.4″.

Es importante mencionar que Las librerías para la pantalla Nextion están configuradas para trabajar con el Arduino Mega 2560 con los pines Serial 2 (Rx2, Tx2). Si desea utilizar otra Tarjeta Arduino es necesario modificar el archivo NexConfig.h, ver archivo readme.md en la carpeta de la libreria Nextion de Itead.

Las librerías para la Pantalla Nextion podrán descargarlas en el enlace de abajo.

Materiales 

Código de Arduino

En el còdigo de Arduino esta comentado donde conectar cada sensor de Temperatura y la Pantalla Nextion.

[code language=»cpp»]

/*HeTPro Herramientas Tecnològicas Profecionles*/
/*Tutorial para graficar Temperaturas de 3 sensores distintos*/
/*Protocolos de comunicacion I2C, One-Wire y Analògico*/ç
/*
Conexiones
Nextion: Conectar a SERIAL 2 TX2 RX2(Librerias por default funciona en SERIAL 2)
DS18B20: Conectar pin de Salida a pin Digital 3 de Arduino Mega(Sensor Digital One-Wire)
MCP9808: Conectar a Pines I2C (20, 21) (Sensor Digital I2C)
MCP9700:: Conectar a PIN Analògico A0 (Sensor Analògico)
*/
/*Sensor de Temperatura MCP9808 con Comunicacion I2C */
#include <Wire.h>;
#include "Adafruit_MCP9808.h"
/*Crea El Sensor MCP9808 un objeto*/
Adafruit_MCP9808 tempsensor = Adafruit_MCP9808();
/*********************************************************/
/*Sensor de Temperatura DS18B20 ONE-WIRE*/
#include &lt;OneWire.h&gt;
#include &lt;DallasTemperature.h&gt;
#define ONE_WIRE_BUS 3 //Pin 3 a Salida DS18B20
OneWire ourWire(ONE_WIRE_BUS);
DallasTemperature sensors(&ourWire);
/**********************************************************/
/*Nextion*/
#include "Nextion.h" /*Libreria para Pantalla Nexion*/
/*Funcion para Graficar las Temperaturas en la Nextion*/
NexWaveform s0 = NexWaveform(0, 1, "s0");
/*Funciones para mostrar las temperaturas numericamente*/
NexNumber n0 = NexNumber(0, 1, "n0");
NexNumber n1 = NexNumber(0, 1, "n1");
NexNumber n2 = NexNumber(0, 1, "n2");
int i;
/*********************************************************/
/* Sensor de Temperatura Analògico MCP9700*/
int mcp1 = A0;
float mcpT1 = 0;

void setup()
{
Serial.begin(9600);
/*Inicializacion de LCD nextion 2.4"*/
nexInit();
/*Inicializacion de Sensor DS18B20*/
sensors.begin();
/*Inicializacion MCP9808*/
/* Direccion tempsensor.begin(0x19)*/
if (!tempsensor.begin(0x19)) {
Serial.println("No se enconto MCP9808!");
while (1);
}//end if(MCP9808)
}//end void setup()

void loop()
{
/*Lectura del sensor I2C MCP9808*/
tempsensor.shutdown_wake(0);//prepata el sensor para leer temperatura en MCP9808
float c = tempsensor.readTempC();//lee la temperatura en MCP9808
delay(5);
/*Lectura del sensor DS18B20 ONE-WIRE*/
sensors.requestTemperatures(); //lee temperatura en ds18b20
delay(5);
i= sensors.getTempCByIndex(0);// lee la temperatura y asigna el valor en i
/*Lectura del sensor Analògico MCP9700*/
mcpT1 = analogRead(mcp1)*5 / 1024.0;
mcpT1 = mcpT1 – 0.5;
mcpT1 = mcpT1 / 0.01;
delay(5);

/*Funciones para enviar las lecturas de los sensores a la Nextion */
/*DS18B20*/
s0.addValue(0, i);/*Graficar Temperatura de DS18B20*/
n2.setValue(i);/*Mostrar el Valor de DS18B20*/
/*MCP9700*/
s0.addValue(1, mcpT1);
n1.setValue(mcpT1);
/*MCP9808*/
s0.addValue(2, c);
n0.setValue(c);

tempsensor.shutdown_wake(1); // shutdown MSP9808 – power consumption ~0.1 mikro Ampere

}// end loop
[/code]

Imagenes y video del Tutorial
En el siguiente link se encuentra el video del Funcionamiento completo del Tutorial: https://www.youtube.com/watch?v=LGWgJ3lgcFw&spfreload=5

Sensores de Temperatura y Nextion de 2.4″

 

Gráficas de los sensores de temperatura.

 

En la imagen podemos apreciar las gráficas y los valores de las temperaturas.
Valores para los tres sensores de temperatura

Enlaces de Interés

– Hoja de Datos MCP9808
– Hoja de Datos MCP9700
– Tutorial Editor de Nextion y Arduino UNO
– Tutorial DS18B20
– Nextion Editor
-Librterias Nextion

Salir de la versión móvil