BASIC4MCU | 질문게시판 | 오류에 대한 질문입니다.
페이지 정보
작성자 Tell 작성일2022-09-24 16:11 조회2,482회 댓글1건첨부파일
본문
답변해 주신대로 코드를 수정하고 작동시켰지만 코드대로 구현이 되지않습니다. 수정후 원래는 노란색led만 켜져야 하는데 (파일1 참고) 둘다 켜져있고 (파일 2 참고) 시리얼 통신도 초록색led기준으로 0~255가 나와야 하지만 그렇지가 않습니다(파일3참고). 이건 기계 또는 코드 오류인가요?
int sw1_pin=8,LED_pin=3,LED_pin2=9;
//
int val=0;
//
void setup(){
analogWrite(9,255);
Serial.begin(9600);
}
//
void loop(){
if(digitalRead(8)){
for(int i=0;i<=255;i++){ analogWrite(3,i); analogWrite(9,255-i); delay(10); }
for(int i=255;i>=0;i--){ analogWrite(3,i); analogWrite(9,255-i); delay(10); }
}
val=analogRead(3)/4;
analogWrite(LED_pin,val);
Serial.println(val);
delay(10);
}
댓글 1
조회수 2,482master님의 댓글
master 작성일
LED는 작은 전류에도 밝게 빛을 냅니다.
정상적으로 동작하는 것이지만 사람의 눈으로는 빛을 보고 PWM 값을 추측하기 어렵죠
//
디지털 핀을 analogRead() 하지 못합니다.
A0~A5 핀만 analogRead() 할 수 있습니다.
3번핀의 PWM값을 시리얼 통신으로 보고 싶은 건가요?
void loop(){
if(digitalRead(8)){
for(int i=0;i<=255;i++){ analogWrite(3,i); analogWrite(9,255-i); Serial.println(i); delay(10); }
for(int i=255;i>=0;i--){ analogWrite(3,i); analogWrite(9,255-i); Serial.println(i); delay(10); }
}
delay(10);
}