// Zadej referenční napětí desky Arduino ve voltech: float Ur=5.01; // Zadej zatěžovací odpor senzoru v ohmech: int RL=1000; // Zadej odpor senzoru Ro v ohmech: int R0=15620; //**************************************************************** #include #include LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); int H=0; float Um=0; float R1; float R; int C; int B=0; int S1=0; int SB=0; void setup() { lcd.begin(16,2); pinMode(13, OUTPUT); lcd.setCursor(5,0); lcd.print("ARDUINO "); lcd.setCursor(1,2); lcd.print("Analyzator CO"); delay(15000); lcd.clear(); lcd.setCursor(6,0); lcd.print("CEKEJ"); lcd.setCursor(1,2); lcd.print("senzor heating "); delay(45000); lcd.clear(); } void loop() { H=analogRead(14); Um=(Ur*H)/1023; R1=((5-Um)/Um)*RL; R=(R1/R0); C=(pow(R,-1.409))*106.13; B=analogRead(16); S1=(1023-B)/1.9; SB=100-S1; lcd.setCursor(0,0); lcd.print("Konc.CO:"); lcd.setCursor(8,0); if (Um>4.1) {C=30000;} if (Um<0.531) {C=0;} lcd.print(C); lcd.setCursor(13,0); lcd.print("ppm"); lcd.setCursor(0,2); lcd.print("Us="); lcd.print(Um); lcd.setCursor(7,2); lcd.print("V"); lcd.setCursor(9,2); lcd.print("Bat"); lcd.setCursor(12,2); if (SB<5) {SB=0;} lcd.print(SB); lcd.setCursor(15,2); lcd.print("%"); delay (2000); lcd.clear(); }