BASIC4MCU | 질문게시판 | 아두이노 led 제어 질문입니다.
페이지 정보
작성자 나우무 작성일2022-10-26 22:19 조회1,616회 댓글0건본문
LED가 일정 시간 간격으로 2->3->4->5 순으로 반복해서 표시되며 버튼이 눌러질때마다 LED가 0.5초에서 1초로, 1초에서 0.5초로 변경됩니다. 패턴을 사용해야되며 시작시 0.5초 간격으로 설정합니다. 어떻게 해야 하나요?
int pins_LED[] = {2,3,4,5};
int pin_button = 14;
int LED_pattern[] = {0b0001,0b0010,0b0100,0b1000};
int state=0;
int i,j;
boolean state_previous = false;
boolean state_current;
void setup() {
Serial.begin(9600);
for(i=0;i<4;i++){
pinMode(pin_button,INPUT);
pinMode(pins_LED[i],OUTPUT);
}
}
void loop() {
boolean state_current = digitalRead(pin_button);
for (int i = 0; i < 4; i++) {
f(state ==0){
if((state_current==1) && (state_previous==0)){
i-=2;
state_previous = 1;
state = 1;
}
else{
if((state_current==0)&&(state_previous==1)){
state_previous = 0;
}
if(i==4) i=0;
if(i<4){
for(j=0;j<4;j++){
digitalWrite(pins_LED[j],bitRead(LED_pattern[i],j));
}
i++;
delay(500);
}
}
}
}
댓글 0
조회수 1,616등록된 댓글이 없습니다.