hagechipのブログ -20ページ目

hagechipのブログ

ブログの説明を入力します。

お久しぶりですhagechipです←

 

今回は照度センサ(フォトトランジスタ)を使用して、明るさを計測します。

日照時間のデータ取得のためです。

 

明るければ太陽が出てて、暗ければ太陽は隠れている。的な。

日照計は高いので、安上がりなフォトトランジスタを使います。

最悪測定できなくてもいいしね。(その時は気象庁のデータを使う)

 

実はコードは前回の土壌センサで使用したものをそのまま使えるため、

今回やることはあまりありません。

 

現段階の結論を先に書いておくと、

・明るさで変化する値を取得するのは可能

・精度があまりよくなさそう

・晴れ、曇りでどの程度の差が出るのかは不明

 (そこまで大きな差は出ない気がする)

→それっぽいの値を得ることはできたが、

 実際に使えるかはもっと検証しないとわからない。

 というか厳しいのではないかと思っている。

 

 

目次

・用意するもの

・コードについて

・回路接続

・計測実行

 

用意するもの

・各種電子工作部品

・フォトトランジスタ

・ADコンバータ

 

電子工作部品については、どのセンサを使用する場合にも

必要なので、下のページにまとめています。

http://ameblo.jp/hagechip/entry-12276345664.html#parts

 

・フォトトランジスタ

明るさによって出力が変わるトランジスタです。

今回はこれを使用します。

・照度センサ(フォトトランジスタ)NJL7502L(新日本無線)

(リンクは秋月電子)

 

2個で100円!安いですね!

人間の目に最適化されたものですが、いくら探しても太陽光で

最適化されたセンサが見つからなかったのでこれを使用します。

 

 

今回も出力はアナログ値です。

前回同様、ADコンバータも使用します。

ADコンバータ:MCP3208-CI/P (Microchip社)

(リンクは秋月電子)

 

コードについて

冒頭に書いたとおり、コードは土壌センサで使用したものをそのまま使用できます。

実際に使うときはADコンバータの0chに土壌センサ、1chに照度センサを接続して

使い分けをすることになるのかな。。。

そこら辺は最終的に全部つなげるときに記載します(たぶん)

 

基本コード

ハウス栽培コード1:ADコンバータ入力値取得

 

前回作成してる人はファイルをコピーして、MeasureIlluminance.pyとでも名付けましょう。

69行目に記載してる出力ファイル名は変更しておきましょうかね。

try:
    f = open('/home/pi/MoistureLog.csv', 'a')

 

これを

try:
    f = open('/home/pi/IlluminanceLog.csv', 'a')
とか
 

回路接続

フォトトランジスタには入力と出力しかなく、

  電圧は常にかけておく → 明るさで出力電流が変わる

というものなので特に難しい制御はありません。
ただ、向きがあるのでそれだけ注意して接続しましょう。
 
違いは足の長さと、上のランプ部分(?)の形状です。
足が短く、上部が欠けている方がマイナスです。
 
 
また、足が長いままブレッドボードで使用すると、
他の回線と接触してしまい危険なので短くしました。
ここでも向きがわかるよう、しっかり差をつけましょう。
 
 
これを繋いでいきます。
ここではADコンバータ - RaspberryPiの配線は省略し、
フォトトランジスタ側の配線(緑とオレンジ)の写真を貼っておきます。
 
 
ADコンバータ - RaspberryPiの配線は
土壌センサ接続時の土壌センサ接続の章を参照してください。

ハウス栽培5:土壌センサを使って土壌の湿気計測

 
文字で書くとこんな感じ

フォトトランジスタ:+側 - ラズパイ:5VPower

フォトトランジスタ:-側 - MCP3208:0ch

 

(ADコンバータ - RaspberryPiは前回と同じ)

MCP3208:VDD - ラズパイ:5VPower

MCP3208:VREF - ラズパイ:5VPower

MCP3208:AGND - ラズパイ:Ground

MCP3208:CLK - ラズパイ:BCM11番ピン

MCP3208:DOUT - ラズパイ:BCM9番ピン

MCP3208:DIN - ラズパイ:BCM10番ピン

MCP3208:CS/SHDN - ラズパイ:BCM8番ピン

MCP3208:DGND - ラズパイ:Ground

 

 

配線について

ちゃんと計測できてるのか疑問が生まれてきました

フォトトランジスタは明るさにより"出力電流"が変化する

ADコンバータ(MCP3208)は"基準電圧(VREF )と入力電圧(0ch)の比"を出力

(基準電圧にはラズパイ:5VPowerを接続してる)

 

上の回路でちゃんと計測できているのかな・・・?

 

他のサイトを見てると「フォトトランジスタ - ADコンバータ間に抵抗を直列に接続」したり、

「フォトトランジスタの出力に、ADコンバータと抵抗を並列に接続」したりしてます。

 

前者は抵抗で電圧降下が起きてしまうので、ADコンバータの入力電圧が小さくなるだけです。

だダイナミックレンジも小さくなるので精度がちょっと落ちてしまうと思います。

 

後者は並列接続のため取得できる値に関係がありません。

「明るさごとにフォトトランジスタからの出力電流が決まっているため、
抵抗での電圧降下がわかる」なんてことを書いてあるサイトもありましたが、
並列で接続されるため抵抗には出力電流のうち一部しかたどり着きません。。。
 
どうやったら正しく計測できるのでしょうか。。。

フォトトランジスタの電圧降下について勉強が必要ですね。。。

(土壌センサ使うときもMCP3208は"出力電流"を計測してるもんだと思ってた)

 

 

まぁよくわかりませんが、次の章の通り、相対値ですがそれっぽい値を

取得できているため、ひとまずは上記回路で進めました(´ε` )

 

 

計測実行

計測を行ってみます。

暗めの部屋でスマホのライトを近くから当てたり、遠くから当てたり、
トランジスタに光が当たらないようにモノをかぶせたりして計測をしました。
 
結果はこんな感じです。
 
光が当たらないようにした場合は電流が流れないため、
出力が0になるのは正しいでしょう。
その他のときにも光が強い方が値が大きくなってはいるようですが、
値のばらつきが大きく、光の強さによる差が小さいです。。。
 
実際に外で使用するのは厳しいのではないかと思っています。。。
 
 
書きながら思ったけど、トランジスタの電圧降下って電流が流れてる間は一定なのかな?
ちゃんと出力電流を計測できるようにしないといけないのかも?
  フォトトランジスタと抵抗を直列に接続する。
  →MCP3208:VREF を抵抗の+側、MCP3208:0chを抵抗の-側に接続とか??
できるのか???
 
まぁ気が向いたらもうちょっと調べます。
 
 
終わりに
ここにきていろいろ疑問が生まれてきました。。。
何となく動いてるって怖いねww
 
さて、今日はハウス設置!
長靴を買ってこなければ!!
熱中症に気をつけて進めていきます^^
今日も熱くなりそうです。みなさんも熱中症には気をつけましょう。
 

まだまだ栽培できる状態に持っていくのは先になりそうですね。

このペースは。。。あまり良くない気がしますww