タクトスイッチを使ってLEDを点灯してみる

スポンサーリンク

IMG_3937

前回の ブラウザ側からRaspberry Pi(+ブレッドボード)につないだLEDを制御してみる に引き続き、今度は新しい部品を使ってLEDの点灯を操作してみたいと思います。
新しい部品には、タクトスイッチを使います。このタクトスイッチのON/OFF機能を使ってLEDのON/OFFを操作してみます。

はじめる前に

タクトスイッチによるLED点灯の操作に際して用意したパーツは下記です。
LEDの点滅(Lチカ)で使用した部品一式
・10KΩの抵抗
・タクトスイッチ

10KΩの抵抗
IMG_3931

タクトスイッチ
IMG_3932

Raspberry Piとブレッドボードを接続する

それではタクトスイッチを使ってLEDの点灯の制御をしていきたいと思います。

目指す完成回路図

ping-pongv1_ブレッドボード
配線は
・スイッチのON/OFF(GPIO 24番)
・LEDのON/OFF(GPIO 25番)
で分けて配線。

気をつけるべきところは スイッチのON/OFF の切り替え機能による配線の組み方です。スイッチにより、 電流が流れる/流れない ということが発生するので気をつけないといけません。このような場合、抵抗を上手く繋いで電圧を調整します。

方法は下記の2種類があります。
プルダウン抵抗
プルアップ抵抗
それぞれについて、詳しくはコチラのwikipediaをご参考ください。

ざっくりと説明すると、ON/OFFどちらの状態になっても安定的な電圧にするということです。

Raspberry Pi側の接続

FullSizeRender
上の完成回路図通りに組んだRaspberry Piです。

ブレッドボード側の接続

IMG_3934
上の完成回路図通りに組んだブレッドボードです。
注意して欲しい箇所は、タクトスイッチの挿し方です。挿し方を間違えると上手くON/OFFの情報取得ができなくなります。

Pythonを使った点灯プログラム

スイッチを押したらLEDを点灯し、スイッチから指を離したらLEDを消灯するプログラムをPythonで書いていきます。

# coding: utf-8
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.IN)
GPIO.setup(25, GPIO.OUT)

try:
 while True:
  if GPIO.input(24) == GPIO.HIGH:
   GPIO.output(25, GPIO.HIGH)
  else:
   GPIO.output(25, GPIO.LOW)
  time.sleep(0.5)
except KeyboardInterrupt:
 GPIO.cleanup()

10行目で、while True で繰り返し処理結果を取得します。
11行目でもしもスイッチがONになったら、12行目でLEDをONにする処理を走らせます。逆にスイッチをOFFにした場合は14行目でLEDをOFFにします。

その他の処理については以前作成したコードと似ています。コチラをご参考ください。

タクトスイッチでLEDをON/OFFする

IMG_3936
※クリックして画像を表示するとタスクスイッチを使ったLED点灯のGIFアニメを表示できます。

ばっちりタスクスイッチを押した時と離した時でLEDの点灯を制御することができました。
次回は トグル動作によるLEDの点灯制御 に挑戦します。

参考文献

・Raspberry Piで学ぶ電子工作(金丸隆志 著)
・プルアップ抵抗:https://goo.gl/mM7vZi

スポンサーリンク
スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク