渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Arduino 光センサーを使ってみる


子供といつか電子工作をやる日のために勉強していると言っても過言ではないArduino頑張り中です。

今回はセンサーを使ったサンプルです。
光の明るさの値を取得して、しきい値を超えたらLEDが点灯するみたいなものを作ります。使用する光センサー(CdSセル)は明るい状態だと抵抗値が小さく、暗くすると抵抗値が大きくなるという性質を持っています。

光センサをアナログピンから電圧を取得し、その値によってLEDの点灯/消灯を切り替えてみるサンプルです。

Arduino側

f:id:esakun:20181116014508p:plain:w450

  • 黄色ケーブル : A0番ピン
  • 青ケーブル : GNDピン
  • 赤ケーブル : 5Vピン
  • LED : 13番ピンとGNDピン

少し補足説明

赤ケーブルからは5Vの電圧が出力されます。
黄色ケーブルのA0番ピンはアナログ入力ピンです。デジタルとアナログの2種類が存在し、デジタルピンHIGHT(ON) / LOW(OFF)の状態が取得でき、アナログピンは電圧を0〜1023の数値で取得することができます。
例えば5Vの電圧が流れてきている場合、1023とPC上で表示されれば、5Vですし、100と表示されれば、5*100/1023 = 約0.488Vで流れてきているということになります。

ブレッドボード側

f:id:esakun:20181116014535p:plain:w450

  • 黄色ケーブル : 14番
  • 青ケーブル : 20番
  • 赤ケーブル : 22番
  • 光センサー : 14番、22番
  • 抵抗器 : 14番、20番

抵抗器について

何も知らずに使うのもアレなので、もう少し抵抗器について調べておきます。
今回のタイプの抵抗器をカーボン皮膜抵抗器と呼びます。

カーボン皮膜抵抗器にはカラーコードがあり、そこから抵抗値を割り出すことができます。 f:id:esakun:20181118024124p:plain:w240
引用元 : 抵抗器 | Wikipedia
コチラの画像のようにカラーコードに割る振られた数値から抵抗値を計算できます。

4本線の場合は、 1本目・・・10の位の数値 2本目・・・1の位の数値 3本目・・・乗算値 4本目・・・誤差

今回使用した抵抗値は、茶1、青6、赤102、金(誤差±5%)なので、16*100 = 1600 = 1.6kΩ(誤差±5%)の抵抗ということになります。

f:id:esakun:20181116014549g:plain:w450

このように光センサーを指で触ると(暗くすると)、LEDが点灯します。

参考