sample_input1.py
機能
・スイッチ入力。
事前準備
・タクトスイッチと抵抗(10kΩ)をラズパイのGPIO24とGNDにつないでください。
実行方法
1 |
python sample_input1.py |
ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#!/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が速く点滅するようになります。