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 

  • Arduino Mega 2560
  • DS18B20 (Sensor de Temperatura One-Wire)
  • MCP9808 (Sensor de Temperatura I2C)
  • MCP9700 (Sensor de Temperatura Analògico)
  • Pantalla Nextion 2.4″
  • Protoboard

Código de Arduino

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


/*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

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

LCD Nextion

Sensores de Temperatura y Nextion de 2.4″

 

LCD Nextion

Gráficas de los sensores de temperatura.

 

LCD Nextion

En la imagen podemos apreciar las gráficas y los valores de las temperaturas.

LCD Nextion

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

10 Comments

  1. Jacob Vazquez agosto 25, 2016
  2. Jacob Vazquez agosto 25, 2016
    • Saul Jesus agosto 25, 2016
      • Jacob Vazquez agosto 26, 2016
        • Saul Jesus agosto 26, 2016
          • Jacob Vazquez agosto 26, 2016
          • Saul Jesus agosto 26, 2016
  3. claudio octubre 6, 2017
    • Dr Hector Torres octubre 9, 2017

Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.