Detecting touch using the Touch Sensor
レッスン16"タッチセンサーを使用したタッチの検出"をやっていく。
概要を引用
タッチセンサーは、ボタンの機能に関しては非常に便利です。
通常のボタンを押したくない場合もありますが、携帯電話の画面やiPadと同じようにタッチ動作をしたいと思うことがあります。タッチセンサーはまさにこの目的のために作られました。
タッチセンサーは、できるだけ早くパッドに触れるゲームや、ボタンを押すのではなくタッチで何かをアクティブにしたいゲームで使用されます。
市場に出回っている多くの製品は、ボタンを押す代わりにタッチを使用しているため、そのタイプのセンサーの使用方法を学ぶことは間違いなく大いに役立ちます!
何を学習するか
このレッスンを終了すると、次のことができるようになります。
- タッチセンサー表面のタッチを使用して検出する
何が必要か
- 初期設定後のCrowPiボード
Requires switching modules using the switch
- いいえ
CrowPi上のタッチセンサーの位置
タッチセンサーの操作
解説を引用
タッチセンサーは他のボタンモジュールと同じように動作しますが、押すかクリックする代わりにタッチするという1つの違いがあります。
タッチセンサーに触れると、モジュールはGPIO入力をHIGHとして示す回路を閉じます。センサーから指を離すと、GPIOはLowに戻り、現在センサーに何も触れていないことを示します。
タッチセンサーはGPIOBOARD11ピンを使用しています。
このレッスンで使用するPythonスクリプトは以下の通り。
Examples/touch.py
#!/usr/bin/python # -*- coding: utf-8 -*- # http://elecrow.com/ import RPi.GPIO as GPIO import time # define touch pin touch_pin = 17 # set board mode to GPIO.BOARD GPIO.setmode(GPIO.BCM) # set GPIO pin to INPUT GPIO.setup(touch_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP) try: while True: # check if touch detected if(GPIO.input(touch_pin)): print('Touch Detected') time.sleep(0.1) except KeyboardInterrupt: # CTRL+C detected, cleaning and quitting the script GPIO.cleanup() |
例のごとく、GPIO.setmodeとpin番号を修正。
修正後
# define touch pin touch_pin = 11 # set board mode to GPIO.BOARD GPIO.setmode(GPIO.BOARD) |
このスクリプトを実行して、タッチセンサーに触れると、ターミナルに"Touch Detected"と表示される。
無限ループしているので、CTRL+Cで終了させる。
※コメント投稿者のブログIDはブログ作成者のみに通知されます