ESP8266を使用してWS2812Bでスマートライトを作成するにはどうすればよいですか
まず、いくつかのコンポーネントが必要になります。
* Nodemcu ESP8266 CP2102
* WS2812B 1M PCBホワイト30LEDS/MウォータープルーフLED TIRAなし
*ロジックレベルコンバーター3.3Vから5Vビドレクシオン（レベルコンバーター）
*食物源5V 8A 40W

さらに、コントローラーをスケジュールする必要があります。

私たちは、AdafruitのNeopixelライブラリを手伝います。
プラットフォームでは、ライブラリは28番です。
また、その例コードを使用します（配置するコントロールピンのみ（PIN）、LED番号を制御（Numpixels）に変更する必要があります。
``
// neopixelリングシンプルスケッチ（c）2013シェーエリソン
// GPLV3ライセンスの下でスリープして、Adofruit Neopixelライブラリの残りの部分を一致させる

#include <adefruit_neopixel.h>
#ifdef __avr__
  #include <avr/power.h>
#endif

// arduinoのどのピンがネオピクセルに接続されていますか？
// TrinketまたはGemmaで1に変更することをお勧めします
#defineピン6

// Arduinoにいくつのネオピクセルが接続されていますか？
#define numpixels 16

// neopixelライブラリを設定すると、ピクセルの数と、信号を送信するために使用するピンの数が表示されます。
//古いneopixelストリップの場合、3番目のパラメーターを変更する必要がある場合があることに注意してください。
//可能な値の詳細については、例。
adefruit_neopixel pixels = adefruit_neopixel（numpixels、pin、neo_grb + neo_khz800）;

int delayval = 500;// 0.5秒間遅延します

void setup（）{
  //これはTrinket 5V 16MHz用です。Trinketを使用していない場合は、3行を削除できます
#if defined（__avr_attiny85__）
  if（f_cpu == 16000000）clock_prescale_set（clock_div_1）;
#endif
  // Trinket特別コードの終わり

  pixels.begin（）;//これにより、NeoPixelライブラリが初期化されます。
}

void loop（）{

  //ネオピクセルのセットの場合、最初のネオピクセルは0、2番目は1、ピクセルのカウントから1を引いたカウントまでずっと1です。

  for（int i = 0; i <numpixels; i ++）{

    // pixels.colorは、0.0.0から255,255,255までのRGB値を取得します
    pixels.setpixelcolor（i、pixels.color（0.150.0））;//適度に明るい緑色。

    pixels.show（）;//これにより、更新されたピクセルの色がハードウェアに送信されます。

    遅延（delayval）;//一定期間（ミリ秒単位）。

  }
}
``
 


別の例、虹の効果は次のとおりです。
``
#include <adefruit_neopixel.h>

//定数は変更されません。ここで使用されています
//ピン番号を設定します：
const int ledpin = 4;// neopixelストリップの数
const int numleds = 30;

// adofruit_neopixel pixels = adefruit_neopixel（8、ledpin）;
adefruit_neopixelストリップ= adefruit_neopixel（numleds、ledpin、neo_grb + neo_khz800）;


//値0〜255を入力して、値の色を取得します。
//色は遷移r -g -b -rに戻ります。
uint32_tホイール（byte wheelpos）{
  if（wheelpos <85）{
    return strip.color（wheelpos * 3、255 -wheelpos * 3、0）;
  }
  else if（wheelpos <170）{
    wheelpos- = 85;
    Return Strip.color（255 -wheelpos * 3、0、wheelpos * 3）;
  }
  それ以外 {
    wheelpos- = 170;
    return strip.color（0、wheelpos * 3、255 -wheelpos * 3）;
  }
}

void Rainbow（uint8_t wait）{
  uint16_t i、j;

  for（j = 0; j <256; j ++）{
    for（i = 0; i <strip.numpixels（）; i ++）{
      strip.setpixelcolor（i、wheel（（i*1+j）＆255））;
    }
    Strip.show（）;
    遅延（待機）;
  }
}





void setup（）{
  strip.begin（）;
  Strip.SetBrightness（80）;// 1/3の明るさ

}

void loop（）{
  虹（30）;
  遅延（10）;
}
``