BASIC4MCU | 질문게시판 | cds 센서 관련 질문입니다.
페이지 정보
작성자 Tell 작성일2022-11-26 13:42 조회485회 댓글1건본문
조명이 가장 밝은 상태로 10초가 지나면 자동적으로 조명이 꺼지는건 코드를 어떻게 만들어야 하나요?
+ 가장 밝은 상태는 cdsvalue >=900으로 설정해놨습니다.
코드는 이렇게 짜놨습니다.
#define cds A2
int led = 3;
int ledState = LOW;
int cdsvalue;
void setup() {
pinMode(cds, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
cdsvalue = analogRead(cds);
Serial.println(cdsvalue);
delay(1000);
if(cdsvalue>=900)
{
digitalWrite(led, LOW);
}
if(300<=cdsvalue<=900)
{
analogWrite(led,cdsvalue);
}
if(cdsvalue<=300)
{
digitalWrite(led, LOW);
}
}
댓글 1
조회수 485master님의 댓글
master 작성일
int cds=A2,led=3;
//
int cnt=0,flag=0;
//
void setup(){
Serial.begin(9600);
}
//
void loop(){
int cdsval=analogRead(cds); Serial.println(cdsval);
//
if((cdsval<=300)||(cdsval>=900)){ flag=0; analogWrite(led,0); }
else{
if(flag==0){ flag=1; cnt=10; int v=(float)(cdsval-300)*255.0/600.0; analogWrite(led,v); }
}
//
delay(1000);
//
if(cnt){
if(--cnt==0)analogWrite(led,0);
}
}