Chapter 39

🔆レーザーモジュールを制御する - ⭐⭐

kotaproj
kotaproj
2021.09.19に更新

💡やること

レーザーモジュールをON/OFFします。

🏁デモ

laser

🔧パーツ一覧

no 部品名 個数 備考
1 ラズベリーパイ 1 今回は4Bで確認
2 レーザーモジュール 1 レーザーダイオード 5V 650nm
3 トランジスタ2N2222 1 トンジスタセット
4 抵抗 4.7kΩ 1
5 抵抗 200Ω 1
6 ジャンパー線 適量 -
7 ブレッドボード 適量 -
8 ACアダプタ DC5V 1 接続図上は、5V電源と記載

接続図

💻環境

開発環境

  • ラズベリーパイ
    • Linux rpi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux
  • Python
    • Python 3.7.3 (default, Jan 22 2021, 20:04:44)

ラズベリーパイの設定

特になし

モジュールのインストール

apt

pigpioライブラリは、Raspberry PiのGPIOを制御するためのライブラリです。
以下のコマンドは、はじめてインストールする場合のみ必要です。

$ sudo apt install pigpio
$ sudo service pigpiod start
$ sudo systemctl enable pigpiod.service

pip

Pythonに関するモジュールをインストールします。

$ python3 -m venv env
$ source env/bin/activate
(env) $ pip install pigpio
(env) $ pip install gpiozero

📝手順

点灯/消灯を繰り返します。

コード

レザーを5秒点灯→1秒消灯を10回繰り返します。

laser.py
from gpiozero import LED
from gpiozero.pins.pigpio import PiGPIOFactory
from time import sleep

# LEDのピン設定
PIN_LASER = 21

def main():
    # LASERピン設定
    factory = PiGPIOFactory()
    led = LED(PIN_LASER, pin_factory=factory)

    # LASERをチカチカ
    for _ in range(5):
        print("LED ON")
        led.on()
        sleep(5.0)
        print("LED OFF")
        led.off()
        sleep(1.0)
    return

if __name__ == "__main__":
    main()

実行手順

(env) $ python laser.py

↑5回動作します。

🔎ポイント

スイッチング回路

レーザーモジュールは、5Vで動作します。
ラズベリーパイのピンは、HIGHにした場合、3.3V出力となります。
トランジスタを使って、スイッチング回路を使いました。