Image

창의실험실 → 여러 LED의 무작위 페이드인

출판 날짜: 05.09.2024

여러 LED의 무작위 페이드인


Arduino 스케치:

const int ledCount = 6;
const int ledPins[ledCount] = {3, 5, 6, 9, 10, 11};
int brightness[ledCount];
int fadeDirection[ledCount];
int speed = 10;
unsigned long previousMillis = 0;

void setup() {
  for (int i = 0; i < ledCount; i++) {
    pinMode(ledPins[i], OUTPUT);
    brightness[i] = 0;
    fadeDirection[i] = random(1, 3) == 1 ? 1 : -1;
  }
}

void loop() {
  unsigned long currentMillis = millis();

  if (currentMillis - previousMillis >= speed) {
    previousMillis = currentMillis;

    for (int i = 0; i < ledCount; i++) {
      brightness[i] += fadeDirection[i] * random(1, 6);

      if (brightness[i] >= 255) {
        brightness[i] = 255;
        fadeDirection[i] = -1;
      } else if (brightness[i] <= 0) {
        brightness[i] = 0;
        fadeDirection[i] = 1;
      }
      analogWrite(ledPins[i], brightness[i]);
    }
  }
}

이 예에서는 PWM을 사용하여 LED를 무작위로 부드럽게 켜고 끄는 경우를 보여줍니다. 다이오드는 Arduino Nano 보드의 PWM 핀에 연결되어 있습니다.





No Comments Yet