Arduinoと戯れてみる!

Arduino 入門 Lesson 34 【振動センサ・振動スイッチ】

arduino-lesson34-00Arduino入門編
スポンサーリンク
子供と一緒に始める マイコンプログラム
Arduino 入門
Lesson 34
【振動センサ・振動スイッチ】

こにんちは、管理人のomoroyaです。

センサーの使い方の基本を学習する入門編。

Lesson 33から復活中です。

 

世の中には、まだまだ色々なセンサーがあります。

これからも、色々なセンサーで遊んでいきます。

 

本記事はLesson 34 【振動センサ・振動スイッチ】です。

本Lessonで使用する「振動センサ」は「振動スイッチ・Vibration switch」「衝撃センサ・Shock Sensor」とも呼ばれます。

センサといいつつ、動作を考えるとスイッチと言った方がしっくりくるかもしれません。

 

Lesson 08で学習した、「チルトスイッチ・チルトセンサ」いわゆる傾斜センサとイメージは一緒です。

 

使用するセンサ型番は「SW-18015」または「SW-18015P」。

構造だけで言えば、針金2本で自分でも作れるような構造です。

 

本Lessonで使用する振動センサは以下と同じものになります。

基板に実装されていますが、センサ単体でもかまいません。

 

振動センサの形状が新しい?

 

単体

 

高いものではないので、間違ってもぼったぐり値段のものは購入しないでください!

送料との見合いになりますが・・・

日本にある電子部品パーツ専門店から購入した方が安い場合もあります

 

Arduino入門編の解説にて使用しているArduinoは互換品です。

互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

正規品の本体単品がほしい方はこちらとなります。

 

スポンサーリンク

はじめに

本Lessonで使用する「振動センサ」は動作は単純。

静止状態ではオフ状態を維持し、外力により振動が発生するとオン状態。

ようするに加速度がセンサの限界に達するとオン状態になるということ。

 

構造も簡単。

中心軸に静止した動かない金属棒があり、そのまわりに振動で動く金属がバネのような状態で入っている。

振動することで、中心の金属にバネのような金属が触れ導通するという単純なしくみ。

SW-18015」「SW-18015P」それぞれ、開放型と密閉型があります。
※上記のはずですが、Pがついていても開放型になっているものもAmazonにはあります。

arduino-lesson34-01

 

Lesson 34 目標

本Lessonの目標は以下です。

1.振動センサの使い方を学習する
2.振動を検知するスケッチを描く
3.振動センサで遊ぶ

いつものように、遊ぶことが重要です。

 

今回のセンサは構造も単純。

揺らして、2本の金属がくっついたら導通というしくみ。

単純なだけに、使い道は色々あります。

 

ぶつかったら検知するとか・・・。

何か回るものにつけて、回転の遠心力を検知するとか・・・。

 

準備

ではLessonの準備に取り掛かりましょう。

 

部品は「振動センサ」のみ。

型番「SW-18015」が実装されたモジュールがあると抵抗が面実装されています。

そのため、改めて10kΩの抵抗を用意する必要はありません。

 

センサだけでも、10kΩ程度の抵抗が1本あれば遊ぶことができます。

 

必要なもの

※ジャンパワイヤーは「M-M」「M-F」を必要に応じて使い分けてください。

 

Jumper wire、抵抗は今後も頻繁に利用します。

Jumper wireはできれば、「オス-メス オス-オス メス –メス」の3種類を揃えておくことをお勧めします。

短めが使いやすい場合も。

 

使用部品説明

SW-18015」 の振動センサについて説明していきます。

 

振動センサ SW-18015 実物写真

下の写真が振動センサの実物写真です。

本Lessonで使用するものは、基板実装されたものです。

実装されているセンサはSW-18015。

また図に示す赤枠部分に10kΩが面実装されています。

センサ単体で使用する場合は、この10kΩに相当する抵抗を用意してください。

arduino-lesson34-02

 

振動センサ 回路図

振動センサの回路図を示します。

10kΩが実装されたモジュールの回路図となります。

センサ単体で組む場合は、10kΩを別に用意して下に示す回路図通りに組んでください。

  • 1:VCC  Arduinoの5Vに接続
  • 2:GND ArduinoのGNDに接続
  • 3:S    Arduinoで処理するピンに接続

arduino-lesson34-03

 

製造メーカーによって、GND(-)とSの位置が逆の場合もあります。

arduino-lesson34-04

 

 

振動センサ SW-18015 仕様

ある意味ただのスイッチのため省略します。

遊び、学習を想定していますので、耐久性等々も気になりません。

Arduinoの仕様範囲内で使用していれば問題になることもありません。

 

遊び、学習以外での使用用途をお考えの場合はデータシートを必ず確認しましょう。

 

実践 回路作成とコード作成

最初に回路図を確認してください。

次に、回路図に合わせて部品を接続します。

最後にコードを書いて、振動センサを動かしていきましょう。

 

Arduinoのピン配置を確認したい方は番外編02を参照してください。

 

回路図

振動センサが実装されたモジュールの端子を接続していきます。

Arduinoはデジタル入力ピンとして10、デジタル出力として13を使用。

あとは、5VとGNDのみ。

補足情報
デジタル出力の13を利用した場合、Arduinoに実装されたLEDをON/OFFできます。
そのため、外付けでのLEDは本来不要です。
本Lessonでは、ON/OFFを分かりやすくするためにLEDを使用しています。

 

回路図がこちら。
※LEDが不要の場合は、13番ピンには何も接続する必要はありません。

arduino-lesson34-05

 

 

こちらがブレッドボード図。

arduino-lesson34-06

 

 

回路図は「fritzing」を利用しています。

「fritzing」の使い方は下記を参照してください。

 

接続

下図に示すように、用意した部品を使用して接続しましょう。

部品は「振動センサ」、LED、抵抗のみとなります。
※SW-10815が実装されたモジュール

部品は3個、接続は簡単です。

振動センサと接続するジャンパーワイヤーはF-Mを使用してます。

そのため、Arduinoに面実装されているLEDで確認する場合はブレッドボードもいりません。

 

使用するポートは、デジタル入力10、デジタル出力13、5V、GND。

穴に挿入しづらいときは、ラジオペンチなどを使用してください。

 

arduino-lesson34-07

 

コードの書き込み

接続が終わったら、USBケーブルを使用してUNOにプログラムを書き込んで行きましょう。

コードを書き終えたら、いつでも利用できるように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。

 

コマンド説明

本Lessonでは、特に新しいコマンドはありません。

 

サンプルコード

本Lessonのスケッチではデジタル出力として13を指定しています。

そのため、外付けのLEDがなくてもArduinoに面実装されているLEDが「点灯」「消灯」します。

面実装されたLEDで確認できるため外付けのLEDはなしでもかまいません

//Lesson 34 振動センサ(振動スイッチ)
//振動を検出するセンサ
//https://omoroya.com/

//★補足★
//使用部品 SW-18015 or sw-18015

int led = 13; //振動センサ状態の出力先
int vib = 10; //振動センサの信号ピン接続先
int val;      //変数設定

void setup () {
  pinMode(led, OUTPUT); //13番ピンをOUTPUT指定
  pinMode(vib, INPUT);  //10番ピンをINPUT指定
}

void loop () {
  val = digitalRead(vib) ;   //10番ピンの状態を読みとり

  if (val == HIGH) {         //10番ピンが"HIGH"振動がない場合
    digitalWrite(led, LOW);  //13番ピンにLowを出力
  }
  else if (val == LOW) {     //10番ピンが"LOW"振動がある場合
    digitalWrite(led, HIGH); //13番ピンに"HIGH"を出力
    delay(500);              //振動したことを分かりやすくするため点灯時間を長めに
  }
}

 

動作確認 LEDの「点灯」「消灯」

では、さっそく動作を確認していきます。

  • 振動なし → LEDは消灯
  • 振動あり → LED点灯

 

振動センサに衝撃を与えるとLEDが点灯します。

単純ですが、衝撃を検知できることがわかります!

 

まとめ

本Lessonは、以下を目標としました。

1.振動センサの使い方を学習する
2.振動をを検知するスケッチを描く
3.振動センサで遊ぶ

 

振動センサを使えば衝撃に反応して何かをさせるといったことができます。

LEDと組み合わせて、検知したら光らせる。

自転車のスポークにつけて、遠心力を検知する。

などなど、色々できそうです。

 

Lesson 34【振動センサ・振動スイッチ】 はここまで。

色々工夫ができます。

ぜひ、遊んでみてください。

疑問点、質問などありましたら気軽にコメントください。

 

次回、Lesson 35は 【光遮断センサ・遮光センサ】。

身近なものに色々と応用できるセンサです。

Arduino 入門 Lesson 35 【光遮断センサ・遮光センサ】
Lesson 35 【光遮断センサ・遮光センサ】です。本Lessonで使用する「光遮断センサ・遮光センサ」は「Photo Interrupter Sensor」「Optical broken Sensor」とも呼ばれます。原理は簡単で、「発…

 

最後に

疑問点、質問などありましたら気軽にコメントください。

この電子部品の解説をしてほしい!などなどなんでもOKです。

リンク切れ、間違いなどあればコメントいただけると助かります。

 

Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。

 

Arduino入門編で使用しているUNOはAmazonにて購入可能です。

互換品とは言え、Arduinoはオープンソース。

複製して販売するのもライセンス的に問題なし。

 

そのため互換品の品質も悪くなく、それでいて値段は安いです。

正規品本体の値段程度で豊富な部品が多数ついています。

 

学習用、遊び用、お試し用には安価な互換品がおすすめです。

 

 

上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。

 

Amazonでお得に買う方法

Amazonでお得に購入するなら、Amazonギフト券がおすすめです。

現金でチャージするたびに、チャージ額に応じたポイントが付与されます。

最大2.5%!!!(Amazonプライム会員ならさらにお得)

チャージ額(一回分)一般プライム会員
5,000円~19,999円0.5%1.0%
2,0000円~39,999円1.0%1.5%
40,000円~89,999円1.5%2.0%
90,000円~2.0%2.5%

さらに、初回チャージで2000ポイントもらえるキャンペーンも実施中!
※いつもは1000ポイント、今なら2000ポイントです!

\Amazonギフト券 2000ポイントキャンペーン/
Amazonチャージ 初回購入で2000ポイントキャンペーン

 

補足情報
コンビニ・ATM・ネットバンクが対象
購入は1円単位で可能

コメント

タイトルとURLをコピーしました