embeded/arduino(genuino)

arduino nano PWM 출력

구차니 2020. 4. 17. 23:15

arduino nano 에서는 D3 / D5 / D6 / D9 / D10 / D11 만 PWM 출력을 지원하고

PWM을 지원하지 않는 핀에서 시도할 경우 128을 기준으로 on/off로만 출력이 되는 것으로 보인다.

 

비싼(!) RGB LED 대신 집에 굴러 다니는

RED / GREEN / AMBER 를 글루건으로 붙여서 테스트~

 

아무튼.. 먼가 만들려고 하는데 PWM 출력을 쓰고 싶다면..

핀에 제한이 될 수 밖에 없구나.. 배선을 좀 고민을 해봐야겠다.

 

int led_r = 9;
int led_g = 10;
int led_y = 11 ;
int val = 0;
int dir = 0;

void setup() {
  // put your setup code here, to run once:
  pinMode(led_r, OUTPUT);
  pinMode(led_g, OUTPUT);
  pinMode(led_y, OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
  analogWrite(led_r, val);
  analogWrite(led_g, val);
  analogWrite(led_y, val);
  if(dir == 0)
  {
    val = val + 1;
    if(val >= 255)
      dir = 1;
  }
  else
  {
    val = val - 1;
    if(val == 0)
      dir = 0;
  }
  delay(2);
}

 

[링크 : https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/]