Grove - Piezo Vibration Sensor
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Grove-Piezo Vibration Sensorは、柔軟性、振動、衝撃、タッチの測定に適しています。このモジュールはPZTフィルムセンサーLDT0-028を基にしています。センサーが前後に動くと、内部の電圧コンパレータによって一定の電圧が生成されます。広い動的範囲(0.001Hz~1000MHz)は優れた測定性能を保証します。また、オンボードのポテンショメータをネジで調整することで感度を調整することができます。
バージョン
製品バージョン | 変更点 | リリース日 |
---|---|---|
Grove - Piezo Vibration Sensor V1.1 | 初版 | 2014年7月 |
特徴
- 標準Groveソケット
- 広い動的範囲:0.1Hz~180Hz
- 感度調整可能
- 強い衝撃に対する高い感受性
Groveモジュールの詳細については、[Grove System](https://wiki.seeedstudio.com/ja/Grove_System/)を参照してください。
対応プラットフォーム
Arduino | Raspberry Pi |
---|---|
上記で対応プラットフォームとして記載されているものは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することは不可能です。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。
応用例
- 洗濯機の振動検知
- 低消費電力のウェイクアップスイッチ
- 低コストの振動検知
- 車の警報装置
- 身体の動き検知
- セキュリティシステム
はじめに
Arduinoで遊ぶ
ハードウェア
Grove - Piezo Vibration Sensorは振動を検知するとロジックHIGHを出力します。このセンサーのデータを読み取るためにArduinoの任意のピンを使用できます。以下は、Piezo Vibration SensorでLEDを制御する例です。振動が検知されると、このセンサーはロジックHIGH信号を出力します(感度はポテンショメータを調整することで変更可能)。その際、LEDが点灯します。
- ステップ1. 以下のものを準備してください:
Seeeduino V4 | Base Shield | Grove - Piezo Vibration |
---|---|---|
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ2. モジュールを4ピンのGroveケーブルを使用してBase ShieldのD2に接続します。ボード上のデジタルピン13のLEDを出力として使用します。
- ステップ3. Base ShieldをArduinoに差し込みます。
- ステップ4. USBケーブルを使用してArduinoをPCに接続します。
ポテンショメータを時計回りに調整してしきい値電圧を上げると、元々HIGHレベルを出力していた場合でもLOWレベルを出力することがあります。
ソフトウェア
- ステップ1. 以下のコードを新しいArduinoスケッチにコピー&ペーストしてください。
const int ledPin=13;
void setup() {
Serial.begin(9600);
pinMode(ledPin,OUTPUT);
}
void loop() {
int sensorState = digitalRead(2);
Serial.println(sensorState);
delay(100);
if(sensorState == HIGH)
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW);
}
}
- ステップ2. 振動が検知されるとLEDが点灯します。
Raspberry Piで遊ぶ (Grove Base Hat for Raspberry Piを使用)
ハードウェア
- ステップ1. このプロジェクトで使用するもの:
Raspberry pi | Grove Base Hat for RasPi | Grove - Piezo Vibration |
---|---|---|
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ2. Grove Base HatをRaspberry Piに差し込みます。
- ステップ3. Grove - Piezo Vibration SensorをBase Hatのポート12に接続します。
- ステップ4. USBケーブルを使用してRaspberry PiをPCに接続します。
ステップ3では、Piezo Vibration Sensorを任意のGPIOポートに接続することができますが、対応するポート番号に合わせてコマンドを変更する必要があります。
ソフトウェア
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_piezo_vibration_sensor.py 12
以下はgrove_piezo_vibration_sensor.pyのコードです。
import time
from grove.gpio import GPIO
class GrovePiezoVibrationSensor(GPIO):
def __init__(self, pin):
super(GrovePiezoVibrationSensor, self).__init__(pin, GPIO.IN)
self._on_detect = None
@property
def on_detect(self):
return self._on_detect
@on_detect.setter
def on_detect(self, callback):
if not callable(callback):
return
if self.on_event is None:
self.on_event = self._handle_event
self._on_detect = callback
def _handle_event(self, pin, value):
if value:
if callable(self._on_detect):
self._on_detect()
Grove = GrovePiezoVibrationSensor
def main():
import sys
if len(sys.argv) < 2:
print('Usage: {} pin'.format(sys.argv[0]))
sys.exit(1)
pir = GrovePiezoVibrationSensor(int(sys.argv[1]))
def callback():
print('Detected.')
pir.on_detect = callback
while True:
time.sleep(1)
if __name__ == '__main__':
main()
すべてが正常に動作すれば、以下の結果が表示されます。
pi@raspberrypi:~/grove.py/grove $ python3 grove_piezo_vibration_sensor.py 12
Detected.
Detected.
Detected.
Detected.
Detected.
Detected.
Detected.
Detected.
^CTraceback (most recent call last):
File "grove_piezo_vibration_sensor.py", line 84, in <module>
main()
File "grove_piezo_vibration_sensor.py", line 80, in main
time.sleep(1)
KeyboardInterrupt
このプログラムを終了するには、++ctrl+c++ を押すだけです。
Raspberry Pi で遊ぶ (GrovePi_Plus を使用)
ハードウェア
- ステップ 1. 以下のものを準備してください:
Raspberry Pi | GrovePi_Plus | Grove - Piezo Vibration |
---|---|---|
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ 2. GrovePi_Plus を Raspberry Pi に接続します。
- ステップ 3. Grove-Piezo Vibration を GrovePi_Plus の A0 ポートに接続します。
- ステップ 4. USB ケーブルを使用して Raspberry Pi を PC に接続します。
ソフトウェア
**Raspberry Pi OS >= Bullseye** を使用している場合は、**Python3** のみでこのコマンドラインを使用する必要があります。
- ステップ 1. ソフトウェアの設定 に従って開発環境を構成します。
- ステップ 2. Github リポジトリをクローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- ステップ 3. 以下のコマンドを実行して振動を検出します。
cd ~/GrovePi/Software/Python
python3 grove_piezo_vibration_sensor.py
以下は grove_piezo_vibration_sensor.py のコードです。
import time
import grovepi
# Grove Piezo Vibration Sensor をアナログポート A0 に接続
# OUT,NC,VCC,GND
piezo = 0
grovepi.pinMode(piezo,"INPUT")
while True:
try:
# 振動が検出されると、センサーは論理ハイ信号を出力します
print grovepi.analogRead(piezo)
time.sleep(.5)
except IOError:
print "Error"
- ステップ 4. ターミナルに以下のように振動が表示されます。
pi@raspberrypi:~/GrovePi/Software/Python $ python3 grove_piezo_vibration_sensor.py
1023
1023
1023
1023
18
17
18
17
GrovePi の D2 ポートにセンサーを接続して grovepi.digitalRead(2) を使用することで振動状態を読み取ることもできます。
FAQs
Q1: 出力はデジタルですか、それともアナログですか?
A1: 出力はデジタルで、Low または High です。
回路図オンラインビューア
リソース
- [PDF] Wiki PDFをダウンロード
- [Eagle] Grove - Piezo Vibration Sensor Eagleファイル
- [PDF] Grove - Piezo Vibration Sensor 回路図PDFファイル
- [PDF] Grove - Piezo Vibration Sensor PCB PDFファイル
- [Datasheet] Piezo Vibration Sensor データシート
プロジェクト
Grove Starter Kit For Arduino - Piezo Vibration Sensor: Arduino GroveスターターキットでPiezo振動センサーの使用方法を学べます。
Seat Monitor: ARTIKクラウドを使用してキャビンシートの状態を監視します。
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。