[ESP32]3色フルカラーLED SMD(KY-009)with Arduino IDE

ESP32

[ESP32]3色フルカラーLED SMD(KY-009) with Arduino IDE

はじめに

KY-009 は、3色フルカラーLED SMDです。

LED の中でも SMD(表面実装型)の LED です。砲弾型の LED に比べて、1個あたりの輝度はそこまで高いわけではありませんが、同面積に配置できる数を多くすることができます。

KY-009 は、こちらのスターターキットの一部です。

開発環境

OS : Windows 11 Pro
ESP32:ESP-WROOM-32
統合開発環境 : Arduino IDE 2.3.2
Arduino core for the ESP32:2.0.17
使用ライブラリ:なし

使用パーツ

ESP32開発ボード(38Pin)

ESP32 Development Board ESP-32S NodeMCU-32S MICRO/TYPE-C Wireless Module WiFi+Bluetooth ESP-WROOM-32 IOT Expansion Board - AliExpress 502
Smarter Shopping, Better Living! Aliexpress.com

電子工作ステーション https://electronicwork.shop/items/64134541d91711003035a5a6

3色フルカラーLED SMD(KY-009)

ジャンパーワイヤー(メスーメス)

電子工作ステーション https://electronicwork.shop/items/637f92415988dc5175f8a9ec

ブレッドボード

電子工作ステーション https://electronicwork.shop/items/622568eb4773a34f1c2e0966

抵抗

作業内容

配線図

KY-009 とは GPIO21,GPIO22,GPIO 23 を使用して接続します。
LED の焼損を防ぐために、ボードと ESP32 の間に抵抗器を使用する必要があります。

KY-009ESP32開発ボード(38Pin)
GND
RGPIO21
GGPIO22
BGPIO 23

ライブラリインストール

なし

スケッチ作成

#define LED_RED   21
#define LED_GREEN 22
#define LED_BLUE  23

int val;

void setup () {
  pinMode (LED_RED, OUTPUT); 
  pinMode (LED_GREEN, OUTPUT); 
  pinMode (LED_BLUE, OUTPUT); 
}

void loop () {
  for (val = 255; val> 0; val--)
  {
    analogWrite (LED_RED, val);
    analogWrite (LED_GREEN, 255-val);
    analogWrite (LED_BLUE, 128-val);
    delay (10);
  }
  delay (1000);
  for (val = 0; val <255; val++)
  {
    analogWrite (LED_RED, val);
    analogWrite (LED_GREEN, 255-val);
    analogWrite (LED_BLUE, 128-val);
    delay (10);
  }
  delay (1000);
}
コード説明

使用するGPIOピンを設定します。

#define LED_RED   21
#define LED_GREEN 22
#define LED_BLUE  23

使用するGPIOピンをインプットに設定します。

  pinMode (LED_RED, OUTPUT); 
  pinMode (LED_GREEN, OUTPUT); 
  pinMode (LED_BLUE, OUTPUT); 

パルス幅変調 [PWM]を使用するので、analogWrite で出力します。
デジタル出力(digitalWrite)でも問題ありませんが、analogWrite では0,1以外の中間値を指定することができます。

    analogWrite (LED_RED, val);
    analogWrite (LED_GREEN, 255-val);
    analogWrite (LED_BLUE, 128-val);
    analogWrite (LED_RED, val);
    analogWrite (LED_GREEN, 255-val);
    analogWrite (LED_BLUE, 128-val);
動作確認

徐々に変化する色が点灯できれば成功です。

おわりに

コメント

タイトルとURLをコピーしました