const int LDR1= A4;
#define LDR2 A3
#define LDR3 A2
#define LDR4 A1
const int LED1 = 4;
#define LED2 5
#define LED3 6
#define LED4 7
#define PB1 2
#define PB2 3
#define PB3 20
#define PB4 21
bool state1 = true;
bool state2 = true;
bool state3 = true;
bool state4 = true;
void setup() {
Serial.begin(9600);
pinMode(LDR1,INPUT);
pinMode(LDR2,INPUT);
pinMode(LDR3,INPUT);
pinMode(LDR4,INPUT);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(LED4,OUTPUT);
pinMode(PB1, INPUT);
pinMode(PB2, INPUT);
pinMode(PB3, INPUT);
pinMode(PB4, INPUT);
attachInterrupt(digitalPinToInterrupt(2),Button1,RISING);
attachInterrupt(digitalPinToInterrupt(PB2),Button2,RISING);
attachInterrupt(digitalPinToInterrupt(PB3),Button3,RISING);
attachInterrupt(digitalPinToInterrupt(PB4),Button4,RISING);
}
void loop() {
condition();
Serial.println(digitalRead(PB1));
}
void condition(){
int value1 = analogRead(LDR1);
int value2 = analogRead(LDR2);
int value3 = analogRead(LDR3);
int value4 = analogRead(LDR4);
if(value1 < 500 && state1 == true){
digitalWrite(LED1,HIGH);
}
else if (value1 >500){
digitalWrite(LED1,LOW);
state1 = true;
}
if(value2 < 500 && state2 == true){
digitalWrite(LED2,HIGH);
}
else if (value2 >500){
digitalWrite(LED2,LOW);
state2 = true;
}
if(value3 < 500 && state3 == true){
digitalWrite(LED3,HIGH);
}
else if (value3 >500){
digitalWrite(LED3,LOW);
state3 = true;
}
if(value4 < 500 && state4 == true){
digitalWrite(LED4,HIGH);
}
else if (value4 >500){
digitalWrite(LED4,LOW);
state4 = true;
}
}
void Button1(){
state1 = false;
digitalWrite(LED1,LOW);
}
void Button2(){
state2 = false;
digitalWrite(LED2,LOW);
}
void Button3(){
state3 = false;
digitalWrite(LED3,LOW);
}
void Button4(){
state4 = false;
digitalWrite(LED4,LOW);
}