03 Arduino에서 LED PWM을 사용하여 밝기 조절
4620 단어 ArduinoUno초학자
LED 밝기 조정 방법
LED의 밝기(밝기)를 조정하는 방법.
① 가하는 전압 변경
② IF 감소
③ 빛을 발하는 시간과 사라지는 시간의 차이를 벌린다
방법
마이크로컴퓨터 등 간단하게 제어할 수 있고 ③의 방식을 간단하게 사용할 수 있다
먼저
robot19_base
PORTD = 0x01; delay(10);
PORTD = 0x00; delay(100);
기술해 보았다.LED가 깜박거릴 수 있지만 빛나는 시간도 10ms가 되고 눈이 아플 수 있다
이 동작이 조금 더 빠르면 어떨까요? delay 함수의 시간을 줄일게요.
단, 1ms 이하는 안 됩니다. 주의하세요.
이 시간차는 마치 Dutybi라고 불리는 것 같다.
이어서 이 비율을 연속으로 바꿔보도록 하겠습니다.
robot19_base
int i,j;
for(j=0;j<10;j++){
for(i=0;i<100;i++){
PORTD = 0x01; delay(j);
PORTD = 0x00; delay(10-j);
}
}
<결과> 밝기가 단계적으로 변경되었습니다.연속적으로 밝기를 바꾸기 위해서.
소프트 컨트롤도 어려워요.
PWM 신호 및 analogWrite()
Arduino에는 analogWrite () 함수가 있는데, 이것을 사용하면 LED의 밝기를 바꿀 수 있습니다.
analogWrite(6,i) //第1引数 6・・・出力ポート 第2引数 i・・・値0~255
이 함수를 사용하면 PWM이라는 기능을 간단하게 사용할 수 있지만, 하드웨어적으로 신호가 생성되기 때문에 어떤 인덱스도 사용할 수 있는 것은 아닌 것 같다.아두노 언노에서는 디지털 출력의 3, 5, 6, 9, 10, 11개의 마중물을 PWM에 사용할 수 있다.
이 기능을 이용해 LED의 밝기를 연속적으로 바꾸어 보았다.
Robot19_base
int i,j;
for(j=0;j<10;j++){
for(i=0;i<255;i++){
analogWrite(6,i);
delay(100);
}
}
LED 6만 서서히 밝아졌다가 갑자기 어두워졌다가 다시 서서히 밝아졌다.PWM의 구조
PWM(Pulse Width Modulation)은 간단히 전압 등을 제어하는 방법 중 하나로 주기당 1(접속)과 0(끊기) 시간을 가변할 수 있는 기술, 펄스 폭에 비례하는 전압을 얻을 수 있다.
다음 예에서 매 주기마다 1개의 시간과 0개의 시간이 변화한다
첫 번째 주기는 20%의 작동 시간입니다.
이렇게 하면 평균 ON시 전압의 20%(즉 5[V]*20[%]=1.00[V])를 얻을 수 있다.
또 이때 ON의 시간을 점공비(Duty Cycle)라고 부른다.이것은 출력 전압이 최대 전압에 대한 비율이다.
[확인].
50% LED 밝기 조절
20% 및 80% LED 2개 활성화
사이트 축소판 그림
참조된 페이지는 다음과 같습니다.
매우 통속적이고 알기 쉽게 총결하다.
감사합니다.
[PWM 정보]
Reference
이 문제에 관하여(03 Arduino에서 LED PWM을 사용하여 밝기 조절), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mat-MUNET/items/1ef0affa49b1177815eb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)