BASIC4MCU | 질문게시판 | 아두이노 if millis 질문 도와주세요...
페이지 정보
작성자 채대원 작성일2018-06-10 18:48 조회10,652회 댓글2건본문
아두이노 우노보드와 홀 자기센서를 이용해서 1초에 자석으로 인해 홀센서에 카운팅되는 수에 따라서 각각 초당 4회초과는 13번으로 0회일때는 11번핀으로 1에서4회일때는 12번핀으로 출력하여 led를 on시키는 프로그램을 만드는 중인데 프로그램 이 잘못되었는지 잘 모르겠네요 ㅠㅠ
조언좀 부탁드립니다 ...
unsigned long Time;
int value = digitalRead(0);
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
Time=millis();
}void loop() {
if(Time<=1000){
if(digitalRead(0)>4){
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
else if(digitalRead(0)==0){
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
}
else
{
digitalWrite(13, LOW);
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
}
}
else{
return setup();
}
}
댓글 2
조회수 10,652master님의 댓글
master 작성일
초당 0회의 조건은 만들지 않는 것이 좋습니다.
초당 0회의 주기는 무한대이기 때문입니다.
master님의 댓글
master 작성일
초당 4회는 250ms
초당 1회는 1000ms
//
인터벌이 250ms이하면 --> 13번 LED ON
인터벌이 250~1000ms 사이면 --> 12번 LED ON
인터벌이 1000ms 이상이면 --> 11번 LED ON
이렇게 작성 하면 되겠습니다.