Hi,
I have a short question. Im a noob with nextion and
I have a Arduino Mega and a Nextion display.
Now i would like to change the pages with the arduino because I destroy my tuch.
How can I make it like:
go on "page0"
delay(1000)
go on "page1"
delay(1000)
go on "page2"
Du bist hier im deutschen Bereich des Forums.
Da darfst du gern in deutsch schreiben.
Hast du dir die Doku schon mal angesehen ?
danke. Ich wusste nicht, dass man auch auf deutsch schreiben kann
sili1234:
danke. Ich wusste nicht, dass man auch auf deutsch schreiben kann
Aber klar doch im deutschen Bereich klappt das. ![]()
Noch ein.
Ich weis nicht, wie man es in das Arduinoprogramm einfügt
sili1234:
Noch ein.
Ich weis nicht, wie man es in das Arduinoprogramm einfügt
Wie jetzt ?
Das steht doch in der Doku "Seitenbefehle-page"
Z.B. "page Name 0xff 0xff 0xff"
Ich hoffe, das hast du gemeint.
Die Software sagt:
'page' was not declared in this scope
Dann solltest Du das ganze Tutorial lesen. Dir fehlen sämtliche Grundlagen.
Gruß Tommy
sili1234:
Die Software sagt:'page' was not declared in this scope
Welche Software ?
ok danke ich schau mal und es ist Arduino ide
Ich habe:
*sendCommand("Rot");
- Serial1.print(page + cmd + "Rot" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
*page Rot 0xff 0xff 0xff
versucht, aber es geht irgendwie nicht
sili1234:
ok danke ich schau mal und es ist Arduino ide
Du musst die Befehle ja auch an das Nextion per serieller übertragen.
Hatte verstanden du hast das Nextion schon betan, sollte ich mich da irren ?
ich hatte schon texte oder eine processbar eingefügt aber die seiten wechseln schaffe ich immer noch nicht
Die texte übertrage ich über die zweiten seriellen schnittstellen, darum auch Serial1
sili1234:
ich hatte schon texte oder eine processbar eingefügt aber die seiten wechseln schaffe ich immer noch nicht
Und dann bekommst du das nicht hin ?
So schwer ist das doch nicht.
Dann poste mal deinen aktuellen Sketch.
Aber den bitte in Code-Tags setzen. Schaltfläche </> oben links im Editorfenster, oder [ code] vor den Sketch und [ /code] hinter den Sketch setzen, aber ohne die Leerzeichen.
Noch ein Tipp, weil es schon spät ist. ![]()
Bei mir sieht ein Seitenwechsel so aus:
meinSerial.print("page start");
meinSerial.write(0xFF);
meinSerial.write(0xFF);
meinSerial.write(0xFF);
//declare pages:
#include "DHT.h"
int co2Addr = 0x68;
#include <Wire.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
dht.begin();
/*Serial.begin(9600);
Serial.println("test");*/
Serial1.begin(9600);
Wire.begin ();
pinMode(13, OUTPUT);
String cmd;
cmd += "\"";
}
int readCO2()
{
int co2_value = 0;
digitalWrite(13, HIGH);
Wire.beginTransmission(co2Addr);
Wire.write(0x22);
Wire.write(0x00);
Wire.write(0x08);
Wire.write(0x2A);
Wire.endTransmission();
delay(10);
Wire.requestFrom(co2Addr, 4);
byte i = 0;
byte buffer[4] = {0, 0, 0, 0};
while (Wire.available())
{
buffer[i] = Wire.read();
i++;
}
co2_value = 0;
co2_value |= buffer[1] & 0xFF;
co2_value = co2_value << 8;
co2_value |= buffer[2] & 0xFF;
byte sum = 0; //Checksum Byte
sum = buffer[0] + buffer[1] + buffer[2]; //Byte addition utilizes overflow
if (sum == buffer[3])
{
// Success!
digitalWrite(13, LOW);
return co2_value;
}
else
{
digitalWrite(13, LOW);
return 0;
}
}
void loop()
{
float Luftfeuchtigkeit = dht.readHumidity();
float Temperatur = dht.readTemperature();
String cmd;
cmd += "\"";
int test = Luftfeuchtigkeit;
String output = "jlu.val=";
output += test;
Serial1.print( output );
Serial1.write( 0xFF );
Serial1.write( 0xFF );
Serial1.write( 0xFF );
Serial1.print("tc.txt=" + cmd + Temperatur + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tc.txt=" + cmd + Temperatur + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
sendCommand("Rot");
delay(6000);
Serial1.print(page + cmd + "Rot" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tc.txt=" + cmd + Temperatur + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t11.txt=" + cmd + Luftfeuchtigkeit + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t11.txt=" + cmd + Luftfeuchtigkeit + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
int co2Value = readCO2();
if (co2Value > 0)
{
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
if (co2Value > 800)
{
Serial1.print("t10.txt=" + cmd + "Grenzwertig" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t10.txt=" + cmd + "Grenzwertig" + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
if (co2Value > 1000)
{
Serial1.print("t10.txt=" + cmd + "! Lueften !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t10.txt=" + cmd + "! Lueften !" + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t10.txt=" + cmd + "! Lueften !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
if ( 13 < Temperatur < 20 )
{
Serial1.print("tca.txt=" + cmd + "!" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "!" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
else
{
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
if (Temperatur < 13 )
{
Serial1.print("tca.txt=" + cmd + "! !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "! !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
else
{
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
}
Das ist mein volles Programm.
Ok, warum hast du nicht geschrieben, das du die Nextion-Lib verwendest ?
Da ich die nicht einsetzte, kann ich ,leider keine weiteren Tipps geben.
Ich verwende die nicht, sondern steuere das Display direkt, wie du es an meinem Beispiel auch erkennen kannst.
oh ist die noch drinnen, ich benutze sie eigentlich garnicht ich habe nur etwas ausprobiert.
?
Dann zeige doch mal den Sketch, wie er nun wirklich ist.
Gruß Tommy
#include "DHT.h"
int co2Addr = 0x68;
#include <Wire.h>
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
dht.begin();
/*Serial.begin(9600);
Serial.println("test");*/
Serial1.begin(9600);
Wire.begin ();
pinMode(13, OUTPUT);
String cmd;
cmd += "\"";
}
int readCO2()
{
int co2_value = 0;
digitalWrite(13, HIGH);
Wire.beginTransmission(co2Addr);
Wire.write(0x22);
Wire.write(0x00);
Wire.write(0x08);
Wire.write(0x2A);
Wire.endTransmission();
delay(10);
Wire.requestFrom(co2Addr, 4);
byte i = 0;
byte buffer[4] = {0, 0, 0, 0};
while (Wire.available())
{
buffer[i] = Wire.read();
i++;
}
co2_value = 0;
co2_value |= buffer[1] & 0xFF;
co2_value = co2_value << 8;
co2_value |= buffer[2] & 0xFF;
byte sum = 0; //Checksum Byte
sum = buffer[0] + buffer[1] + buffer[2]; //Byte addition utilizes overflow
if (sum == buffer[3])
{
// Success!
digitalWrite(13, LOW);
return co2_value;
}
else
{
digitalWrite(13, LOW);
return 0;
}
}
void loop()
{
float Luftfeuchtigkeit = dht.readHumidity();
float Temperatur = dht.readTemperature();
String cmd;
cmd += "\"";
int test = Luftfeuchtigkeit;
String output = "jlu.val=";
output += test;
Serial1.print( output );
Serial1.write( 0xFF );
Serial1.write( 0xFF );
Serial1.write( 0xFF );
Serial1.print("tc.txt=" + cmd + Temperatur + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tc.txt=" + cmd + Temperatur + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
int page;
Serial1.print(page + cmd + "Rot" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("page Rot");
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tc.txt=" + cmd + Temperatur + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t11.txt=" + cmd + Luftfeuchtigkeit + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t11.txt=" + cmd + Luftfeuchtigkeit + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
int co2Value = readCO2();
if (co2Value > 0)
{
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
if (co2Value > 800)
{
Serial1.print("t10.txt=" + cmd + "Grenzwertig" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t10.txt=" + cmd + "Grenzwertig" + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
if (co2Value > 1000)
{
Serial1.print("t10.txt=" + cmd + "! Lueften !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t10.txt=" + cmd + "! Lueften !" + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t10.txt=" + cmd + "! Lueften !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("t7.txt=" + cmd + co2Value + cmd);
Serial1.write(0xFF); //63488
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
if ( 13 < Temperatur < 20 )
{
Serial1.print("tca.txt=" + cmd + "!" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "!" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
else
{
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
if (Temperatur < 13 )
{
Serial1.print("tca.txt=" + cmd + "! !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "! !" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
else
{
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("tca.txt=" + cmd + "" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
delay (2000);
}
if (Luftfeuchtigkeit < 5)
{
Serial1.print("jlu.val=" + cmd + "5" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.print("jlu.val=" + cmd + "5" + cmd);
Serial1.write(0xFF);
Serial1.write(0xFF);
Serial1.write(0xFF);
}
else {}
}
Das ist er (bearbeitet)