I am making a fire and water level sensor project. Each code is running properly, but I have troubles in combining them.
For my fire sensor, when the Flame Sensor detects flames, the red LED turns and the buzzer turns on, while if there is no flame detected, the green LED turns on. Here is the code for my fire sensor:
#define redled 13
#define greenled 12
const int Buzzer = 8; // Use buzzer for alert
int FlamePin = 2; // This is for input pin
int Flame = HIGH; // HIGH when FLAME is exposed
void setup() {
pinMode(redled, OUTPUT);
pinMode(greenled, OUTPUT);
pinMode(Buzzer, OUTPUT);
pinMode(FlamePin, INPUT);
Serial.begin(9600);
}
void loop() {
Flame = digitalRead(FlamePin);
if (Flame== HIGH)
{
Serial.println(Flame);
digitalWrite(Buzzer, HIGH);
digitalWrite(redled, HIGH);
digitalWrite(greenled, LOW);
}
else
{
Serial.println(Flame);
digitalWrite(Buzzer, LOW);
digitalWrite(greenled, HIGH);
digitalWrite(redled, LOW);
}
}
For my water level sensor, the RGB led turns into different colors and the buzzer turns on depending on the conditions. This is for my water level sensor:
//define RGB led
#define ledRed 8
#define ledGreen 9
#define ledBlue 10
const int WaterLevel = A0; //Water Level Sensor to Arduino pin A0
const int Buzzer = 8; // Use buzzer for alert
int watervalue;
int watermap; //mapped value for water sensor
int minimumvalue = 100;
int maximumvalue = 750;
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledBlue, OUTPUT);
pinMode(Buzzer, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
watervalue = analogRead(WaterLevel);
watermap = map(watervalue, minimumvalue, maximumvalue, 0, 10);
if (watermap >2 && watermap <= 4){
digitalWrite(ledBlue, HIGH); //Blue-green becomes RGB LED color
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
}
else if (watermap > 4 && watermap <= 6){
digitalWrite(ledBlue, HIGH);
digitalWrite(ledGreen, LOW); //Violet becomes RGB LED color
digitalWrite(ledRed, HIGH);
digitalWrite(Buzzer, HIGH);
}
else if (watermap > 6 ){
digitalWrite(ledBlue, LOW); //Red becomes RGB LED color
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(Buzzer, HIGH);
}
else {
digitalWrite(ledBlue, LOW); //Green becomes RGB LED color
digitalWrite(ledGreen, HIGH);
digitalWrite(ledRed, LOW);
digitalWrite(Buzzer, LOW);
}
Serial.println(watermap);
delay(1000);
}
I hope to combine the two sketches into one where each work properly. In addition, I want the buzzer as an output which would activate if any of the sensors would reach the condition. I would appreciate if you would give me guidance as to how it should be done. Thanks!
I'm new to the forums by the way, super awesome community!