ラズパイでスイッチとLEDを使ってみた

こんにちは。のっくんです。

この記事では、電子工作&プログラミングをしてスイッチを押した時にLEDが光るようにしたいと思います。

使用するもの

  • ラズパイ3 B+
  • ブレッドボード
  • ジャンパー
  • 赤色LED
  • 抵抗330Ω
  • タクトスイッチ
[toc]

組み立て

GPIOの割り当て表を元に、配線していきます。

https://www.raspberrypi.org/documentation/usage/gpio/README.md

スイッチ:3.3Vの電源と15番ポート

LED:GNDとLEDのマイナス、21番ポートと抵抗とLEDのプラス

ポート番号はそれぞれ15番と21番を使っていますが、空いているGPIOであればどれでも構いません。

コーディング

ハード側の準備ができたところでコードを書いていきます。

前回の記事と同じラズパイにデフォルトで入っているPython 3.5を使います。

`RPi.GPIO`と言うパッケージがデフォルトでインストールされています。

これを使うと、GPIOの操作ができます。

基本的なコードの流れとしては、

  • `GPIO.input`を使って、スイッチの入力をチェックする
  • スイッチの状態によって、LEDを光らせたり消したりする

配線するときに使ったポート番号を使うので、確認してください。

import RPi.GPIO as GPIO
import time

SWITCH = 15
LED = 21

# GPIOのポート番号で指定する
GPIO.setmode(GPIO.BCM)
# スイッチのプルダウン抵抗を使用する
GPIO.setup(SWITCH, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
# LEDをアウトに設定
GPIO.setup(LED, GPIO.OUT)
# LEDを消灯させる
GPIO.output(LED, GPIO.LOW)

try:
    while True:
        if GPIO.input(SWITCH) == GPIO.HIGH:
            print("high")
            GPIO.output(LED, GPIO.HIGH)

        else:
            print("low")
            GPIO.output(LED, GPIO.LOW)
        time.sleep(0.1)

except KeyboardInterrupt:
    GPIO.cleanup()

動作確認

スイッチを押した時に、LEDが光るようになると思います。スイッチを押していないときは光りません。

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog