■RGBLEDとは
RGBLEDとは、その名の通りRGB(Red, Green, Blue)の三原色の光が一つの素子で出せるようになっているLEDです。
■種類
・普通のフルカラーRGBLED
・表面実装用フルカラーRGBLED
■部品一覧
・ESP8266-CH340開発ボード
・カソードコモン型RGBLED
・SMDRGBLEDモジュール
・WS2812B-5050LED
・ブレッドボード
・USBケーブル
・ジャンパーワイヤー
■サンプル1ー単色切替
配線図:
プログラム:
#define B 4 // D2#define R 14 // D5#define G 12 // D6void setup() {pinMode(R, OUTPUT);pinMode(G, OUTPUT);pinMode(B, OUTPUT);}void loop() {digitalWrite(R, HIGH);digitalWrite(G, LOW);digitalWrite(B, LOW);delay(1000);digitalWrite(R, LOW);digitalWrite(G, HIGH);digitalWrite(B, LOW);delay(1000);digitalWrite(R, LOW);digitalWrite(G, LOW);digitalWrite(B, HIGH);delay(1000);}
効果:
■サンプル2ー任意色
ESP8266の一部ピンはPWM出力できます。単純なHIGH、LOWの数字出力ではなく、0-255の範囲が出力可能ので、RGBの各数字を組み合わせて、任意の色が表示できます。
上記のD2,D5,D6ピンは全部PWM出力が可能です。
今回はカソードコモン型RGBLEDを利用します。
プログラムは下記ように調整します:
#define B 4 // D2#define R 14 // D5#define G 12 // D6void setup() {pinMode(R, OUTPUT);pinMode(G, OUTPUT);pinMode(B, OUTPUT);}void loop() {// 紫色analogWrite(R, 247);analogWrite(G, 130);analogWrite(B, 247);delay(1000);}
効果:
■サンプル3ーWS2812B-5050LED
WS2812B-5050LEDモジュールは内蔵マイコンがあります。
ピン情報はこのようなことです。
VCC:5V電源(ESP8266開発ボードのVU(V)ピン)
GND:GND
DIN:データインプット
DOUT:データアウトプット
DINとDOUTは違いところですが、もう一番重要なことです。
DINは最大800KBデータがインプットできます、一つのWS2812B-5050LEDを経過すると24B(RGB各8bit)を取得し、残りデータは次のWS2812B-5050LEDに渡します。で、沢山なLEDを同時的にコントロールが可能になりました。
このイメージです。
#include <Adafruit_NeoPixel.h>#define PIN 0 // D3#define NUMPIXELS 1 // LED数Adafruit_NeoPixel led(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);void setup() {led.begin();led.setBrightness(10); // 明るさ}void loop() {led.setPixelColor(0,led.Color(255,0,0)); // 赤led.show();delay(1000);led.setPixelColor(0,led.Color(0,255,0)); // 緑led.show();delay(1000);led.setPixelColor(0,led.Color(0,0,255)); // 青led.show();delay(1000);led.clear();led.show();delay(1000);}



0 件のコメント:
コメントを投稿