この記事では圧電素子(ピエゾ素子)を使用してPICマイコンで振動を検出する方法を解説します。
使用するもの
今回はADCを12ch持っているPIC16F1579を使用しましたが、ADCさえあれば大丈夫です。
圧電素子とは
圧電素子(ピエゾ素子)は右図のようなもので、圧電体を2種類の金属板で挟み込んだ構造になっています。
この圧電体は圧力を電気に変換する性質を持っていて、振動により金属板が歪むとそれを電気信号として取り出すことができます。(圧電効果)
逆に電圧をかけると金属板が歪むため、交流電圧をかけることでスピーカーにも使用することができます。実際秋月電子では圧電サウンダという商品名で販売されています。
圧電効果を見てみる
本題の振動センサの前に、簡単に圧電効果を実感してみようと思います。
写真のように圧電素子とLEDを繋げただけの簡単な回路ですが、圧電素子を叩くとLEDが一瞬点灯するので、圧電効果を確かめることができます。
振動から得られる電気は交流なのでLEDの向きはどちらでも大丈夫ですが、叩き方によっては直流のパルスのようになるみたいで特定の方向でしか点灯しなかったので、点灯しない場合はLEDの向きを逆にしてみてください。
それでも点灯しない場合は接続を確認してください。圧電素子から出る線をブレッドボードに挿してもちゃんと接続出来ていないことがあります。
PICマイコンで振動検出
PICマイコンのADCを使用して圧電素子の電圧を測定して振動を検出します。
回路は次のようになります。
非常に簡潔ですね。ADCの測定を高速で繰り返して、測定値のピークをプログラムで判定することで振動を検出することができます。
抵抗はプルダウン用のもので、これがないと振動が止まった後にADCピンがGNDに落ちなくなってしまいます。
応用編
上記の振動検出を応用して電子マリンバ(木琴)を作ってみたので、具体的なプログラム等はそちらで紹介したいと思います。
応用編はこちら↓