왕초보의 개발 공부/아두이노 공부하기

아두이노 LED 밝기 제어하기, 디지털 신호 아날로그 신호로 , PWM 개념

봉구C 2025. 4. 5. 08:00
728x90
반응형
SMALL

 

 

이번엔 아두이노 LED 밝기를 제어해보겠습니다. 

 

 

전류를 넣어 주고 다시 순환하여 빠져나갈 수 있게 GND(그라운드) 을 연결 해주고 220옴 저항을 달아주었습니다. 

왜 220옴 저항을 달아야 하는지는 지난 포스팅을 참고 부탁드립니다. 

 

2025.03.24 - [왕초보의 개발 공부/아두이노 공부하기] - 아두이노 for 문을 이용한 LED 제어하기 , 풀다운 스위치로 LED 제어하기(교재 예시 그림 오류 있음, 수정)

 

아두이노 for 문을 이용한 LED 제어하기 , 풀다운 스위치로 LED 제어하기(교재 예시 그림 오류 있음,

예제 출처:  한번에 이해되는 아두이노   LED 3개를 하나씩 시간차를 두고 깜박이게 하기  ( 켜짐과 꺼짐, 딜레이에 반복문을 주어 코드 응용하였습니다. )   아두이노 LED 깜박이기 아두이노

bong9c.tistory.com

 

 int led1= 5;
 int led2 = 11;
  

void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop()
{
  analogWrite(led1, 50);
  analogWrite(led2, 255);
}

 

여기서 analogWrite() 는 전류를 흘려주는 출발점입니다. 

출력모드 pinMode(led1, OUTPUT)을 설정해주고 아두이노의 5번 핀과 11번에 전류를 넣어줍니다. analogWrite() 함수로 전류의 세기를 제어할 수 있습니다. 

 

 

 

이전 포스팅에서는 digitalWrite() 로 디지털 신호로 LED 를 제어했습니다. 

켜고 끄기만 조정을 할 수 있고 빛의 세기는 조절 할 수 없었습니다. 

 

제가 지금 하고 있는건 analogWrite()는 PWM 를 이용한 것입니다. 

제가 핀을 5번과 11번에 연결 하였고 해당 핀은 analogWrite() 로 사용 가능합니다. 

PWM 이란 Pulse Width Modulation 펄스 폭 변조라는 뜻으로 디지털 신호를 가지고 아날로그 신호처럼 흉내내는 기술입니다. 

( PWM이 가능한 핀 (Uno 기준):
3, 5, 6, 9, 10, 11번)

아날로그 값은 0부터 255까지 지정할 수 있습니다. 

저는 led1 는 아날로그 값 50까지, led2 는 255까지 지정해두어 밝기 세기의 변화를 주었습니다. 

 

아두이노는 5V 와 0V 처럼 딱 두 가지 값만 줄 수 있습니다. 밝기를 조절하려면 5V와 0V 사이의 값도 필요합니다. 

그렇기 때문에 아두이노는 신호를 매우 빨리 켜고 끄는 것으로 밝기를 조절하는 겁니다.

 

아두이노는 PWM 을 출력 할 때 보통 490Hz로 신호를 켜고 끄는데 1초에 약 490번 켜고 끄고를 반복한다는 뜻입니다. 

만약 analogWrite(led1, 50)이라면 50 ÷ 255 ≈ 0.196 해서 19.6% 의 밝기면 켜져 있으라 명령한 것이 됩니다.

490번 중 19.6% → 약 96번 켜져 있음

나머지 394번은 꺼져 있음. 그렇기 때문에 사람 눈에는 어두워 보이는 것입니다. 

 

 

아래 코드는 서서히 밝아졌다 서서히 꺼지는 반복문을 이용한 코드입니다. 

 

int led1 = 5;
int led2 = 11; 

void setup() {
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
}

void loop() {
  for (int i = 0; i <= 255; i++) {
    analogWrite(led1, i);
    analogWrite(led2, i);
    delay(10);
  }

  for (int i = 255; i >= 0; i--) {
    analogWrite(led1, i);
    analogWrite(led2, i);
    delay(10);
  }
}

 

 

오늘은 아두이노의 PWM 의 개념과 디지털 신호를 아날로그 신호로 보이게끔 하는 방법을 공부해보았습니다. 

디지털 신호를 이용하는 대표적인전 ON/OFF 전원 스위치 , 아날로그 신호를 이용하는 대표적인건 밝기가 조절되는 무드등 같은 것들이겠지요.

 

요즘 공부하는 진도가 많이 느린 것 같습니다. 하지만 조급해 하지 않도록 매일 다짐합니다. 저는 조급하면 빨리 질리고 포기하게 되는 타입이니까요. 뭐든 포기하고 멈추지만 않으면 된다는 것입니다. 

 

감사합니다. ❤️ 

 

 

 

 

 

 

728x90
반응형
LIST