2025-11-2012
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
90
src/main.cpp
90
src/main.cpp
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user