본문 바로가기
아두이노

아두이노 가변저항으로 led 밝기 제어

by SwMaker_Jun 2021. 11. 2.
728x90
반응형

1. 가변저항 활용 led 밝기 제어

     - PWM을 활용하여 디지털 핀에서 led 밝기 제어를 한 내용이 있습니다. 

 

https://swmakerjun.tistory.com/9?category=504316 

 

아두이노 메이커_03_ PWM 활용 led 밝기 제어

1. PWM (Pulse Width Modulation) - 펄스 폭 변조(PWM) : 디지털 핀에서 아날로그 방식으로 출력하는 방법 - 펄스의 폭을 조절하여 전압값을 조절 - 디지털신호 0과 1의 비율을 조절   ※ 특정 시간동안 0과 1

swmakerjun.tistory.com

 

     - PWM 복습이 완료 되었으면 아래 회로를 연결해 보자.

     - 가변저항 led 제어 수업처럼 회로를 아래와 같이 연결해 보자.

 

https://swmakerjun.tistory.com/14?category=504316 

 

아두이노 조건문활용 (가변저항으로 led 제어)

1. 조건문 ( if, else if, else)  - 아두이노는 C 언어 문법구조를 사용하고 있고 if 문 선언은 (  ) 소괄호 안에 조건식을 입력하고 { } 중괄호  안에 실행해야할 명령어 코드를 작성한다.  - 조건문은

swmakerjun.tistory.com

 

PWM 제어를 위한 회로

 

     - PWM 제어를 위해 디지털 포트 중  " ~  "이 붙어있는 번호 핀을 활용할 것.

     - 가변저항은 0 ~ 1023의 범위로 데이터를 받아오고

     - 디지털에서 PWM 출력은  0 ~ 255 범위를 갖는다.

     - 핵심은 가변저항 범위를 PWM 범위로 바꿔주면 가변저항으로 led 밝기를 출력할 수 있다.

 

PWM 제어 코드

  

 

 

int red=3;

void setup() {
  pinMode(red,OUTPUT);
  Serial.begin(9600);
}

void loop() {
  int reading=analogRead(0);   // 가변저항 값을 reading 변수에 대입  [ 0 ~ 1023 범위 ]
  int pwm=reading/4;            // 가변저항 범위를 PWM 범위로 나타내기 위해 1/4로 연산처리 하여 pwm 변수에 대입
  Serial.print("PWM = ");
  Serial.println(pwm);             // pwm 변수값은 연산으로 인해 0 ~ 255 범위로 변환

  analogWrite(red,pwm);        // 디지털 3번 핀에서 아날로그 값을  pwm 변수 값으로 출력
}

 

// swmaker_jun

 

 

 

728x90
반응형