본문 바로가기

아두이노

아두이노 / 아날로그 출력신호(PWM)로 LED 밝기 제어하기

설명

PWM신호를 통해 LED 제어 또는 DC 모터 제어등을 할 수 있다.

파형에서 HIGH가 차지하는 비율을 duty ratio라고 한다.

 

회로

 

회로 설명

 

구성된 회로를 통해 3번 핀에서 발생하는 PWM신호와 5번 핀에서 발생하는 PWM 신호는 duty ratio를 조절할 수 있지만 주기는 서로 다르다는 것을 확인 할 수 있다.

(3번과 5번의 주기는 2배정도 차이난다고 볼 수 있음)

 

 

PWM 신호를 통해 LED  밝기 제어하는 회로

듀티 비율이 큰 경우 더 밝음

 

코드

// C++ code
//
void setup() { /// 아날로그는 핀번호 설정 안해도 돼
	
}

void loop() {
	analogWrite(3, 64); /// 0 ~ 255 8bit 모드의 timer사용
  	delay(1000);
  	analogWrite(3, 128);
  	delay(1000);
  	analogWrite(3, 192);
  	delay(1000);
  	analogWrite(3, 255);
  	delay(1000);
}

 

설명

analogWrite(3, 128); 은 3번핀을 통해 아날로그 신호를 출력한다. 두번째 전달인자로 255를 전달하는 경우 All HIGH이며, 128인 경우 0.5의 duty ratio를 갖는다.

 

추가설명

PWM 신호를 발생시킬 때 사용하는 timer는 8비트 모드이므로 0 ~ 255사이 값을 통해 duty ratio를 조절할 수 있다