[Arduino] 11 볼륨처럼 조절하기

exercise

Pot(Potentiometer)로 LED 밝기 조절, 켜진 LED 개수 조절해 봅시다

material

10K Ω  Potentiometer​

LED(any color) 6개​

220 Ω resistor 6개 / 10K Ω resistor

circuit

code

int sensorpin = 2;​

int ledpins[] = {9,10,11,12,13};​
int numpin = 5;​
int pwmpin = 6;​
int val;​

void setup() {​
  Serial.begin(9600);​
  for(int i=0; i<numpin; i++) {​
    pinMode(ledpins[i], OUTPUT);​
  }​
}​

void loop() {​
  val = analogRead(sensorpin);​

  LightLEDs(0, 1023, 5); //function 호출​
  DimLED(0, 1023);​
}​

//function 정의​
void LightLEDs(int mim_range, int max_range, int num) {​
  int numleds = map(val, mim_range, max_range, 0, num);​
  numleds = constrain(numleds, 0, num);​

  for(int i=0; i<numleds; i++){​
    digitalWrite(ledpins[i], HIGH);​
  }​
  for(int j=numleds; j<numpin; j++) {​
    digitalWrite(ledpins[j], LOW);​
  }  ​
}​

void DimLED(int mim_range, int max_range) {​
  int brightness = map(val, mim_range, max_range, 0, 255);​
  brightness = constrain(brightness, 0, 255);​

  analogWrite(pwmpin, brightness);  ​
}

further exercise

[초급] 더 많은 LED를 가지고 켜지는 LED 개수를 조절해 봅시다

[중급] RGB LED를 써서 Pot을 돌리면 LED 색깔이 변하도록 해봅시다 (function 사용X)​

[고급] Pot을 돌릴 때 Kit 애니메이션하는 LED 개수를 조절해 봅시다 (function 사용X)