Arduinoで自然光の明るさを計測する
このブログはこんな人にオススメです
  • アルディーノ最近始めました!って人
  • 自然光の光を計測したい!って人
  • 回路図とプログラムを見たい!って人

こんにちは.けんゆー(@kenyu0501_)です.
今日はフォトレジスタを使って自然光の明るさを計測します.

フォトレジスタは,光の強度が増加すると電気抵抗値が下がる電子部品になります.

今回はCdSセル(硫化カドミウム)という,かなりポピュラーなフォトレジスタを使います.

以下のようなものです.

 

CdSセルは映像の一番後ろ側にあります.
周囲の明るさを計測して,暗ければLEDの照度をあげるような回路です.

周囲の明るさを計測したあとは,LCDによりデジタル的に表示するものと,LEDによりアナログ的に表示するものの2つに分けてます.

回路図

回路図はこのような感じです!
興味がある人は真似して見て下さい!

なお,LCDに関してはI2C通信をしています.
接続は4本のワイヤのみですが,混乱している方は以下を参考にしてみてください.
(参考:Arduino,I2C通信により4本のケーブルでLCDを動かす!

プログラム

プログラムはこちらです!

Prototyping Labを参考にしていますが,I2C通信にてLCDを表示してます.

周りの環境が明るければLEDは暗くなり,周りの環境が暗ければLEDは明るくなります.

CdSセルの代替!?

このCdSセルは,光の強度を電圧に変換することのできる優れものであり,セルの感度が人間の視覚的なものに非常に近いです.
また,セルの価格もかなり安いです.

しかしながら,近年では,セルの中に有害物質が問題となっており,年々入手が困難になってきているそうです.
そのため代替センサとして,パナソニック電工の照度センサNaPiCa(AMS302)が同じような接続方法で使用できるようです.
(参考:Prototyping Lab)

 

かなり多くのセンシングが可能!

光計測の他にも,Arduinoはいろんなセンシングが実装できます.
例えば

  • 距離(赤外線センサや超音波センサ)
  • 振動(ピエゾ素子)
  • タッチ判定,直線上の位置(SoftPot)
  • 圧力(感圧センサ)
  • 曲がり具合(曲げセンサ)
  • 温度(温度センサ)
  • 傾き(チルトセンサ,水銀)
  • 動き(加速度センサ)
  • 方位角(デジタルコンパス)
  • 人体感知(焦電センサ)

などなど,かなりの数があります.
このブログでも余裕があれば全て取り上げて行きます!