Arduinoと戯れてみる!
Amazon タイムセール祭り実施中!

~9/21(月)23:59

Amazon

Arduino 入門 Lesson 35 【光遮断センサ・遮光センサ】

arduino-lesson35-00Arduino入門編
スポンサーリンク
子供と一緒に始める マイコンプログラム
Arduino 入門
Lesson 35
【光遮断センサ・遮光センサ】

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

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

 

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

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

 

本記事はLesson 35 【光遮断センサ・遮光センサ】です。

本Lessonで使用する「光遮断センサ・遮光センサ」は「Photo Interrupter Sensor」「Optical broken Sensor」とも呼ばれます。

名前を統一してほしいです・・・。

 

原理は簡単。

発光素子」と「受光素子」が埋め込まれています。

2つの素子の間に遮光物があるかどうかを検知できるようになっています。

 

このセンサがなくても発光素子と受光素子があれば自分でも作れます。

それを一体型したということですね。

 

本Lessonで使用する「光遮断センサ・遮光センサ」は以下と同じものになります。

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

 

おそらく実装されているのは、この型番のセンサ。

Amazonだとオムロン製のものしかないかも・・・。

 

使い方は同じですがこんなものも。

 

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

 

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

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

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

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

 

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

 

スポンサーリンク

はじめに

本Lessonで使用する「光遮断センサ・遮光センサ」は動作は単純。

発光部からの光を受光部で検出するこよによって、物体の有無や使い方によっては位置を検出することができます。

 

本Lessonで使用する光遮断センサ・遮光センサは「透過型」と呼ばれるもの。

構造も簡単。(下図参照)

発光素子と受光素子を向き合わせて一体化しただけ。

特長としては以下が挙げられます。

  • 遮断するものは、完全遮光体でなければならない
  • 光軸の位置合わせ不要
  • 発光素子と受光素子の距離が決まっているため、検知対象物が限られる

 

arduino-lesson35-01

 

Lesson 35 目標

本Lessonの目標は以下です。

1.「光遮断センサ・遮光センサ」の使い方を学習する
2.「遮光」を検知するスケッチを描く
3.「光遮断センサ・遮光センサ」で遊ぶ

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

 

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

光を遮断すれば検知できるというもの。

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

 

例えば、カード、チケットの通過を検知する。

 

位置の検知も可能です。

液体のはいったボックスに遮光物をいれておき、遮光センサの位置まで液面が下がったら遮光するようにすれば、位置検知ができますよね。

 

また、「ある」「なし」の検知も可能です。

通常セットした状態で遮光しておいて、セットしたものがなくなれば知らせるといった仕組みも可能です。

 

この「光遮断センサ・遮光センサ」、用途を考えると色々使い道があることがわかります。

使い方は簡単なので応用の幅が広がります。

 

準備

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

 

部品は「光遮断センサ・遮光センサ」のみ。

センサ型番は「SX1103」。

モジュールは「KY-010」で検索すると出てくるようです。

 

下記に示す実装されたモジュールであれば10kΩ、330Ωの抵抗が面実装されています。

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

 

センサだけでも、抵抗があれば遊ぶことができます。

センサ型番「SX1103」で探してください。

 

必要なもの

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

 

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

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

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

抵抗も単品で揃えるよりはセットをおすすめします。

 

使用部品説明

光遮断センサ・遮光センサについて説明していきます。

 

光遮断センサ・遮光センサ 実物写真

下の写真が光遮断センサ・遮光センサの実物写真です。

 

搭載されているセンサは「SX1103」。

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

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

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

真ん中のくぼんだ所を遮光することで検知します。

arduino-lesson35-02

 

 

光遮断センサ・遮光センサ 回路図

光遮断センサ・遮光センサの回路図を示します。

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

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

注意
330Ωは発光素子の仕様に合わせて変更可能です。
順電圧、順電流を考慮して決めてください。
わからない場合は、330Ωをつけておけば大丈夫です!

 

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

arduino-lesson35-03

 

 

こちらがセンサモジュールのピン配置。

arduino-lesson35-04

 

 

光遮断センサ・遮光センサ SX1103 仕様

詳細仕様はデータシートを確認いただくのが良いと考えます。

 

オムロン製であれば以下となります。

 

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

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

 

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

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

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

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

 

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

 

回路図

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

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

あとは、5VとGNDのみ。

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

 

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

arduino-lesson35-05

 

 

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

arduino-lesson35-06

 

 

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

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

 

接続

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

部品は「光遮断センサ・遮光センサ」とLED、抵抗のみとなります。
※SX1103が実装されたモジュール
※外付けのLEDは無しでもOK

 

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

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

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

 

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

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

arduino-lesson35-07

 

 

コードの書き込み

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

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

 

コマンド説明

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

 

サンプルコード

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

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

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

//Lesson 35 光遮断センサ・遮光センサ
//光の遮断を検知するセンサ
//https://omoroya.com/

//★補足★
//使用モジュール      KY-010
//モジュール実装センサ SX1103

int led   = 13; //光遮断センサ・遮光センサ状態の出力先
int shade = 10; //光遮断センサ・遮光センサの信号ピン接続先
int val;        //変数設定

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

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

  if (val == HIGH) {         //10番ピンが"HIGH"遮蔽がある場合
    digitalWrite(led, HIGH); //13番ピンに"HIGH"を出力
  }
  else if (val == LOW) {     //10番ピンが"LOW"遮蔽がない場合
    digitalWrite(led, LOW);  //13番ピンに"LOW"を出力
  }
}

 

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

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

  • センサ遮光なし → LED消灯
  • センサ遮光あり → LED点灯
センサ状態LED状態
センサ遮光なしarduino-lesson35-08
センサ遮光ありarduino-lesson35-09

 

光遮断センサ・遮光センサを「遮光」するとLEDが点灯します。

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

 

まとめ

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

1.「光遮断センサ・遮光センサ」の使い方を学習する
2.「遮光」を検知するスケッチを描く
3.「光遮断センサ・遮光センサ」で遊ぶ

 

光遮断センサ・遮光センサを使えば・・・

何かが通過した!

物体(液体)の位置検知!

物体の「ある」「なし」を検知!

というように色々なことを検知することができます。

身近なものに応用しやすい便利なセンサです!

 

Lesson 35【光遮断センサ・遮光センサ】 はここまで。

色々工夫ができます。

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

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

 

次回、Lesson 36は【RGB フルカラー LED SMD】。

カラフルな色で遊びましょう。

Arduino 入門 Lesson 36 【RGB フルカラー LED SMD】
本記事はLesson 36 【RGB フルカラー LED SMD】です。Lesson 04 【RGBダイオード制御編】の別バージョン。普通のLEDと違い発光部分が平面になっているため綺麗に見えるかもしれません。LEDは大きく3つの種類があげ…

 

最後に

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

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

さらに、初回チャージで1000ポイントもらえるキャンペーンも実施中!

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

 

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

コメント

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