//parameters of sensor calibration #define RLOAD 2.0 #define RZERO 546 #define PARA 116.6020682 #define PARB 2.769034857 int val = 0; float ppm = 0; void setup() { //Serial.begin(9600); // not for attiny //leds as outputs pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); } void loop() { val = analogRead(2); // Read sensor analog float val2 = (1023 / val * 5 - 1) * RLOAD; ppm = PARA * (val2 / RZERO) * (val2 / RZERO); //Value in ppm if (ppm < 750) { // Geen led on digitalWrite(7, HIGH); digitalWrite(8, LOW); digitalWrite(9, LOW); } if (ppm >= 751 && ppm < 1200) { //Yellow led on digitalWrite(7, LOW); digitalWrite(8, HIGH); digitalWrite(9, LOW); } if (ppm >= 1201) { // Red led on digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, HIGH); } //for confirmation (on arduino Uno) //Serial.print(" C02 value in ppm: "); //Serial.println(ppm); }