熊おふし五郎が行く

主にマイコンボードを動かした記録を書いています

Micro:bit、Micropython、振動センサ(801S)で衝撃的振動を検出する

振動センサ

振動センサは、振動を検出するセンサです。ノックセンサ(knock sensor)またはバネ式振動センサともいいます。このセンサの内部には、とてもやわらないバネが細長い電極を囲んでいます。衝撃的にセンサを動かすとバネが電極に接触して、電流が流れます。

f:id:bear_9973:20201108154758p:plain:w200
振動センサの仕組み

  • 力を検出
  • 力を電気に変換(スイッチ)
  • 接触センサー
  • 受動的センサ

振動センサモジュール

ここでは、KEYESTUDIO製BBC Micro: bitのスターターキットにある振動センサモジュールを使用します。

[f:id:bear_9973:20201108154945j:plain:w200
振動センサモジュール

他メーカーの振動センサモジュールを購入するときは、 周辺回路にご留意してください。

インターフェース

本モジュールからMicro: bitへデジタル信号を入力します。

MicropythonとMicro:bit

衝撃的振動を検出するサンプルソフトを以下に説明します。

フロー

サンプルプログラムは、振動センサの出力をそのままLEDディスプレイに表示します。

接続

接続表と接続図(写真)を示します。

Micro:bit モジュール
P0 S
3V +
GND -

f:id:bear_9973:20201108160959p:plain:w400
構成図

コード

from microbit import *

# Micro:bitを初期化
display.clear()  # LEDディスプレイを初期化
pin0.set_pull(pin0.NO_PULL)  # ピンの状態

while True:
    data_value = pin0.read_digital()
    display.show(data_value)
    sleep(100)

結果

床や机の上に置いて、トントンするとLEDディスプレイが1を表示します。

他メーカーの振動センサモジュールを購入するときは、 周辺回路にご留意してください。