i got ghost outputs on my project manual alarm system. do i need to debounce my pushbuttons? i got 15 pushbuttons which makes confusion on the code. here is the code.
int bp1=22;
int bp2=23;
int bp3=24;
int bp4=26;
int bp5=52;
int bp6=28;
int bp7=32;
int bp8=31;
int bp9=30;
int bp10=36;
int bp11=35;
int bp12=34;
int bp13=40;
int bp14=39;
int bp15=38;
int led1=25;
int led2=29;
int led3=33;
int led4=37;
int led5=41;
int ledfire=49;
int ledint=51;
int ledamb=47;
int ledcoe=46;
int ledcme=43;
int ledcnahs=44;
int ledcba=42;
int ledced=45;
int buzz1= 50;
int a = 0;
int b = 0;
int c= 0;
int d= 0;
int e= 0;
int f= 0;
int g= 0;
int h= 0;
int i= 0;
int j= 0;
int k= 0;
int l= 0;
int m= 0;
int n= 0;
int o= 0;
void setup() {
pinMode(bp1,INPUT);
pinMode(bp2,INPUT);
pinMode(bp3,INPUT);
pinMode(bp4,INPUT);
pinMode(bp5,INPUT);
pinMode(bp6,INPUT);
pinMode(bp7,INPUT);
pinMode(bp8,INPUT);
pinMode(bp9,INPUT);
pinMode(bp10,INPUT);
pinMode(bp11,INPUT);
pinMode(bp12,INPUT);
pinMode(bp13,INPUT);
pinMode(bp14,INPUT);
pinMode(bp15,INPUT);
pinMode(led1,OUTPUT);
pinMode(led2,OUTPUT);
pinMode(led3,OUTPUT);
pinMode(led4,OUTPUT);
pinMode(led5,OUTPUT);
pinMode(ledfire,OUTPUT);
pinMode(ledint,OUTPUT);
pinMode(ledamb,OUTPUT);
pinMode(ledcoe,OUTPUT);
pinMode(ledced,OUTPUT);
pinMode(ledcnahs,OUTPUT);
pinMode(ledcme,OUTPUT);
pinMode(ledcba,OUTPUT);
pinMode(buzz1,OUTPUT);
Serial.begin(9600);
Serial.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(500);
// put your setup code here, to run once:
}
void loop() {
a=digitalRead(bp1);
b=digitalRead(bp2);
c=digitalRead(bp3);
d=digitalRead(bp4);
e=digitalRead(bp5);
f=digitalRead(bp6);
g=digitalRead(bp7);
h=digitalRead(bp8);
i=digitalRead(bp9);
j=digitalRead(bp10);
k=digitalRead(bp11);
l=digitalRead(bp12);
m=digitalRead(bp13);
n=digitalRead(bp14);
o=digitalRead(bp15);
if(a==HIGH)
{
digitalWrite(ledfire,HIGH);
digitalWrite(ledcoe,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led1,HIGH);
delay(10000);
digitalWrite(ledfire,LOW);
digitalWrite(ledcoe,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led1,LOW);
}
if(b==HIGH)
{
digitalWrite(ledint,HIGH);
digitalWrite(ledcoe,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led1,HIGH);
delay(10000);
digitalWrite(ledint,LOW);
digitalWrite(ledcoe,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led1,LOW);
}
if(c==HIGH)
{
digitalWrite(ledamb,HIGH);
digitalWrite(ledcoe,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led1,HIGH);
delay(10000);
digitalWrite(ledamb,LOW);
digitalWrite(ledcoe,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led1,LOW);
}
if(d==HIGH)
{
digitalWrite(ledfire,HIGH);
digitalWrite(ledced,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led2,HIGH);
delay(10000);
digitalWrite(ledfire,LOW);
digitalWrite(ledced,LOW);
digitalWrite(led2,LOW);
digitalWrite(buzz1,LOW);
}
if(e==HIGH)
{
digitalWrite(ledint,HIGH);
digitalWrite(ledced,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led2,HIGH);
delay(10000);
digitalWrite(ledint,LOW);
digitalWrite(ledced,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led2,LOW);
}
if(f==HIGH)
{
digitalWrite(ledamb,HIGH);
digitalWrite(ledced,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led2,HIGH);
delay(10000);
digitalWrite(ledamb,LOW);
digitalWrite(ledced,LOW);
digitalWrite(led2,LOW);
digitalWrite(buzz1,LOW);
}
if(g==HIGH)
{
digitalWrite(ledfire,HIGH);
digitalWrite(ledcnahs,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led3,HIGH);
delay(10000);
digitalWrite(ledfire,LOW);
digitalWrite(ledcnahs,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led3,LOW);
}
if(h==HIGH)
{
digitalWrite(ledint,HIGH);
digitalWrite(ledcnahs,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led3,HIGH);
delay(10000);
digitalWrite(ledint,LOW);
digitalWrite(ledcnahs,LOW);
digitalWrite(led3,LOW);
digitalWrite(buzz1,LOW);
}
if(i==HIGH)
{
digitalWrite(ledamb,HIGH);
digitalWrite(ledcnahs,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led3,HIGH);
delay(10000);
digitalWrite(ledamb,LOW);
digitalWrite(ledcnahs,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led3,LOW);
}
if(j==HIGH)
{
digitalWrite(ledfire,HIGH);
digitalWrite(ledcme,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led4,HIGH);
delay(10000);
digitalWrite(ledfire,LOW);
digitalWrite(ledcme,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led4,LOW);
}
if(k==HIGH)
{
digitalWrite(ledint,HIGH);
digitalWrite(ledcme,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led4,HIGH);
delay(10000);
digitalWrite(ledint,LOW);
digitalWrite(ledcme,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led4,LOW);
}
if(l==HIGH)
{
digitalWrite(ledamb,HIGH);
digitalWrite(ledcme,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led4,HIGH);
delay(10000);
digitalWrite(ledamb,LOW);
digitalWrite(ledcme,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led4,LOW);
}
if(m==HIGH)
{
digitalWrite(ledfire,HIGH);
digitalWrite(ledcba,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led5,HIGH);
delay(10000);
digitalWrite(ledfire,LOW);
digitalWrite(ledcba,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led5,LOW);
}
if(n==HIGH)
{
digitalWrite(ledint,HIGH);
digitalWrite(ledcba,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led5,HIGH);
delay(10000);
digitalWrite(ledint,LOW);
digitalWrite(ledcba,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led5,LOW);
}
if(o==HIGH)
{
digitalWrite(ledamb,HIGH);
digitalWrite(ledcba,HIGH);
digitalWrite(buzz1,HIGH);
digitalWrite(led5,HIGH);
delay(10000);
digitalWrite(ledamb,LOW);
digitalWrite(ledcba,LOW);
digitalWrite(buzz1,LOW);
digitalWrite(led5,LOW);
}
// put your main code here, to run repeatedly:
}
