BASIC4MCU | 질문게시판 | 가변저항기를 이용한 LED 제어 질문합니다.
페이지 정보
작성자 jess 작성일2020-10-11 21:56 조회2,658회 댓글1건본문
가변저항기를 이용해 LED가 2초에서 0.1초까지 0.1초 간격으로 시간이 변하면서 깜빡거리도록 하는 프로그래밍을
다음과 같이 작성했는데 맞는지 모르겠습니다ㅠㅠ 다른 좋은 방법이 있을까요?
(오른쪽으로 돌리면 2초 간격으로 깜빡이고 왼쪽으로 돌릴수록 빨리 깜빡이다가 왼쪽 끝까지 돌리면 0.1초 간격으로
깜빡이도록 하고 싶습니다!)
map함수, for문이나 if 문을 사용하지 않고 매개변수만 조절해서 delay의 간격을 100ms에서 2000ms으로 만들고 싶은데
더 간단한 방법이 없을까요?
int AnalogReadVal = 0;
int convertedVal = 0;void setup() {
pinMode(3,OUTPUT);
}void loop(){
AnalogReadVal = analogRead(A0);
convertedVal = AnalogReadVal/1023.0*2000.0;
int Val = map(convertedVal,0,2000,100,2000);
digitalWrite(3,HIGH);
delay(Val);
digitalWrite(3,LOW);
delay(Val);
}
댓글 1
조회수 2,658master님의 댓글
master 작성일
int a,c,v;
//
void setup() {
pinMode(3,OUTPUT);
}
//
void loop(){
a=analogRead(A0);
c=a*1900.0/1023.0+100.0;
digitalWrite(3,1); delay(v);
digitalWrite(3,0); delay(v);
}