Hello Guys!
I am new to arduino and the nextion display!
I have a project that we are using 6 ds18b20 sensors and 1 DHT22 sensor for temperature and humidity.
The problem now is that only the first sensor in t10 doesnt changes in the Nextion display..but in the serial monitor is fine! Also i have changed the display with another one and the problem still remains
Please give me some feedback..
My code is
#include <Nextion.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <DHT.h>
#define sensor_pin1 7
#define sensor_pin2 32
#define sensor_pin3 33
#define sensor_pin4 34
#define sensor_pin5 35
#define sensor_pin6 36
#define DHTPIN 10
#define DHTTYPE DHT22
DHT dht(DHTPIN,DHTTYPE);
OneWire oneWire(sensor_pin1); // setup a oneWire instance
OneWire oneWire1(sensor_pin2);
OneWire oneWire2(sensor_pin3);
OneWire oneWire3(sensor_pin4);
OneWire oneWire4(sensor_pin5);
OneWire oneWire5(sensor_pin6);
DallasTemperature sensor_1(&oneWire); // pass oneWire to DallasTemperature library
DallasTemperature sensor_2(&oneWire1);
DallasTemperature sensor_3(&oneWire2);
DallasTemperature sensor_4(&oneWire3);
DallasTemperature sensor_5(&oneWire4);
DallasTemperature sensor_6(&oneWire5);
float humi,tempC;
float tempCelsius1,tempCelsius2,tempCelsius3,tempCelsius4,tempCelsius5,tempCelsius6;
void setup() {
Serial.begin(9600);
dht.begin();
sensor_1.begin(); // initialize the sensors
sensor_2.begin();
sensor_3.begin();
sensor_4.begin();
sensor_5.begin();
sensor_6.begin();
}
void loop() {
humi=dht.readHumidity();
tempC=dht.readTemperature();
//Print temp and humidity values to serial monitor
Serial.print("Humidity: ");
Serial.print(humi);
Serial.print(" %, Temp: ");
Serial.print(tempC);
Serial.println(" Celsius");
sensor_1.requestTemperatures(); // send the command to get temperatures
sensor_2.requestTemperatures();
sensor_3.requestTemperatures();
sensor_4.requestTemperatures();
sensor_5.requestTemperatures();
sensor_6.requestTemperatures();
tempCelsius1=sensor_1.getTempCByIndex(0);// read temperature in Celsius for the 1st sensor_1
tempCelsius2=sensor_2.getTempCByIndex(0);
tempCelsius3=sensor_3.getTempCByIndex(0);
tempCelsius4=sensor_4.getTempCByIndex(0);
tempCelsius5=sensor_5.getTempCByIndex(0);
tempCelsius6=sensor_6.getTempCByIndex(0);
sendTemperatureToNextion();
delay(1000);
}
void sendTemperatureToNextion()
{
String command1 = "t10.txt=\""+String(tempCelsius1,1)+"\"";
Serial.print(command1);
endNextionCommand();
String command2 = "t11.txt=\""+String(tempCelsius2,1)+"\"";
Serial.print(command2);
endNextionCommand();
String command3 = "t12.txt=\""+String(tempCelsius3,1)+"\"";
Serial.print(command3);
endNextionCommand();
String command4 = "t13.txt=\""+String(tempCelsius4,1)+"\"";
Serial.print(command4);
endNextionCommand();
String command5 = "t14.txt=\""+String(tempCelsius5,1)+"\"";
Serial.print(command5);
endNextionCommand();
String command6 = "t15.txt=\""+String(tempCelsius6,1)+"\"";
Serial.print(command6);
endNextionCommand();
String command7 = "t16.txt=\""+String(humi,1)+"\"";
Serial.print(command7);
endNextionCommand();
String command8 = "t17.txt=\""+String(tempC,1)+"\"";
Serial.print(command8);
endNextionCommand();
}
void endNextionCommand()
{
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}