#define flame_sensor 4 #define sensorPower 7 #define sensorPin A0 #define trans 8 #define LED1 9 #define LED2 10 #define LED3 11 int val = 0; int buttonState = 0; void setup() { Serial.begin(9600); pinMode(sensorPower, OUTPUT); digitalWrite(sensorPower, LOW); pinMode(flame_sensor, INPUT); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(trans, OUTPUT); } void loop() { int level = readSensor(); Serial.println(level); if (level > 400) { digitalWrite(LED1, HIGH); digitalWrite(LED2, HIGH); digitalWrite(LED3, HIGH); } else if (level > 350 && level <= 400) { digitalWrite(LED1, HIGH); digitalWrite(LED2, HIGH); digitalWrite(LED3, LOW); } else if (level < 350 && level > 300) { digitalWrite(LED1, HIGH); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); } else if (level <= 300) { digitalWrite(LED1, LOW); digitalWrite(LED2, LOW); digitalWrite(LED3, LOW); } int flame_detected = digitalRead(flame_sensor); if (flame_detected == LOW && level > 300) { // turn PUMP on: digitalWrite(trans, HIGH); } else { // turn PUMP off: digitalWrite(trans, LOW); } // Added the delay so that we can see the output of button delay(100); } int readSensor() { digitalWrite(sensorPower, HIGH); // Turn the sensor ON delay(10); // wait 10 milliseconds val = analogRead(sensorPin); // Read the analog value form sensor digitalWrite(sensorPower, LOW); // Turn the sensor OFF return val; // send current reading }