Skip to main content

Grove - 傾きスイッチ

note

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

pir

Grove-傾きスイッチはボタンに相当し、デジタル入力として使用されます。傾きスイッチの内部には一対のボールがあり、ケースが直立しているときにピンと接触します。ケースを傾けるとボールが接触せず、接続が成立しません。このGroveではSIGラインに接続されており、NCは使用されていません。

pir

特徴

  • Groveインターフェース
  • 簡単に使用可能
  • シンプルなGroveモジュール
tip
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。

仕様

項目最小値標準値最大値単位
電圧35.05.25V
接続角度10° ~170°-
切断角度190° ~350°-
電気的寿命100,000サイクル

対応プラットフォーム

ArduinoRaspberry Pi

pir

pir

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

はじめに

Arduinoで遊ぶ

Grove - Tilt SwitchのSIGピンは通常LOWを出力します。Tilt Switchが直立すると、内部のボールがピンに接触し、SIGピンがHIGHを出力します。

以下のスケッチは、Tilt SwitchとGrove - Buttonを使用してLEDを制御する簡単なアプリケーションを示しています。

  • 次の図が示すように、Tilt SwitchはGrove - Base Shieldのデジタルポート5に接続され、Grove-Buttonはデジタルポート7に接続されています。LEDはデジタルポート1に接続されています。ハードウェアの接続は以下の通りです:

pir

  • 以下のコードを新しいArduinoスケッチにコピー&ペーストしてください。
void setup()
{
pinMode(1, OUTPUT);
pinMode(5, INPUT);
pinMode(7, INPUT);
}

void loop()
{

if (digitalRead(5)==HIGH)
{
digitalWrite(1, HIGH);
delay(100);
digitalWrite(1, LOW);
}

if (digitalRead(7)==HIGH)
{
digitalWrite(1, HIGH);
delay(200);
digitalWrite(1, LOW);
}

}
  • コードをアップロードしてください。
  • その後、ボタンを押すかTilt Switchを動作させるとLEDが点灯します。試してみてください!

Codecraftで遊ぶ

ハードウェア

ステップ1. Grove - Tilt SwitchをポートD5に接続し、Grove - ButtonとGrove - Red LEDをBase ShieldのポートD7とD2に接続します。

ステップ2. Base ShieldをSeeeduino/Arduinoに接続します。

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

ソフトウェア

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

note
初めてCodecraftを使用する場合は、[Codecraftを使用したArduinoのガイド](https://wiki.seeedstudio.com/ja/Guide_for_Codecraft_using_Arduino/)も参照してください。

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

pir

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

tip
コードのアップロードが完了すると、Tilt Switchを傾けたりボタンを押したりするとLEDが点灯します。

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

ハードウェア

  • ステップ1. このプロジェクトで使用するもの:
Raspberry piGrove Base Hat for RasPiGrove - Tilt Switch

pir

pir

pir

今すぐ購入今すぐ購入今すぐ購入
  • ステップ2. Grove Base HatをRaspberry Piに接続します。
  • ステップ3. Tilt SwitchをBase Hatのポート12に接続します。
  • ステップ4. USBケーブルを使用してRaspberry PiをPCに接続します。

pir

note
ステップ3では、Tilt Switchを**任意のGPIOポート**に接続できますが、対応するポート番号でコマンドを変更することを忘れないでください。

ソフトウェア

note
 **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_tilt_switch.py 12

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


import time
from grove.gpio import GPIO


class GroveTiltSwitch(GPIO):
def __init__(self, pin):
super(GroveTiltSwitch, self).__init__(pin, GPIO.IN)
self._on_trigger = None
self._on_release = None

@property
def on_trigger(self):
return self._on_trigger

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

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

self._on_trigger = 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):

if value:
if callable(self._on_trigger):
self._on_trigger()
else:
if callable(self._on_release):
self._on_release()

Grove = GroveTiltSwitch


def main():
import sys

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

swicth = GroveTiltSwitch(int(sys.argv[1]))

def on_trigger():
print('Triggered')
def on_release():
print("Released.")

swicth.on_trigger = on_trigger
swicth.on_release = on_release

while True:
time.sleep(1)


if __name__ == '__main__':
main()


tip
すべてが正常に動作すれば、Tilt Switchに触れると以下の結果が表示されます。

pi@raspberrypi:~/grove.py/grove $ python3 grove_tilt_switch.py 12
Triggered
Released.
Triggered
^CTraceback (most recent call last):
File "grove_tilt_switch.py", line 106, in <module>
main()
File "grove_tilt_switch.py", line 102, in main
time.sleep(1)
KeyboardInterrupt

このプログラムを終了するには、++ctrl+c++ を押すだけです。

Raspberry Pi で遊ぶ (GrovePi_Plus を使用)

Raspberry Pi を使用する場合

note
 **Raspberry Pi OS >= Bullseye** を使用している場合は、**Python3** のみでこのコマンドラインを使用する必要があります。
  1. Raspberry Pi と Grovepi または Grovepi+ を用意してください。

  2. 開発環境の設定を完了している必要があります。設定がまだの場合は こちら を参照してください。

  3. 接続

  • Grove ケーブルを使用して Tilt_Switch を Grovepi のソケット D3 に接続します。
  1. デモのディレクトリに移動します:
       cd yourpath/GrovePi/Software/Python/
  • コードを確認するには
    nano grovepi_tilt_switch.py   # "Ctrl+x" で終了 #
    import time
import grovepi

# Grove Tilt Switch をデジタルポート D3 に接続
# SIG,NC,VCC,GND
tilt_switch = 3

grovepi.pinMode(tilt_switch,"INPUT")

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

except IOError:
print "Error"
  1. デモを実行します。
    sudo python grove_tilt_switch.py
  1. 結果: センサーを片側で直立させると、SIG ピンが HIGH を出力します。

pir

参考

Grove-Tilt Switch の動作角度は以下の通りです:

pir

注意

Grove 上のマーク J1 は基準端子です。

Grove - Tilt Switch v1.0 Eagle ファイル

Grove - Tilt Switch v1.1 Eagle ファイル

リソース

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

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

Loading Comments...