ゆるエンジニアはいろいろ遊びたい

FAエンジニアが週末にいろいろ遊ぶブログです

ラズパイカーにLEDライト実装

ラズパイカーにLEDライトを実装してみました。
暗い場所とか、カメラモジュールをナイトモードにしてもあまり効果が感じられないので、ヘッドライトが欲しいなと思っていました。
使ったのはダイソーの小さいライト。これを分解してLED部分だけ使います。

回路図はこちら

パワーのあるLEDを直接ON,OFFするとラズパイがぶっ飛ぶかもしれないので、トランジスタを使用して開閉します。
ちょうど初心者ラズパイキットの中にSS8050というトランジスタがあったので、これに同じく初心者キットに入っていた抵抗10Ωを直列に2つつなげて20ΩにしたものをLEDに接続します。
ラズパイのGPIOはピン番号22番のGPIO25を使用します。トランジスタのベースから1kΩの抵抗をかませています。
トランジスタの動作に関しては20年以上前に学校で習ったような気がしますが、すっかり忘れています。
確かベース-エミッタ間に少量の電流を流す事で、コレクタ-エミッタ間に電流が流れる・・・みたいな感じだったような・・・
配線は小型のブレッドボードを使ってやりました。
LEDのサンプルコードはこちら

from gpiozero import PWMLED
from signal import pause
import time


led = PWMLED(25)  # GPIO25番ピンに接続されたLED

try:
    while True:
        print("50% brightness")
        led.value = 0.5  # 明るさ50%
        time.sleep(2)

        print("LED OFF")
        led.value = 0.0  # LED消灯
        time.sleep(2)

        #フェードイン
        print("Fading in")
        led.pulse(fade_in_time=2, fade_out_time=2, n=1, background=False)
except KeyboardInterrupt:
    led.off()
    print("Program stopped")

ソフトウェアPWMを使う事で明るさの調整ができます。
これをラズパイカーに実装して、PS4コントローラのイベントを取得してONさせれば完成です。


これで暗くても安心!