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_CRITICAL_PPM 1850
int CO2Wert = -99;
//int CO2Wert = -99;
char antwort[100] = {0xFF};
int range =2000;
bool readCo2Flag = true;
char getCheckSum(char *packet)
{
char i, checksum;
@@ -94,7 +96,7 @@ void setRange()
void beginC02()
{
Co2Port.begin(9600, SERIAL_8N1, 32, 33);
readCo2Flag = false;
//readCo2Flag = false;
delay(100);
calibrationCo2();
delay(100);

View File

@@ -76,14 +76,36 @@ build_flags = ${env.build_flags}
-DLUFTDRUCK=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/pressure\"
-DFEUCHTIGKEIT=\"hjk/devices/WETTERSTATIONMARCEL/telemetry/humity\"
-DHELL=\"hjk/devices/DisplayMarcel/telemetry/Lux\"
-DHTU_Korrectur=-0.55
-DHTU_Korrectur=-1.05
-DBME_Korrectur=-0.00
-DKorrekturLuftdruck=0.00
-DHTUKorrekturFeuchte=0.00
-DBME_KorrekturFeuchte=0.00
-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 Aussentemp = -99.90;
int Pressure = 0;
@@ -340,7 +340,7 @@ void callback(char* topic1, byte* payload, unsigned int length) {
Serial.print("Co2 Sensor !!!: ");
Serial.print(msg);
Serial.println();
Co2 = atoi(msg);
Co2Messwert = atoi(msg);
}
#endif
}
@@ -418,22 +418,21 @@ void ZeigeTestTime(tm localTime)
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 (yPos < 19) yPos = 19;
if (Co2 > 300.00){
display.fillRect(0, 34-10, 64, 8, myBLACK);
if (Co2 > 300){
char szCO[10];
sprintf(szCO, "%4d", CO2Wert);
//Serial.print("CO = "); Serial.println(szCO);
//display.setCursor(xPos, yPos); */
sprintf(szCO, "%4d", Co2);
display.setFont();
switch (Co2){
case 0 ... CO2_WARN_1 -1: {
display.setTextColor(myCo); // green
break;
}
case CO2_WARN_3 ... CO2_WARN_4 -1: {
case CO2_WARN_1 ... CO2_WARN_4 -1: {
display.setTextColor(myYELLOW);
break;
}
@@ -447,17 +446,19 @@ void ZeigeCO(int xPos = 1, int yPos = 19)
}
}
//display.setTextColor(myGREEN);
display.fillRect(xPos, yPos-2, 64-xPos, 8+2, (myBLACK));
display.print("CO :");
display.print(szCO);
// Hochzeichen zeichen CO²
display.setCursor(0, 25);
display.print("CO");
display.setFont(&Picopixel);
display.setCursor(xPos+14, yPos+2);
display.setCursor(13, 28);
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.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){
char szWetter[15];
if (Aussentemp > -99)
@@ -882,8 +834,8 @@ void loop() {
{
if (readCo2Flag == true) //eadCo2Flag
{
CO2Wert = readCO2();
Serial.print("CO = \t"); Serial.println(CO2Wert);
Co2Messwert = readCO2();
Serial.print("CO = \t"); Serial.println(Co2Messwert);
readCo2Flag = false;
}
}else{
@@ -910,7 +862,7 @@ void loop() {
{
ZeigeTemperatur(htu21Data.Temp, myGREEN);
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
ZeigeInnenCO(Co2);
ZeigeCO(Co2Messwert);
break;
}
case 15 ... 29:
@@ -924,7 +876,7 @@ void loop() {
{
ZeigeTemperatur(htu21Data.Temp, myGREEN);
ZeigeInnenFeuchtigkeit(htu21Data.Feuchte);
ZeigeInnenCO(Co2);
ZeigeCO(Co2Messwert);
break;
}
case 45 ... 59: