This is my updated code to display the temperature and humidity in nextionNextion display and also to control the relay switching in nextionNextion display. It works good.
#include "NexDualStateButton.h" #include "Nextion.h" #include "DHT.h"
#define DHTPIN 27 #define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int R1 = 2; NexDSButton bt0 = NexDSButton(0, 8, "bt0"); NexText tTempC = NexText(0, 4, "tTempC"); NexText tHumidity = NexText(0, 6, "tHumidity"); uint32_t dual_state=0;
void setup(){
dht.begin();
nexInit();
pinMode(R1, OUTPUT);
}
void loop(){
bt0.getValue(&dual_state);
if(dual_state==1) //When pressed dual state button dual_state =1 { digitalWrite(R1, HIGH); } else if(dual_state==0) { digitalWrite(R1,LOW ); } float t = dht.readTemperature(); float h = dht.readHumidity();
if (isnan(h) || isnan(t)) { Serial2.println(F("Failed to read from DHT sensor!")); return; }
static char temperatureCTemp[10]; dtostrf(t, 6, 2, temperatureCTemp); tTempC.setText(temperatureCTemp);
char hTemp[10] = {0}; utoa(int(h), hTemp, 10); tHumidity.setText(hTemp);
Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print("°C ");
}
#include "NexDualStateButton.h"
#include "Nextion.h"
#include "DHT.h"
#define DHTPIN 27
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
int R1 = 2;
NexDSButton bt0 = NexDSButton(0, 8, "bt0");
NexText tTempC = NexText(0, 4, "tTempC");
NexText tHumidity = NexText(0, 6, "tHumidity");
uint32_t dual_state=0;
void setup(){
dht.begin();
nexInit();
pinMode(R1, OUTPUT);
}
void loop(){
bt0.getValue(&dual_state);
if(dual_state==1) //When pressed dual state button dual_state =1
{
digitalWrite(R1, HIGH);
}
else if(dual_state==0)
{
digitalWrite(R1,LOW );
}
float t = dht.readTemperature();
float h = dht.readHumidity();
if (isnan(h) || isnan(t)) {
Serial2.println(F("Failed to read from DHT sensor!"));
return;
}
static char temperatureCTemp[10];
dtostrf(t, 6, 2, temperatureCTemp);
tTempC.setText(temperatureCTemp);
char hTemp[10] = {0};
utoa(int(h), hTemp, 10);
tHumidity.setText(hTemp);
Serial.print(F("Humidity: "));
Serial.print(h);
Serial.print(F("% Temperature: "));
Serial.print(t);
Serial.print("°C ");
}