2025-11-2012

This commit is contained in:
2025-11-20 22:51:04 +01:00
parent 2868166136
commit 9724df8396
3 changed files with 49 additions and 73 deletions

View File

@@ -24,11 +24,13 @@ HardwareSerial Co2Port(1); // use UART2
#define CO2_WARN_5 2000 #define CO2_WARN_5 2000
#define CO2_CRITICAL_PPM 1850 #define CO2_CRITICAL_PPM 1850
int CO2Wert = -99; //int CO2Wert = -99;
char antwort[100] = {0xFF}; char antwort[100] = {0xFF};
int range =2000; int range =2000;
bool readCo2Flag = true; bool readCo2Flag = true;
char getCheckSum(char *packet) char getCheckSum(char *packet)
{ {
char i, checksum; char i, checksum;
@@ -94,7 +96,7 @@ void setRange()
void beginC02() void beginC02()
{ {
Co2Port.begin(9600, SERIAL_8N1, 32, 33); Co2Port.begin(9600, SERIAL_8N1, 32, 33);
readCo2Flag = false; //readCo2Flag = false;
delay(100); delay(100);
calibrationCo2(); calibrationCo2();
delay(100); delay(100);

View File

@@ -76,14 +76,36 @@ build_flags = ${env.build_flags}
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\" -DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\"
-DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\" -DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\"
-DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\" -DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\"
-DHTU_Korrectur=-0.55 -DHTU_Korrectur=-1.05
-DBME_Korrectur=-0.00 -DBME_Korrectur=-0.00
-DKorrekturLuftdruck=0.00 -DKorrekturLuftdruck=0.00
-DHTUKorrekturFeuchte=0.00 -DHTUKorrekturFeuchte=0.00
-DBME_KorrekturFeuchte=0.00 -DBME_KorrekturFeuchte=0.00
-DAKKU_GREZWERT=2.950 -DAKKU_GREZWERT=2.950
[env:marcelDebug] ; Sulzfeld
build_flags = ${env.build_flags}
-DSTASSID=\"MagentaWLAN-RGDO\"
-DSTAPSK=\"93329248424922704583\"
-DGATEWAY=\"192.168.127.1\"
-DDNS=\"192.168.127.1\"
-DSECONDARDNS=\"8.8.8.8\"
-DMYIP=\"192.168.127.52\"
-DSUBNET=\"255.255.255.0\"
-Dmqtt_server=\"hjkmqtt.dedyn.io\"
-DMQTTPORT=61883
-DAKKU=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/battery\"
-DWETTER=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/temperature_Htu_21\"
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\"
-DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\"
-DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\"
-DHTU_Korrectur=-1.05
-DBME_Korrectur=-0.00
-DKorrekturLuftdruck=0.00
-DHTUKorrekturFeuchte=0.00
-DBME_KorrekturFeuchte=0.00
-DAKKU_GREZWERT=2.950

View File

@@ -156,7 +156,7 @@ const int CoY = 43;
int Co2 = 0.00; int Co2Messwert = 0.00;
float Covid19 = 0.00; float Covid19 = 0.00;
float Aussentemp = -99.90; float Aussentemp = -99.90;
int Pressure = 0; int Pressure = 0;
@@ -340,7 +340,7 @@ void callback(char* topic1, byte* payload, unsigned int length) {
Serial.print("Co2 Sensor !!!: "); Serial.print("Co2 Sensor !!!: ");
Serial.print(msg); Serial.print(msg);
Serial.println(); Serial.println();
Co2 = atoi(msg); Co2Messwert = atoi(msg);
} }
#endif #endif
} }
@@ -418,22 +418,21 @@ void ZeigeTestTime(tm localTime)
display.setFont(0); display.setFont(0);
} }
void ZeigeCO(int xPos = 1, int yPos = 19) void ZeigeCO(int Co2, int xPos = 1, int yPos = 19)
{ {
if (xPos < 1) xPos = 1; if (xPos < 1) xPos = 1;
if (yPos < 19) yPos = 19; if (yPos < 19) yPos = 19;
if (Co2 > 300.00){ display.fillRect(0, 34-10, 64, 8, myBLACK);
if (Co2 > 300){
char szCO[10]; char szCO[10];
sprintf(szCO, "%4d", CO2Wert); sprintf(szCO, "%4d", Co2);
//Serial.print("CO = "); Serial.println(szCO);
//display.setCursor(xPos, yPos); */
display.setFont(); display.setFont();
switch (Co2){ switch (Co2){
case 0 ... CO2_WARN_1 -1: { case 0 ... CO2_WARN_1 -1: {
display.setTextColor(myCo); // green display.setTextColor(myCo); // green
break; break;
} }
case CO2_WARN_3 ... CO2_WARN_4 -1: { case CO2_WARN_1 ... CO2_WARN_4 -1: {
display.setTextColor(myYELLOW); display.setTextColor(myYELLOW);
break; break;
} }
@@ -447,17 +446,19 @@ void ZeigeCO(int xPos = 1, int yPos = 19)
} }
} }
//display.setTextColor(myGREEN); display.setCursor(0, 25);
display.fillRect(xPos, yPos-2, 64-xPos, 8+2, (myBLACK)); display.print("CO");
display.print("CO :");
display.print(szCO);
// Hochzeichen zeichen CO²
display.setFont(&Picopixel); display.setFont(&Picopixel);
display.setCursor(xPos+14, yPos+2); display.setCursor(13, 28);
display.print("2"); display.print("2");
display.setCursor(xPos+50, yPos+6); display.setCursor(25, 31);
display.setFont(0);
display.print(szCO);
display.setFont(&Picopixel);
display.setCursor(50, 30);
display.print("ppm"); display.print("ppm");
display.setFont(); display.setFont(0);
} }
} }
@@ -554,55 +555,6 @@ void ZeigeInnenFeuchtigkeit(float Luftfeuchtigkeit){
} }
} }
void ZeigeInnenCO(int Co2){
char szWetter[15];
display.fillRect(0, 34-10, 64, 8, myBLACK);
//Serial.println(Co2);
if (Co2 > 0)
{
sprintf(szWetter, "%5d", Co2);
Serial.print("CO = "); Serial.println(Co2);
display.setFont();
display.setCursor(1, 35-10);
switch (Co2){
case 400 ... CO2_WARN_1: {
display.setTextColor(myGREEN);
break;
}
case CO2_WARN_1+1 ... CO2_WARN_2: {
display.setTextColor(myYELLOW);
break;
}
case CO2_WARN_2+1 ... CO2_WARN_3: {
display.setTextColor(myBraun);
break;
}
case CO2_WARN_3+1 ... CO2_WARN_5: {
display.setTextColor(myRED);
break;
}
/* case CO2_WARN_4 ... CO2_WARN_5 -1: {
display.setTextColor(myRED);
break;
} */
default: {
display.setTextColor(myMAGENTA);
break;
}
}
display.print("CO");
display.setFont(&Picopixel);
display.setCursor(13, 35-10+3);
display.print("2");
display.setCursor(15, 35-10+6);
display.setFont(0);
display.print(szWetter);
display.setFont(&Picopixel);
display.setCursor(47, 35-10+5);
display.print("ppm");
display.setFont(0);
}
}
void ZeigeAussenTemp(float Aussentemp){ void ZeigeAussenTemp(float Aussentemp){
char szWetter[15]; char szWetter[15];
if (Aussentemp > -99) if (Aussentemp > -99)
@@ -882,8 +834,8 @@ void loop() {
{ {
if (readCo2Flag == true) //eadCo2Flag if (readCo2Flag == true) //eadCo2Flag
{ {
CO2Wert = readCO2(); Co2Messwert = readCO2();
Serial.print("CO = \t"); Serial.println(CO2Wert); Serial.print("CO = \t"); Serial.println(Co2Messwert);
readCo2Flag = false; readCo2Flag = false;
} }
}else{ }else{
@@ -910,7 +862,7 @@ void loop() {
{ {
ZeigeTemperatur(htu21Data.Temp, myGREEN); ZeigeTemperatur(htu21Data.Temp, myGREEN);
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte); ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
ZeigeInnenCO(Co2); ZeigeCO(Co2Messwert);
break; break;
} }
case 15 ... 29: case 15 ... 29:
@@ -924,7 +876,7 @@ void loop() {
{ {
ZeigeTemperatur(htu21Data.Temp, myGREEN); ZeigeTemperatur(htu21Data.Temp, myGREEN);
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte); ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
ZeigeInnenCO(Co2); ZeigeCO(Co2Messwert);
break; break;
} }
case 45 ... 59: case 45 ... 59: