こんにちは、エンジニアのオオバです。
定期的に執筆したいArduinoのパーツ調査記事シリーズです。
今回は光センサーを使ってみたいと思います。
→11万文字で徹底解説した「DOTweenの教科書」Unityアニメーションの超効率化ツールはこちら
光センサーとは
光センサー(CdSセル)は明るい状態だと抵抗値が小さく、暗くすると抵抗値が大きくなるという性質を持っています。
今回作るもの
光の明るさの値を取得して、しきい値を超えたらLEDが点灯するみたいなものを作ってみます。
指で光センサに触れたらLEDを光らせます。
光センサをアナログピンから電圧を取得し、その値によってLEDの点灯/消灯を切り替えてみるサンプルです。
Arduino側
- 黄色ケーブル : A0番ピン
- 青ケーブル : GNDピン
- 赤ケーブル : 5Vピン
- LED : 13番ピンとGNDピン
少し補足説明
赤ケーブルからは5V
の電圧が出力されます。
黄色ケーブルのA0番ピン
はアナログ入力ピンです。デジタルとアナログの2種類が存在し、デジタルピン
はHIGH(5V) / LOW(0V)
の状態が取得でき、アナログピン
は電圧を0〜1023の数値で取得することができます。
例えば5Vの電圧が流れてきている場合、1023とパソコン上で表示されれば、5Vですし、100と表示されれば、5*100/1023 = 約0.488Vで流れてきているということになります。
ブレッドボード側
- 黄色ケーブル : 14番
- 青ケーブル : 20番
- 赤ケーブル : 22番
- 光センサー : 14番、22番
- 抵抗器 : 14番、20番
抵抗器について
何も知らずに使うのもアレなので、もう少し抵抗器について調べておきます。
今回のタイプの抵抗器をカーボン皮膜抵抗器
と呼びます。
カーボン皮膜抵抗器にはカラーコードがあり、そこから抵抗値を割り出すことができます。
コチラの画像のようにカラーコードに割る振られた数値から抵抗値を計算できます。
4本線の場合は、
本数 | 内容 |
---|---|
1本目 | 10の位の数値 |
2本目 | 1の位の数値 |
3本目 | 乗算値 |
4本目 | 誤差 |
今回使用した抵抗値は、茶1、青6、赤10^2、金(誤差±5%)なので、16*100 = 1600 = 1.6kΩ(誤差±5%)
の抵抗ということになります。
このように光センサーを指で触ると(暗くすると)、LEDが点灯します。
この記事が気に入ったらフォローしよう
- macOS Mojave 10.14
- Arduino Genuino 1.8.7
- Arduino/Genuino Uno