sample_input1.py
機能
・スイッチ入力。
事前準備
・タクトスイッチと抵抗(10kΩ)をラズパイのGPIO24とGNDにつないでください。
実行方法
python sample_input1.py
ソースコード
#!/usr/bin/python
# -*- coding: utf-8 -*- : 文字コードの指定
# Bezelie Sample Code for Raspberry Pi : スイッチ(+プルダウン抵抗)入力のサンプル
# マニュアルを見てラズパイにスイッチを接続しておいてください。
# ライブラリの読み込み
from time import sleep # sleep(ウェイト処理)ライブラリの読み込み
import RPi.GPIO as GPIO # GPIO(汎用入出力端子)ライブラリの読み込み
# 初期設定
GPIO.setmode(GPIO.BCM) # GPIOをGPIO番号で指定できるように設定
GPIO.setup(24, GPIO.IN) # GPIOの24ピンを入力モードに設定
# 関数
def main():
try:
print "開始します"
while True: # 繰り返し処理
if GPIO.input(24)==GPIO.HIGH: # GPIO24に3.3Vの電圧がかかっていたら・・・
print "スイッチが押されています"
else: # それ以外の場合は・・・
print "スイッチは押されてません"
sleep (0.5) # 0.5秒待つ
except KeyboardInterrupt: # コントロール+Cが押された場合の処理
print "終了しました"
GPIO.cleanup() # ポートをクリア
# 直接実行された場合の処理
if __name__ == "__main__":
main()
解説
・電源pinとGNDpinに近いのでGPIO24を使いましたが、他のGPIOでも構いません。
・26行目の「GPIO.cleanup()」を実行せずに終了してしまうと、他のプログラムでGPIO24を使おうとしたとき、すでに使用中だと認識されてエラーが起きてしまいます。
応用
・オンやオフのあとにある「sleep(1)」の「1」を、「o.5」などもっと小さな値に変えてみましょう。LEDが速く点滅するようになります。

