FastLEDの基本
このInstructablesでは、FastLEDプログラムを作成する方法と、FastLedライブラリを使用する方法について説明します。 また、独自のカラーパターンを設計するためのコーディング方法についても説明します。 このライブラリは、WS2811、WS2812、Neopixelなど、さまざまなLEDコントローラーに付属するさまざまなタイプのLEDストリップをサポートしています。
さぁ、始めよう
ステップ1:始める前に:



1. Arduino Uno
2. ws2811または他のようなコントローラを持つLEDストリップ
3.導かれたストリップの評価による電源。
ステップ2:ライブラリを含める:

ここからFastLEDライブラリをダウンロードします。
//github.com/FastLED/FastLED
このライブラリをArduino IDEに含めます。
ステップ3:LEDストリップのセットアップ:



LEDストリップを電源に接続します。 LEDストリップのデータピンは、コードで選択したデジタルピンに接続されます。 LEDストラップとArduinoのグランドを互いに接続する必要があることを確認してください。
neopixel ledストリップを使用するか、安価なledストリップを市場から購入し、マスターコントローラーを備えたledストリップの最初のledセクションを削除する必要があります。 次のシリーズのLEDから、neopixelストリップとして使用できます。 しかし、中国語のLEDストリップでは、1つのicが3つのLEDを直列に制御します。つまり、各ピクセルは3つのLEDピクセルに等しくなります。 最初のICにデータを書き込むと、そのICに接続されている3つのLEDが点灯します。 だから私はこのタイプの安価なLEDストリップを使用しています。これは、7個のicを直列に制御し、21個を3個のLEDの束として導いたものです。
接続:
Arduino:デジタルピン6 ---> LEDストリップのDINピン
gnd ---> LEDストリップのGnd
電源:正の端子---> LEDストリップの+ vcc
gnd ---> LEDストリップのgnd
ステップ4:ヘッダーファイルと定数:
このチュートリアルのクレジットは//github.com/FastLED/FastLED/wiki/Basic-usag ...
より詳細な情報については、このリンクをご覧ください。
それでは始めましょう...
#含める //ヘッダーファイル
#define NUM_LEDS 60 //ストリップに存在するledの数
#define DATA_PIN 6 // Arduinoのデジタルピン
CRGB leds [NUM_LEDS];
ステップ5:Void Setup()
あなたのLEDストリップタイプに応じて、適切なボイドセットアップ機能を選択します
void setup(){
FastLED.addLeds < NEOPIXEL、DATA_PIN > (leds、NUM_LEDS);
}
または
void setup(){
FastLED.addLeds (LED、NUM_LEDS);
}
または
void setup(){
FastLED.addLeds (LED、NUM_LEDS);
}
または
void setup(){
FastLED.addLeds (LED、NUM_LEDS);
}
または
void setup(){
FastLED.addLeds (LED、NUM_LEDS);
}
ステップ6:LEDを点灯:



//私のストリップでは、1ピクセルは3 LEDに等しいため、コード3のように1 LEDを点灯すると、LEDが点灯しました
//これは、私のledストリップで3つのledが直列に接続され、12vでws28111によって制御されるためです
// leds [led no。]は配列です
void loop(){
leds [0] = CRGB :: Green; // 1番目を緑に点灯
FastLED.show(); // LEDストリップに関数を適用します
delay(30);
}
まばたき...
void loop()
{leds [0] = CRGB :: Blue;
FastLED.show();
delay(200);
leds [0] = CRGB :: Black;
FastLED.show();
delay(200);
}
ステップ7:LEDチェイサー:


//追いかける
void loop()
{
for(int dot = 0; dot <NUM_LEDS; dot ++)
{leds [dot] = CRGB :: Red;
FastLED.show();
leds [dot] = CRGB :: Black;
delay(300);
}
}
//後方追跡
void loop()
{for(int dot = NUM_LEDS; dot> = 0; dot--)
{leds [dot] = CRGB :: Red;
FastLED.show();
leds [dot] = CRGB :: Black;
delay(300);
}
}
//両方を追いかけます
void loop()
{for(int dot =(NUM_LEDS-1); dot> = 0; dot--)
{
leds [dot] = CRGB :: Green;
FastLED.show();
leds [dot] = CRGB :: Black;
delay(300);
}
for(int dot = 0; dot <NUM_LEDS; dot ++)
{leds [dot] = CRGB :: Red;
FastLED.show();
leds [dot] = CRGB :: Black;
delay(300);
}
}
ステップ8:シリアルグロー:



void loop()
{
for(int dot =(NUM_LEDS-1); dot> = 0; dot--)
{leds [dot] = CRGB :: HotPink;
FastLED.show();
delay(300);
}
for(int dot = 0; dot <NUM_LEDS; dot ++)
{
leds [dot] = CRGB :: Blue;
FastLED.show();
delay(300);
}
}