BASIC4MCU | 질문게시판 | 아두이노 스위치로 LED제어
페이지 정보
작성자 UKP초짜 작성일2019-04-14 01:06 조회3,669회 댓글0건본문
아두이노 에서 스위치로 LED를 제어 할려고 코딩을 짜봤는데 회로에서 작동을 안합니다. 그래서코딩에 문제가 있나해서 질문을 합니다.
const int LED1 = 11;
const int LED2 = 12;
const int Button1 = 1;
const int Button2 = 2;
const int Button3 = 3;
const int Button4 = 4;
int val = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;
int old_val = 0;
int old_val2 = 0;
int old_val3 = 0;
int old_val4 = 0;
int state = 0;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(Button1, INPUT);
pinMode(Button2, INPUT);
pinMode(Button3, INPUT);
pinMode(Button4, INPUT);
}
void loop() {
val = digitalRead(Button1);
val2 = digitalRead(Button2);
val3 = digitalRead(Button3);
val4 = digitalRead(Button4);
if ((val == HIGH)&&(old_val == LOW)){
state = state + 1;
}
old_val = val;
if ((val2 == HIGH)&&(old_val2 == LOW)) {
state = state - 2;
}
old_val2 = val2;
if ((val3 == HIGH)&&(old_val3 == LOW)) {
state = state - 1;
}
old_val3 = val3;
if ((val4 == HIGH)&&(old_val4 == LOW)) {
state = state - 2;
}
old_val4 = val4;
if(state==0){
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
}
else if(state==1){
digitalWrite(LED1,HIGH);
digitalWrite(LED2,LOW);
}
else if(state==2){
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
}
else{
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
}
}
Button1을 누르면 LED가 하나씩 켜지고 Button2일 누르면 LED가 모두 꺼지고 Button3을 누르면 LED가 한개 꺼지고 Button4를 누르면 LED가 두개 꺼지게 하고 싶습니다. 여기서 Button2 하고 Button4가 같아 보일스도 있지만 LED가 두개 일때라 그렇고 앞으로 LED를 4개까지 추가 시킬 예정입니다. 지금 여기서 막혀서 다음으로 진행을 할수가 없어서 질문 드립니다
댓글 0
조회수 3,669등록된 댓글이 없습니다.