Nextion LCD + Arduino
- Войдите на сайт для отправки комментариев
Вс, 01/10/2017 - 02:35
Добро пожаловать,
Нужен ваш совет почему не работает переключатель ( кнопка на LCD ) в этом коде?
без DTH22 работает.
извините, я зелёный в программировании.
#include <SoftwareSerial.h>
#include <Nextion.h>
#include "DHT.h"
#define DHTPIN 5
#define DHTTYPE DHT22 // DHT 22 or 11
DHT dht(DHTPIN, DHTTYPE);
SoftwareSerial nextion(2, 3);// Nextion TX to pin 2 and RX to pin 3 of Arduino
Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion serial port @ 9600bps
boolean button1State;
boolean button2State;
const int Relay1 = 8; // the number of the LED pin
void setup() {
Serial.begin(9600);
myNextion.init(); // send the initialization commands for Page 0
dht.begin();
pinMode(Relay1, OUTPUT);
digitalWrite(Relay1, HIGH);
}
void loop() {
String message = myNextion.listen(); //check for message
if (message == "70 1") {
myNextion.buttonToggle(button1State, "bt0", 0, 2);
digitalWrite(Relay1, LOW);
}
if (message == "70 0") {
myNextion.buttonToggle(button2State, "bt0", 0, 2);
digitalWrite(Relay1, HIGH);
}
float h = dht.readHumidity();
float t = dht.readTemperature();
myNextion.setComponentText("t0", String(t));
delay(1000);
myNextion.setComponentText("t1", String(h));
delay(1000);
}
Tак работает только DTH 22
#include <SoftwareSerial.h> #include <Nextion.h> #include "DHT.h" #define DHTPIN 5 #define DHTTYPE DHT22 // DHT 22 or 11 DHT dht(DHTPIN, DHTTYPE); SoftwareSerial nextion(2, 3);// Nextion TX to pin 2 and RX to pin 3 of Arduino Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion serial port @ 9600bps boolean button1State; boolean button2State; const int Relay1 = 8; // the number of the Relay1 pin void setup() { Serial.begin(9600); myNextion.init(); // send the initialization commands for Page 0 dht.begin(); pinMode(Relay1, OUTPUT); digitalWrite(Relay1, HIGH); } void sensor(){ float h = dht.readHumidity(); float t = dht.readTemperature(); myNextion.setComponentText("t0", String(t)); delay(1000); myNextion.setComponentText("t1", String(h)); delay(1000); } void button(){ String message = myNextion.listen(); //check for message if (message == "70 1") { myNextion.buttonToggle(button1State, "bt0", 0, 2); digitalWrite(Relay1, LOW); } if (message == "70 0") { myNextion.buttonToggle(button2State, "bt0", 0, 2); digitalWrite(Relay1, HIGH); } } void loop(){ sensor(); button(); }для начала избавьтесь от задержек, используйте millis
для начала избавьтесь от задержек, используйте millis
Спасибо! попробую. Я зелены, но может быть получица.
не когда не пробовал "millis" , Я думаю, что эта миссия невозможна (:
Ребята подскажите, как мне вывести показания времени с модуля ds1307 из ардуино на nextion панель? задумка сделать метеостанцию. давление и температуру вывел без проблем, а вот со временем вошел в ступор. только учусь. направте в нужное русло.
для начала избавьтесь от задержек, используйте millis
Спасибо! попробую. Я зелены, но может быть получица.
не когда не пробовал "millis" , Я думаю, что эта миссия невозможна (:
#include <SoftwareSerial.h> #include <Nextion.h> #include "DHT.h" #define DHTPIN 5 #define DHTTYPE DHT22 // DHT 22 or 11 DHT dht(DHTPIN, DHTTYPE); SoftwareSerial nextion(2, 3);// Nextion TX to pin 2 and RX to pin 3 of Arduino Nextion myNextion(nextion, 9600); //create a Nextion object named myNextion using the nextion serial port @ 9600bps unsigned long last_time; // Dlia DHT22 boolean button1State; boolean button2State; const int Relay1 = 8; // the number of the LED pin void setup() { Serial.begin(9600); myNextion.init(); // send the initialization commands for Page 0 dht.begin(); pinMode(Relay1, OUTPUT); digitalWrite(Relay1, HIGH); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); if (millis() - last_time > 1000 ){ last_time = millis(); myNextion.setComponentText("t0", String(t)); myNextion.setComponentValue("z0", (t)); myNextion.setComponentText("t1", String(h)); myNextion.setComponentValue("z1", (h)); } String message = myNextion.listen(); //check for message if (message == "70 1") { myNextion.buttonToggle(button1State, "bt0", 0, 2); digitalWrite(Relay1, LOW); } if (message == "70 0") { myNextion.buttonToggle(button2State, "bt0", 0, 2); digitalWrite(Relay1, HIGH); } }Bроди работает, но кнопка тормозит, почему?