Arduinoと戯れてみる!

Arduino 入門 Lesson 40 【タッチセンサ その2】

touch-sensorArduino入門編
スポンサーリンク
子供と一緒に始める マイコンプログラム
Arduino 入門
Lesson 40
【タッチセンサ その2】

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

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

 

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

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

 

本記事はLesson 40 【タッチセンサ その2】です。

Lesson 39でタッチセンサで遊びました。
※「金属タッチセンサ」「人体タッチセンサ」「接触センサ」などともよばれているようです。

人体、金属が触れたことを検知するセンサです。

 

ダーリントントランジスタIC(KSP13)、コンパレータIC(LM393)が実装されたセンサモジュールを使いました。

前回のLessonにて軽く触れましたが、もう少し簡易的な回路をブレッドボード上に作って遊ぶことができます。

 

使うのは「SC1815」NPNのトランジスターです。

 

単品での購入は割高のためセットで購入するのがおすすめ。

色々ありますので検索してみてください。

※ただし、使用用途がなければ単品を・・・。

 

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

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

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

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

 

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

 

スポンサーリンク

はじめに

本Lessonはセンサモジュールを使わずにタッチセンサーを自作します。

使用するのは「SC1815」NPNトランジスター。

ブレッドボード上に簡易的なタッチセンサーを作ることができます。

電源とトランジスタのベースを指でショートさせLEDを光らせるというもの。

 

回路は単純でして。

トランジスタ1個、LED、抵抗のみで構築可能です。

電源とベース端子を指でショートすることで指を介してベース電流IBが流れる。

ベース電流IBが流れたときのコレクタ(C)電流が流れLEDが光るというもの。

 

Lesson 40 目標

本Lessonの目標は以下です。

1.モジュールを使わずに自作のタッチセンサを作る
2.自作のタッチセンサで遊ぶ

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

 

今回は電源さえ取れればArduinoはいらないのですが・・・

NPNトランジスタのコレクタ電圧をアナログ入力で測定してみましょう。

指で触ったときコレクタ電圧がどう変動するか確認することができます。

 

トランジスタの動作については詳しく解説しません。

まずは、遊んでこんなことできるんだな~というところから入る。

興味があったらトランジスタの世界をのぞいてみてください。

興味がないと苦痛なのでトランジスタの世界はのぞかないでください。

 

準備

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

 

部品は「CS1815」「LED1個」「抵抗2個」の4つです。

CS1815を2つ使用して「ダーリントン接続」にしようかと思いましたがLEDの点灯、消灯確認だけであれば1つでも十分です。

 

必要なもの

※ブレッドボードはセンサとUNOを直接つなぐ場合不要です。
※ジャンパワイヤーは「M-M」「M-F」を必要に応じて使い分けてください。

 

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

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

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

 

使用部品説明

SC1815」で組んだタッチセンサーについて説明していきます。

 

使用部品 実物写真

下の写真が使用部品の実物写真です。

「SC1815」「LED」「抵抗」のみ。

touch-sensor-02

 

SC1815を用いた回路図

SC1815で組んだ回路図を示します。

  • VCC  Arduinoの5Vに接続
  • GND ArduinoのGNDに接続
  • A0  Arduinoのアナログ入力ピンへ接続(使わない場合接続不要)
  • A、Bは指でショートする端子となります。

Arduinoを電源だけで使うのは・・・なので。

本LessonではA0を以下の用途に使います。

  • A0:コレクタ電圧のレベル確認

touch-sensor-01

補足(抵抗について)
ノイズ対策のためにベースーエミッタ間抵抗を入れるのですが本Lessonでは理由があっていれていません。
また、ベース抵抗は電流を絞りたいため1MΩを接続しています。

 

簡単に回路動作を説明すると以下。

  1. 端子A、端子Bを指でショートさせる
  2. Q1のベース電流(Ib)が流れることで、コレクタ電流が流れる
  3. LEDが点灯

 

SC1815 仕様

興味のあるかたは「SC1815」トランジスタの仕様を確認してみてください。

秋月電子などで検索すると簡単に見つかります。

 

本Lessonは遊び、学習を想定しています。

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

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

 

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

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

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

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

 

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

 

回路図

SC1815」「LED」「抵抗」のみの回路です。

Arduinoは電源の取得とコレクタ電圧の確認に使います。

アナログ入力としてA0を使用。

 

回路図がこちら。

touch-sensor-03

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

touch-sensor-04

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

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

 

接続

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

部品は「SC1815」「LED」「抵抗」のみとなります。

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

 

使用するポートは、アナログ入力A0、5V、GND。

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

touch-sensor-05

 

コードの書き込み

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

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

 

コマンド説明

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

 

サンプルコード

コレクタの電圧をモニタするためだけのサンプルコードです。

電源のみ使用する場合はコードも不要。

電源を別に取るのであればArduino も不要ですが・・・。

//Lesson 40 タッチセンサ SC1815(touch sensor SC1815)
//SC1815 NPNトランジスタを使った接触を検知するセンサ
//https://omoroya.com/

int AQ0 = A0; //センサモジュールA0の出力先
  
void setup (){   
  Serial.begin (9600); //シリアル通信のデータ転送レートを9600bpsで指定
}
  
void loop (){
  float A0_out;

  //コレクタの値を読み取り電圧値を計算
  A0_out = (float)analogRead(AQ0) / 1024.0f * 5.0f;
  
  Serial.print ("A0 voltage value:");
  Serial.print (A0_out, 4);
  Serial.println ("V, ");
  delay(200);
}

 

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

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

端子Aと端子Bを指でショートさせてください。

  • 接触なし → LEDは消灯
  • 接触あり → LED点灯

 

■触っていない状態

touch-sensor-06

 

 

■触っている状態(点灯)

touch-sensor-07

 

端子Bのみに触った状態

touch-sensor-08

端子A、端子BをショートしていなくてもLEDが点灯しています。

ショートしているときに比べればLEDは暗いですが。

 

どういうことかというと。

僅かなベース電流で動作するようになっているためノイズを拾って動作してしまうんですね。

ベース – エミッタ間抵抗を入れなかったのは、端子Aと端子Bをショートしなくても実は光るよというのを見せるためです。

 

まとめ

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

1.モジュールを使わずに自作のタッチセンサを作る
2.自作のタッチセンサで遊ぶ

 

モジュールを使わなくても、単純に作ることができます。

ダーリントン接続を利用すればLEDをもっと明るく点灯させることも可能。

こんなところから、回路入門として遊んでみるのも1つです。

 

Lesson 40 【タッチセンサ その2】 はここまで。

色々工夫をすれば遊びに使えるセンサです。

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

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

 

次回、Lesson 41は 【タッチセンサ その3】。

まだ、色々あるんです。

Arduino 入門 Lesson 41 【タッチセンサ その3】
Lesson 39、40でセンサモジュールとトランジスタのタッチセンサで遊びました。似たようなセンサモジュールを見つけたので「その3」でご紹介。こちらのセンサーモジュールも2回路入り低動作電圧低オフセット電圧コンパレータLM393を使用した…

 

最後に

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

この電子部品の解説をしてほしい!などなどなんでも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をコピーしました