BASIC4MCU | 질문게시판 | 조도센서 재질문입니다.
페이지 정보
작성자 Tell 작성일2022-11-26 15:39 조회699회 댓글2건본문
cdsval의 값이 900이상일때 10초뒤에 led가 꺼져야 되서 수정을 했는데 10초뒤에 꺼지지가 않습니다. 어떻게 수정해야 하나요?
int cds=A2,led=3;
//
int cnt=0,flag=0;
//
void setup(){
Serial.begin(9600);
}
//
void loop(){
int cdsval=analogRead(cds); Serial.println(cdsval);
analogWrite(led,cdsval);// 300~900사이의 값일땐 cdsval의 값으로 led 출력
if(cdsval>=900){
if(flag==0){ flag=1; cnt=10; analogWrite(led,cdsval); }
}//900이상이면 led는 10초 뒤에 꺼진다.
if(cdsval<=300){ flag=0; analogWrite(led,0); } //300이하면 led는 꺼진다
delay(1000);
//
if(cnt){
if(--cnt==0)analogWrite(led,0);
}
}
댓글 2
조회수 699master님의 댓글
master 작성일
void loop(){
int cdsval=analogRead(cds); Serial.println(cdsval);
analogWrite(led,cdsval); // 300~900사이의 값일땐 cdsval의 값으로 led 출력 <-- 삭제하세요
master님의 댓글
master 작성일
if()
if()
if()
조건식을 이런식으로 작성하지말고
if()
else if()
else if()
이런식으로 작성하세요