1. ホーム
  2. arduino

[解決済み] ArduinoでLEDストリップに虹色の波を作るには?

2022-02-15 20:34:12

質問

Arduino nanoをコントローラとして使用して、LEDストリップにいくつかのエフェクトを作りたいのですが、どうすればいいですか?

今のところ、基本的なことは何とかできました(各ledの静止色が同じで、各ledが同時にカラーフェードする)。 虹のような効果を得ることができましたが、基本的にはすべてのledで同時にカラースペクトルを循環させるだけです。

私が欲しいのは レインボーウェーブ 色彩が一方向に移動し、互いにフェードイン/チェイスしているような状態。

解決方法は?

このようなものをお望みではないでしょうか。

私はこれにFastLEDライブラリを使用していますが、別のLEDライブラリで動作させるためにコードを少し変更することができると思います。

#include <FastLED.h>

#define NUM_LEDS 60      /* The amount of pixels/leds you have */
#define DATA_PIN 7       /* The pin your data line is connected to */
#define LED_TYPE WS2812B /* I assume you have WS2812B leds, if not just change it to whatever you have */
#define BRIGHTNESS 255   /* Control the brightness of your leds */
#define SATURATION 255   /* Control the saturation of your leds */

CRGB leds[NUM_LEDS];

void setup() {
  FastLED.addLeds<LED_TYPE, DATA_PIN>(leds, NUM_LEDS);
}

void loop() {
  for (int j = 0; j < 255; j++) {
    for (int i = 0; i < NUM_LEDS; i++) {
      leds[i] = CHSV(i - (j * 2), SATURATION, BRIGHTNESS); /* The higher the value 4 the less fade there is and vice versa */ 
    }
    FastLED.show();
    delay(25); /* Change this to your hearts desire, the lower the value the faster your colors move (and vice versa) */
  }
}