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);

}

}

関連記事