Skip to main content

Grove - タッチセンサー

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

Grove - タッチセンサーは、押す操作をタッチ操作に置き換えることができます。このセンサーは、指が近づいたときの静電容量の変化を検出します。つまり、指が直接パッドに触れる場合でも、パッドの近くに留まるだけの場合でも、Grove - タッチセンサーはHIGHを出力します。

仕様

  • 動作電圧: 2.0 - 5.5V
  • 動作電流(Vcc=3V): 1.5 - 3.0μA
  • 動作電流(VDD=3V): 3.5 - 7.0μA
  • 出力応答時間: 60 - 220mS
  • 使用チップセット: TTP223-BA6
tip

Groveモジュールに関する詳細は、Grove Systemをご参照ください。

対応プラットフォーム

ArduinoRaspberry Pi
caution

上記でサポートされていると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム用のソフトウェアライブラリまたはコード例のみを提供しています。すべての可能なMCUプラットフォームに対してソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。

オプション機能

AHLBTOGLPMBMOTBSLRFTBRSTQOPDO
出力アクティブハイ/ロートグルモード電源モード最大オン時間サンプリング長リセットピンCMOS出力オープンドレインモード
VV011XVX
アクティブハイ無効低電力無限1.6 msec該当なしあり該当なし

はじめに

Arduinoで遊ぶ

このデモでは、LEDのオン/オフを切り替える方法を紹介します。

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Seeeduino V4.2Base ShieldGrove-Touch_SensorGrove-LED
画像説明を入力してください画像説明を入力してください画像説明を入力してください画像説明を入力してください
今すぐ購入今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. Grove-Touch_SensorをGrove-Base ShieldのポートD2に接続します。
  • ステップ 3. Grove-LEDをGrove-Base ShieldのポートD3に接続します。
  • ステップ 4. Grove - Base ShieldをSeeeduinoに差し込みます。
  • ステップ 5. USBケーブルを使用してSeeeduinoをPCに接続します。

with_ardu

ソフトウェア

  • ステップ 1. 以下のコードを新しいArduinoスケッチにコピーして貼り付けてください。
const int TouchPin=2;
const int ledPin=3;

void setup() {
pinMode(TouchPin, INPUT);
pinMode(ledPin,OUTPUT);
}

void loop() {
int sensorValue = digitalRead(TouchPin);
if(sensorValue==1)
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW);
}
}

ステップ 2. LEDのオンとオフを確認してください。

Codecraftで遊ぶ

ハードウェア

ステップ 1. Grove - Touch SensorをポートD2に接続し、Grove - Red LEDをBase ShieldのポートD3に接続します。

ステップ 2. Base ShieldをSeeeduino/Arduinoに差し込みます。

ステップ 3. USBケーブルを使用してSeeeduino/ArduinoをPCに接続します。

ソフトウェア

ステップ 1. Codecraftを開き、Arduinoサポートを追加し、メインプロシージャを作業エリアにドラッグします。

note

Codecraftを初めて使用する場合は、Arduinoを使用したCodecraftのガイドも参照してください。

ステップ 2. 以下の画像のようにブロックをドラッグするか、このページの最後でダウンロードできるcdcファイルを開いてください。

cc

プログラムをArduino/Seeeduinoにアップロードしてください。

success

コードのアップロードが完了すると、Touch Sensorに触れるとLEDが点灯します。

Raspberry Piで遊ぶ (Raspberry Pi用Grove Base Hatを使用)

ハードウェア

  • ステップ 1. このプロジェクトで使用するもの:
Raspberry piGrove Base Hat for RasPiGrove - Touch Sensor
画像説明を入力してください画像説明を入力してください画像説明を入力してください
今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. Grove Base HatをRaspberryに差し込みます。
  • ステップ 3. Touch SensorをBase Hatのポート12に接続します。
  • ステップ 4. USBケーブルを使用してRaspberry PiをPCに接続します。

note

ステップ3では、Touch Sensorを任意のGPIOポートに接続することができますが、対応するポート番号に合わせてコマンドを変更する必要があります。

ソフトウェア

caution

Raspberry Pi OS >= Bullseyeを使用している場合、このコマンドラインはPython3のみで使用してください。

  • ステップ 1. ソフトウェアの設定に従って開発環境を構成してください。
  • ステップ 2. grove.pyライブラリをクローンしてソースファイルをダウンロードします。
cd ~
git clone https://github.com/Seeed-Studio/grove.py

  • ステップ 3. 以下のコマンドを実行してコードを実行します。
cd grove.py/grove
python3 grove_touch_sensor.py 12

以下はgrove_touch_sensor.pyのコードです。


import time
from grove.gpio import GPIO


class GroveTouchSensor(GPIO):
def __init__(self, pin):
super(GroveTouchSensor, self).__init__(pin, GPIO.IN)
self._last_time = time.time()

self._on_press = None
self._on_release = None

@property
def on_press(self):
return self._on_press

@on_press.setter
def on_press(self, callback):
if not callable(callback):
return

if self.on_event is None:
self.on_event = self._handle_event

self._on_press = callback

@property
def on_release(self):
return self._on_release

@on_release.setter
def on_release(self, callback):
if not callable(callback):
return

if self.on_event is None:
self.on_event = self._handle_event

self._on_release = callback

def _handle_event(self, pin, value):
t = time.time()
dt, self._last_time = t - self._last_time, t

if value:
if callable(self._on_press):
self._on_press(dt)
else:
if callable(self._on_release):
self._on_release(dt)

Grove = GroveTouchSensor


def main():
import sys

if len(sys.argv) < 2:
print('Usage: {} pin'.format(sys.argv[0]))
sys.exit(1)

touch = GroveTouchSensor(int(sys.argv[1]))

def on_press(t):
print('Pressed')
def on_release(t):
print("Released.")

touch.on_press = on_press
touch.on_release = on_release

while True:
time.sleep(1)


if __name__ == '__main__':
main()


success
すべてが正常に動作すれば、以下の結果が表示されるはずです。

pi@raspberrypi:~/grove.py/grove $ python3 grove_touch_sensor.py 12
押されました
離されました。
押されました
離されました。
押されました
離されました。
押されました
離されました。
^CTraceback (most recent call last):
File "grove_touch_sensor.py", line 110, in <module>
main()
File "grove_touch_sensor.py", line 106, in main
time.sleep(1)
KeyboardInterrupt

このプログラムを終了するには、単に ctrl+c を押してください。

Raspberry Pi で遊ぶ (GrovePi_Plus を使用)

ハードウェア

  • ステップ 1. 以下のものを準備してください:
Raspberry PiGrovePi_PlusGrove-Touch_Sensor
enter image description hereenter image description hereenter image description here
今すぐ購入今すぐ購入今すぐ購入
  • ステップ 2. GrovePi_Plus を Raspberry に接続します。
  • ステップ 3. Grove-Touch_Sensor を GrovePi_Plus の D2 ポートに接続します。
  • ステップ 4. USB ケーブルを使用して Raspberry を PC に接続します。

with_rpi

ソフトウェア

:::注意 Raspberry Pi with Raspberrypi OS >= Bullseye を使用している場合、このコマンドラインは Python3 のみで使用してください。 :::

  • ステップ 1. Setting Software に従って開発環境を設定します。
  • ステップ 2. Github リポジトリをクローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git

  • ステップ 3. 以下のコマンドを実行してこのセンサーを使用します。ポートを D4 から D2 に変更してください。
python3 grove_touch_sensor.py
#!/usr/bin/env python
#
# GrovePi Example for using the Grove Touch Sensor (https://www.seeedstudio.com/wiki/Grove_-_Touch_Sensor)
#
# GrovePi は Raspberry Pi と Grove センサーを接続します。GrovePi の詳細はこちらをご覧ください: http://www.dexterindustries.com/GrovePi
#
# この例について質問がありますか?フォーラムで質問してください: http://forum.dexterindustries.com/c/grovepi
#
'''
## ライセンス
MIT ライセンス (MIT)
Raspberry Pi 用 GrovePi: Grove センサーを Raspberry Pi に接続するためのオープンプラットフォーム。
Copyright (C) 2017 Dexter Industries
本ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)のコピーを取得したすべての人に対し、以下の条件に従い、ソフトウェアを制限なく使用、コピー、変更、結合、公開、配布、サブライセンス、および/または販売する権利を無償で許可します。
上記の著作権表示および本許可表示は、ソフトウェアのすべてのコピーまたは重要な部分に含めるものとします。
本ソフトウェアは「現状のまま」提供され、いかなる種類の保証もなく、明示的または黙示的を問わず、商品性、特定目的への適合性、および非侵害性を含むがこれに限定されない保証もありません。著者または著作権者は、契約、不法行為、またはその他の理由に基づくか否かを問わず、本ソフトウェアまたはその使用またはその他の取引に起因または関連するいかなる請求、損害、またはその他の責任についても責任を負いません。
'''
import time
import grovepi

# Grove Touch Sensor をデジタルポート D2 に接続
# SIG,NC,VCC,GND
touch_sensor = 2

grovepi.pinMode(touch_sensor,"INPUT")

while True:
try:
print(grovepi.digitalRead(touch_sensor))
time.sleep(.5)

except IOError:
print ("エラー")

結果は以下の通りです:

回路図オンラインビューア

リソース

プロジェクト

Grove タッチセンサーを使用して Grove LED を制御する: Grove タッチセンサーを接続して Grove LED ソケットキットを制御する方法。

タッチセンサー Grove モジュール:

技術サポート & 製品ディスカッション

弊社製品をお選びいただきありがとうございます!製品をスムーズにご利用いただけるよう、さまざまなサポートをご提供しています。お客様のご希望やニーズに応じた複数のコミュニケーションチャネルをご用意しています。

Loading Comments...