RGBLED-FUNX

ショップ


製品概要

WS2812Bを12+1個搭載したカラーLED基板です。1本の制御信号で12+1個のカラーLEDを制御できます。

高密度で実装できる小さなカラーLEDを12個と、パッケージ内のICや3色のLEDを目視できる標準的なサイズのカラーLEDを1個搭載しています。

RGBLEDを使用した鮮やかな発色の応用を楽しむことができます。

TRYGEARシリーズではRCサーボ端子に接続して利用することができます。

教育的な観点では、LEDの明るさを抑えて発光させると、大きめのRGBチップでは、赤、緑、青のLEDが違う場所に個別に設置されていることと、その横にゴマ粒より小さな制御用のICが設置されていることを確認できます。驚くべきことに、この極めて小さな制御用ICには、1本線で明るさを制御するための通信機能と、通信機能で指示された3色のLEDの明るさを個別に制御する機能が組み込まれています。また、この極めて小さく高機能なICが大量に使用されている安価なRGBLEDチップの一つ一つに組み込まれるほど低コストで生産されていることも驚くべきことです。

プログラミング

3つのタクトスイッチを押すと、それぞれRGB LEDの赤、緑、青のLEDが点灯するプログラムを示します。それぞれのスイッチを押すと、RGB LEDチップ内で、違う位置で各色のLEDが発光していることを確認できます。また、複数のスイッチを一緒に押し、少し離れてみると混色で赤、緑、青以外の色が表現できることもわかります。

高校の情報Iの教科書にも原理の説明が書いてありますね。

#include "TRYGEAR.h"

#include <Adafruit_NeoPixel.h>
#define LED_COUNT  13
#define BRIGHTNESS 5 // max = 255

Adafruit_NeoPixel strip(LED_COUNT, RGB, NEO_GRB + NEO_KHZ800);

void setup() {
  strip.begin();           // INITIALIZE NeoPixel strip object (REQUIRED)
  strip.show();            // Turn OFF all pixels ASAP
  strip.setBrightness(BRIGHTNESS);

  pinMode(SW1, INPUT_PULLUP) ;
  pinMode(SW2, INPUT_PULLUP) ;
  pinMode(SW3, INPUT_PULLUP) ;
}

void loop() {
  int r = 0, g = 0, b = 0 ;

  if (digitalRead(SW1) == LOW)
     r = 255 ;
  if (digitalRead(SW2) == LOW)
     g = 255 ;
  if (digitalRead(SW3) == LOW)
     b = 255 ;

  strip.setPixelColor(0, strip.Color(127, 127, 127));
  strip.setPixelColor(6, strip.Color(  r,   g,   b));
  strip.setPixelColor(12, strip.Color( r,   g,   b));
  strip.show(); // Update strip with new contents
  delay(100) ;
}

回路図


関連製品

TRYGEAR-VIZ-RP2350B

TRYGEAR-NET-ESP32-S3

TRYGEAR-DASH-RP2350A

TRYGEAR-DASH-RP2040

TRYGEAR-DASH-RP2040