Arduino 入門
Lesson 38
【ノックセンサ】
こにんちは、管理人のomoroyaです。
センサーの使い方の基本を学習する入門編。
世の中には、まだまだ色々なセンサーがあります。
これからも、色々なセンサーで遊んでいきます。
本記事はLesson 38 【ノック センサ】です。
ものを打つ(knock:ノック)という意味で打撃、衝撃を検出するセンサです。
打撃、衝撃を検知できるため、Lesson 34で学習した「振動センサ」とほぼ同じようなセンサ。
また、Lesson 08で学習した、「チルトスイッチ・チルトセンサ」いわゆる傾斜センサとイメージは一緒です。
本Lessonで使用するノックセンサ(knock sensor)は以下が同等品となります。
基板に実装されているモジュールとなります。
モジュールのため、抵抗10kΩが実装されています。
※プライム対応品を掲載。
Arduino入門編の解説にて使用しているArduinoは互換品です。
互換品とは言え、Arduinoはオープンソースであり複製して販売するのもライセンス的に問題なし。
そのため互換品の品質も悪くなく、それでいて値段は安いです。
正規品本体の値段程度で豊富な部品が多数ついています。
正規品(Arduino UNO R3)の本体単品がほしい方はこちらとなります。
Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)
はじめに
本Lessonで使用する「ノックセンサ」、動作は単純。
静止状態では非導通状態を維持し、外力により打撃(衝撃)が発生すると導通状態になるというもの。
構造も簡単。
打撃(衝撃)で動く金属バネのようなものが入っています。
打撃(衝撃)を与えると、金属バネ側の電極が、もう片方の電極に触れて導通するという単純なしくみ。
Lesson 38 目標
本Lessonの目標は以下です。
2.打撃(衝撃)を検知するスケッチを描く
3.ノックセンサで遊ぶ
いつものように、遊ぶことが重要です。
今回のセンサは構造も単純。
ノック(knock)することで、2つの金属がくっついたら導通というしくみ。
単純なだけに、使い道は色々あります。
打楽器につけて、ノックセンサとLEDをつけて音と光のコラボレーションを楽しむとか遊びにもつかうことができます。
みじかな打楽器につけて遊ぶと面白いはず。
たとえば、タンバリン。
カスタネットもありですね。
打楽器のスティックにつけるとか・・・。
準備
ではLessonの準備に取り掛かりましょう。
部品は「ノックセンサ(knock sensor)」のみ。
ノックセンサが実装されたモジュールがあると抵抗が面実装されています。
そのため、改めて10kΩの抵抗を用意する必要はありません。
センサだけでも、10kΩ程度の抵抗が1本あれば遊ぶことができます。
必要なもの
- USB接続用のPC(IDE統合環境がインストールされたPC)
→管理人が勝手に比較したBTOメーカーを紹介しています。 - UNO R3(以下UNO)、おすすめUNO互換品(ELEGOO)
- PCとUNOを接続するUSBケーブル
- ブレッドボード安価(大)、ブレッドボード安価(中)
※おすすめブレッドボード(大)、おすすめブレッドボード(中) - ノックセンサ(knock sensor) モジュール
- 10kΩ 1本、330Ω 1本
※10kΩはセンサ単体の場合必要。330ΩはLEDを使用する場合必要 - M-M Jumper wire(UNOと部品をつなぐための配線)
- M-F Jumper wire(UNOと部品をつなぐための配線)
※ジャンパワイヤーは「M-M」「M-F」を必要に応じて使い分けてください。
Jumper wire、抵抗は今後も頻繁に利用します。
Jumper wireはできれば、「オス-メス オス-オス メス –メス」の3種類を揃えておくことをお勧めします。
短めが使いやすい場合も。
抵抗も単品で揃えるよりはセットをおすすめします。
抵抗、LEDなどを個別でセット品を購入しても、そんなに使わない!
という方は、「電子工作基本部品セット」が使い勝手が良い。
使用部品説明
ノックセンサ(knock sensor)について説明していきます。
ノックセンサ 実物写真
下の写真がノックセンサの実物写真です。
本Lessonで使用するものは、ノックセンサが基板実装されたもの。
また写真のR1の部分に10kΩが面実装されています。
センサ単体で使用する場合は、この10kΩに相当する抵抗を用意してください。
ノックセンサ 回路図
ノックセンサの回路図を示します。
10kΩが実装されたモジュールの回路図となります。
センサ単体で組む場合は、10kΩを別に用意して下に示す回路図通りに組んでください。
- 1:VCC Arduinoの5Vに接続
- 2:GND ArduinoのGNDに接続
- 3:S Arduinoで処理するピンに接続
製造メーカーによって、GND(-)とSの位置が逆の場合もあります。
ノックセンサ 仕様
ある意味ただのスイッチのため省略します。
遊び、学習を想定していますので、耐久性等々も気にする必要はなし。
Arduinoの仕様範囲内で使用していれば問題になることもありません。
遊び、学習以外での使用用途をお考えの場合はデータシートを必ず確認しましょう。
実践 回路作成とコード作成
最初に回路図を確認してください。
次に、回路図に合わせて部品を接続します。
最後にコードを書いて、振動センサを動かしていきましょう。
Arduinoのピン配置を確認したい方は番外編02を参照してください。
回路図
ノックセンサが実装されたモジュールの端子を接続していきます。
Arduinoはデジタル入力ピンとして10、デジタル出力として13を使用。
あとは、5VとGNDのみ。
回路図がこちら。
※LEDが不要の場合は、13番ピンには何も接続する必要はありません。
こちらがブレッドボード図。
回路図は「fritzing」を利用しています。
「fritzing」の使い方は下記を参照してください。
接続
下図に示すように、用意した部品を使用して接続しましょう。
部品は「ノックセンサ」、LED、抵抗のみとなります。
※センサが実装されたモジュール
部品は3個、接続は簡単です。
振動センサと接続するジャンパーワイヤーはF-Mを使用してます。
そのため、Arduinoに面実装されているLEDで確認する場合はブレッドボードもいりません。
毎回ブレッドボードにLEDをセットするのも面倒なので「Lチカ」自作しました。
おすすめです。
使用するポートは、デジタル入力10、デジタル出力13、5V、GND。
穴に挿入しづらいときは、ラジオペンチなどを使用してください。
コードの書き込み
接続が終わったら、USBケーブルを使用してUNOにプログラムを書き込んで行きましょう。
コードを書き終えたら、いつでも利用できるように「ファイル」⇒「名前を付けて保存」で保存しておきましょう。
コマンド説明
本Lessonでは、特に新しいコマンドはありません。
サンプルコード
本Lessonのスケッチではデジタル出力として13を指定しています。
そのため、外付けのLEDがなくてもArduinoに面実装されているLEDが「点灯」「消灯」します。
面実装されたLEDで確認できるため外付けのLEDはなしでもかまいません。
//Lesson 38 ノックセンサ(knock sensor) //衝撃(振動)を検出するセンサ //https://omoroya.com/ 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の「点灯」「消灯」
では、さっそく動作を確認していきます。
ノックセンサをトントンとしてみてください。
指ではじいてもOK。
光る時間は好みで調節してください。
- 打撃(衝撃)なし → LEDは消灯
- 打撃(衝撃)あり → LED点灯
打撃(衝撃)を与えた状態。
ノックセンサ(knock sensor)を持って机に「トン」とすると光ります。
自作の「Lチカ」が光っています。
ノックセンサに打撃(衝撃)を与えるとLEDが点灯しました。
まとめ
本Lessonは、以下を目標としました。
2.打撃(衝撃)をを検知するスケッチを描く
3.ノックセンサ(knock sensor)で遊ぶ
ノックセンサを使えば打撃(衝撃)に反応して何かをさせるといったことができます。
LEDと組み合わせて、検知したら光らせる。
打楽器につけて、LEDを光らせれば音と光を組み合わせた打楽器を作ることも可能です。
Lesson 38【ノックセンサ】 はここまで。
色々工夫をすれば遊びに使えるセンサです。
ぜひ、遊んでみてください。
疑問点、質問などありましたら気軽にコメントください。
次回、Lesson 39は 【タッチセンサ その1】。
手で触ったことを検知できるセンサです。
最後に
疑問点、質問などありましたら気軽にコメントください。
この電子部品の解説をしてほしい!などなどなんでもOKです。
リンク切れ、間違いなどあればコメントいただけると助かります。
Arduino入門編、番外編、お役立ち情報などなどサイトマップで記事一覧をぜひご確認ください。
Arduino入門編、Arduino入門編2で使用しているUNOはAmazonにて購入可能です。
Arduino入門編では互換品を使用。
Arduinoはオープンソース。
複製して販売するのもライセンス的に問題なし。
そのため互換品の品質も悪くなく、それでいて値段は安いです。
正規品本体の値段程度で豊富な部品が多数ついています。
学習用、遊び用、お試し用には安価な互換品がおすすめです。
ELEGOO UNO キット レベルアップ チュートリアル付 uno mega2560 r3 nanoと互換 Arduino用
上記のものでも十分に多数の部品が入っていますが、最初からもっと多数の部品が入っているこちらもお勧めです。
Arduino入門編2では「Arduino UNO R4 Minima」「Arduino UNO R4 WIFI」にて遊ぶため今のところは正規品を使用。(まだ互換品が・・・ほぼない)
Amazonでお得に買う方法
Amazonでお得に購入するならAmazon Mastercard、Amazonギフト券がおすすめです。
時期により異なりますが、様々なキャンペーンを実施しています。
\Amazonギフト券/
Amazonギフトカード キャンペーン
\Amazon Mastercard お申込み/
Amazon Mastercard 申し込み
いずれの場合もプライム会員である方がお得!!
\Amazon Prime 30日間の無料会員を試す/
無料会員登録
コメント