振動センサー sensor#01

圧電スピーカを振動センサーに

以前作ったライトに振動センサーを取り付けて、インタラクティブライトにしたいと思います。

インテリアライトを作ってみよう LED#04

ここで作ったモノに圧電スピーカを取り付けます。この圧電スピーカーは実は振動センサーにもなるスグレモノです。

配線はこちら

必要なもの

パーツ 数量
圧電スピーカ 1
抵抗1MΩ 1
ジャンパケーブル 2

振動センサから信号を取り出す

配線ができたら次のプログラムを書き込みましょう。そしてシリアルモニタを起動します。圧電スピーカーにタッチしてください。そうするとシリアルモニタの数値が0から増えるはずです。これで振動の検知は出来ましたね。

analogRead

analogRead(x)でxの数値を読み込みます。A0の値を読むときはanalogRead(0) でOKです。

1行目で変数valをセットします。4行目Serial.begin(9600);でシリアルモニターを9,600bpsで使う宣言。7行目で変数valにA0から読み込んだ値をセット。8行目でシリアルモニターにvalをprintします。

センサーの値を判断する

今度はセンサーの値によってArduinoに判断させますね。信号がなければそのまま。信号があればライトを光らせるプログラムを作ってみましょう。

if文で条件分岐

書き方はif(条件式){プログラム}else{プログラム}という感じで書きます。10行目でvalが0ならなにもしない。それ以外は14行目以下の処理をします。

条件が複数ある場合はif(条件式){プログラム}else if(条件式){プログラム}else{プログラム}という感じで書きます。10行目でvalが0ならなにもしない。それ以外は14行目以下の処理をします。

                

手を叩いてセンサーが検知するとLEDが光りはじめます。

if文で複数条件分岐

条件が複数ある場合はif(条件式){プログラム}else if(条件式){プログラム}else{プログラム}という感じで書きます。10行目でvalが0ならなにもしない。それ以外は14行目以下の処理をします。

                 

2種類の光り方を用意しました。強く手を叩いたりして2つの光り方を見てみましょう。もしうまくいかない場合は13行目のval<=10の値を変更してみましょう。

シェアするにはこちらからShare on FacebookShare on Google+Tweet about this on Twitter