[ESP32]3色RGB LED(KY-016)with Arduino IDE

ESP32

[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-016ESP32開発ボード(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をコピーしました