[ESP32]3色RGB LED(KY-016) with Arduino IDE
はじめに
KY-016 は、3色RGBLEDです。
3色RGBLEDと抵抗が基板上に接続されています。
赤・緑・青の3色が一つになっているLEDです。それぞれの色の強さを制御することにより、様々な色で点灯させることができます。
KY-016 は、こちらのスターターキットの一部です。
開発環境
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色RGBLED(KY-016)
リンク
ジャンパーワイヤー(メスーメス)
リンク
電子工作ステーション https://electronicwork.shop/items/637f92415988dc5175f8a9ec
作業内容
配線図
KY-016 とは GPIO21,GPIO22,GPIO 23 を使用して接続します。
KY-016 | ESP32開発ボード(38Pin) |
– | GND |
R | GPIO21 |
G | GPIO22 |
B | GPIO 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);
動作確認
徐々に変化する色が点灯できれば成功です。
コメント