不惑にしてまだ何者でもない者のブログ

Arduino関連、Raspberry Pi関連、プログラミング学習

CrowPiレッスン16:タッチセンサーを使用したタッチの検出

2020-11-11 14:10:29 | CrowPi

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で終了させる。


最新の画像もっと見る

コメントを投稿