2022年7月15日金曜日

RGB(フルカラー)LEDの様々

■RGBLEDとは

 RGBLEDとは、その名の通りRGB(Red, Green, Blue)の三原色の光が一つの素子で出せるようになっているLEDです。 

■種類

普通のフルカラーRGBLED



・表面実装用フルカラーRGBLED



・マイコン内蔵型フルカラーRGBLED

■部品一覧

ESP8266-CH340開発ボード

カソードコモン型RGBLED

SMDRGBLEDモジュール

WS2812B-5050LED

ブレッドボード

USBケーブル

ジャンパーワイヤー

■サンプル1ー単色切替

 配線図:

 

    プログラム:

#define B 4 // D2
#define R 14 // D5
#define G 12 // D6
void 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 // D6
void 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 件のコメント:

コメントを投稿

シンプルロボットカーセットの使い方

■ マイコン :ESP3266-CH340  シンプルの案として、マイコンは安いESP8266-CH340開発ボードを選びました。該当マイコンもWIFI機能があります。  ドライバーダウンロード場所:    https://sparks.gogo.co.nz/ch340.html...