I am working on an alarm box. If a red LED goes on I need a buzzer to sound. The issue I am having is I need to silence that alarm with momentary button, but if an another red LED gets lit, the buzzer needs to resound. For some reason I can't think of how to make this work. Will post code shortly.
//pin numbers:
int a1OpenPin = 22; // alarm 1 pin IN
int a2OpenPin = 24; // alarm 2 pin IN
int a3OpenPin = 26; // alarm 3 pin IN
int a4OpenPin = 28; // alarm 4 pin IN
int a5OpenPin = 30; // alarm 5 pin IN
int btnPin = 11; //Silence BTn
int a1ClosedPin = 31; // alarm 1 pin IN
int a2ClosedPin = 33; // alarm 2 pin IN
int a3ClosedPin = 35; // alarm 3 pin IN
int a4ClosedPin = 37; // alarm 4 pin IN
int a5ClosedPin = 39; // alarm 5 pin IN
const int alarm1RedPin = 32; // alarm 1 red led
const int alarm2RedPin = 34; // alarm 2 red led
const int alarm3RedPin = 36; // alarm 3 red led
const int alarm4RedPin = 38; // alarm 4 red led
const int alarm5RedPin = 40; // alarm 5 red led
const int alarm1GreenPin = 42; // alarm 1 red led
const int alarm2GreenPin = 44; // alarm 2 red led
const int alarm3GreenPin = 46; // alarm 3 red led
const int alarm4GreenPin = 48; // alarm 4 red led
const int alarm5GreenPin = 50; // alarm 5 red led
const int audioA = 12; //audio alarm
// variables:
int a1OpenPinState = 0; //alrm 1
int a2OpenPinState = 0; //alrm 2
int a3OpenPinState = 0; //alrm 3
int a4OpenPinState = 0; //alrm 4
int a5OpenPinState = 0; //alrm 5
int a1ClosedPinState = 0; //alrm 1
int a2ClosedPinState = 0; //alrm 2
int a3ClosedPinState = 0; //alrm 3
int a4ClosedPinState = 0; //alrm 4
int a5ClosedPinState = 0; //alrm 5
int btnPinState = 0; //silence
void setup() {
// initialize the G/R LED pin as an output:
pinMode(alarm1RedPin, OUTPUT);
pinMode(alarm2RedPin, OUTPUT);
pinMode(alarm3RedPin, OUTPUT);
pinMode(alarm4RedPin, OUTPUT);
pinMode(alarm5RedPin, OUTPUT);
pinMode(alarm1GreenPin, OUTPUT);
pinMode(alarm2GreenPin, OUTPUT);
pinMode(alarm3GreenPin, OUTPUT);
pinMode(alarm4GreenPin, OUTPUT);
pinMode(alarm5GreenPin, OUTPUT);
pinMode(audioA, OUTPUT);
// initialize alarms as inputs:
pinMode(a1OpenPin, INPUT);
pinMode(a2OpenPin, INPUT);
pinMode(a3OpenPin, INPUT);
pinMode(a4OpenPin, INPUT);
pinMode(a5OpenPin, INPUT);
pinMode(a1ClosedPin, INPUT);
pinMode(a2ClosedPin, INPUT);
pinMode(a3ClosedPin, INPUT);
pinMode(a4ClosedPin, INPUT);
pinMode(a5ClosedPin, INPUT);
pinMode (btnPin, INPUT);
}
void loop(){
// read the state of inputs:
a1OpenPinState = digitalRead(a1OpenPin);
a2OpenPinState = digitalRead(a2OpenPin);
a3OpenPinState = digitalRead(a3OpenPin);
a4OpenPinState = digitalRead(a4OpenPin);
a5OpenPinState = digitalRead(a5OpenPin);
a1ClosedPinState = digitalRead(a1ClosedPin);
a2ClosedPinState = digitalRead(a2ClosedPin);
a3ClosedPinState = digitalRead(a3ClosedPin);
a4ClosedPinState = digitalRead(a4ClosedPin);
a5ClosedPinState = digitalRead(a5ClosedPin);
//btnPinState = digitalRead(btnPin);
//alarms
if (a1ClosedPinState == HIGH and a1OpenPinState == LOW){
digitalWrite(alarm1GreenPin, LOW);
digitalWrite(alarm1RedPin, HIGH);
}
if (a1ClosedPinState == LOW and a1OpenPinState == HIGH){
digitalWrite(alarm1GreenPin, HIGH);
digitalWrite(alarm1RedPin, LOW);
}
if (a2ClosedPinState == HIGH and a2OpenPinState == LOW){
// turn LED on:
digitalWrite(alarm2GreenPin, LOW);
digitalWrite(alarm2RedPin, HIGH);
}
if (a2ClosedPinState == LOW and a2OpenPinState == HIGH){
// turn LED on:
digitalWrite(alarm2GreenPin, HIGH);
digitalWrite(alarm2RedPin, LOW);
}
if (a3ClosedPinState == HIGH and a3OpenPinState == LOW){
// turn LED on:
digitalWrite(alarm3GreenPin, LOW);
digitalWrite(alarm3RedPin, HIGH);
}
if (a3ClosedPinState == LOW and a3OpenPinState == HIGH){
// turn LED on:
digitalWrite(alarm3GreenPin, HIGH);
digitalWrite(alarm3RedPin, LOW);
}
if (a4ClosedPinState == HIGH and a4OpenPinState == LOW){
// turn LED on:
digitalWrite(alarm4GreenPin, LOW);
digitalWrite(alarm4RedPin, HIGH);
}
if (a4ClosedPinState == LOW and a4OpenPinState == HIGH){
// turn LED on:
digitalWrite(alarm4GreenPin, HIGH);
digitalWrite(alarm4RedPin, LOW);
}
if (a5ClosedPinState == HIGH and a5OpenPinState == LOW){
// turn LED on:
digitalWrite(alarm5GreenPin, LOW);
digitalWrite(alarm5RedPin, HIGH);
}
if (a5ClosedPinState == LOW and a5OpenPinState == HIGH){
// turn LED on:
digitalWrite(alarm5GreenPin, HIGH);
digitalWrite(alarm5RedPin, LOW);
}
}