💡やること
レーザーモジュールをON/OFFします。
🏁デモ
🔧パーツ一覧
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出力となります。
トランジスタを使って、スイッチング回路を使いました。