BASIC4MCU | 질문게시판 | 스위치 입력제어 궁금해요
페이지 정보
작성자 스캉이 작성일2019-01-08 11:44 조회3,278회 댓글0건본문
오랫만에 인사드립니다. 먼저 새해복 많이 받으시구요.
아래 코드는 스위치 3개가 모두 눌리면 LED가 모두 꺼집니다. 스위치 입력{0,1,1)을 카운터해서 스위치 입력이 5번이상 10번 이하면
LED 8번을 10번 5초간격으로 깜박이고 10번 이상이면 LED 9번을 계속 깜박일수 있을까요?
계속 LED 9번이 깜박이다 스위치 입력{0,1,1)이 들어오면 카운터해서 5번이상 10번 이하면
LED 8번을 10번 5초간격으로 깜박이고 스위치 입력이 10번 이상이면 LED 9번을 계속 깜박이는 구현을 하고 싶습니다.
int switchArray[] = {2, 3, 4};//스위치 상태를 포함하는 array 설정
int stateArray[] = {0, 0, 0};//스위치의 상태를 포함하는 array 설정
int prevArray[] = {0, 0, 0};//LED 핀 번호의 array 설정
int ledArray[] = {8, 9, 10};//스위치의 개수를 나타내는 변수 설정
int numSwitches = 3;//첫 번째 for() loop를 이용해 count할 변수 설정
int count;//delay 명령에 사용할 변수 설정
int myDelay = 50;
void setup()
{
for(count = 0;count < 3; count++)//for(variable = begin;variable <= end; variableName++){code;}
{
pinMode(switchArray[count], INPUT_PULLUP);//핀의 상태를 입력으로 설정
//LED 핀의 상태를 출력으로 설정
pinMode(ledArray[count], OUTPUT);
}
}
void loop()
{
for(count = 0; count < numSwitches; count++)//for(variable = begin;variable <= end; variableName++){code;}
{
stateArray[count] = digitalRead(switchArray[count]);//variableName = digitalRead(pinName);
if(stateArray[count] != prevArray[count]){//if(conditional){code}
if(stateArray[count] == 1){//스위치의 상태 값이 1인지 결정//스위치의 버튼이 눌렸다면 LED를 on
digitalWrite(ledArray[count], HIGH);
}else{//스위치의 버튼이 눌리지 않았다면 LED를 off
digitalWrite(ledArray[count], LOW);
}
prevArray[count] = stateArray[count];// prevArray[]에 스위치의 값 할당
}
}
}
댓글 0
조회수 3,278등록된 댓글이 없습니다.