Raspberry Pi PicoとPWMでRGB LEDモジュールを制御しよう!初心者向けガイド

目次

はじめに

電子工作をしていると、光で状態を知らせたり、イルミネーションを作ったりしたくなる場面があります。そんなときに便利なのが、今回紹介する RGB LEDモジュール です。1つのLEDの中に「赤・緑・青」の3色が内蔵されていて、組み合わせ次第で好きな色を作れます。

RGB LEDモジュールの基本と仕組み

RGB LEDの内部は、次のように3つのLED素子が一つのケースにまとめられています。

  • R:赤色LED
  • G:緑色LED
  • B:青色LED

光の三原色と同じ原理で、各色の強さを調整することでさまざまな色を合成できます。
調整の方法としては、PWM(パルス幅変調) を用いるのが一般的です。PWMで各色の点灯時間を制御することで、明るさを滑らかに変えられます。

モジュールの特徴

今回のモジュールは「HW-479」などと呼ばれるタイプで、基板にあらかじめ抵抗がついているので、直接マイコンにつないでも安心して使えます。

ピン配列(例:共通カソードタイプ)

  • R:赤LED制御
  • G:緑LED制御
  • B:青LED制御
  • GND:共通カソード

3本の制御ピンにPWMを割り当てることで、色を自由に作ることが可能です。

Raspberry Pi Picoとの接続方法

Raspberry Pi PicoLEDモジュール
GND(38番)GND
GP16R
GP17G
GP18B

MicroPythonで動かしてみよう

次のように3本のPWM出力を使います。

from machine import Pin, PWM
import time

pwm_r = PWM(Pin(16))
pwm_g = PWM(Pin(17))
pwm_b = PWM(Pin(18))

for pwm in (pwm_r, pwm_g, pwm_b):
    pwm.freq(1000)

def set_rgb(r, g, b):
    pwm_r.duty_u16(r)
    pwm_g.duty_u16(g)
    pwm_b.duty_u16(b)

# 赤
set_rgb(65535, 0, 0); time.sleep(1)
# 緑
set_rgb(0, 65535, 0); time.sleep(1)
# 青
set_rgb(0, 0, 65535); time.sleep(1)
# 白(全部点灯)
set_rgb(65535, 65535, 65535)

身近な利用例

・スマート家電のステータス表示(青=待機、緑=動作中、赤=エラー)

・PCケースやオーディオのイルミネーション

・IoTデバイスで通知ライトとして利用(LINE通知時に光らせる等)

他の方式との比較

種類特徴制御のしやすさ
単色LEDモジュール1色のみ最も簡単
RGB LEDモジュール(今回)3色で自由に混色PWM制御が必要
アドレス指定可能LED(WS2812Bなど)1本の信号線で多数を制御プログラムがやや複雑

まとめ

RGB LEDモジュールは「シンプルに色を作れる入門用デバイス」です。
光の三原色を直感的に体験できるのが魅力。まずは単色点灯から始めて、徐々にフェードやグラデーションに挑戦すると、電子工作の楽しさがぐっと広がります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次