カテゴリー
Raspberry Pi

RN-42XVPを使った簡易Bluetooth照度センサの製作

RN-42XVPを使った簡易Bluetooth照度センサの製作

RN-42XVPの19番ピンはアナログ入力として使用することが出来ます。このことは、データシートには書かれていないのですが、ボクの独自の調査で(正確には、たまたま)発見し、書籍などで紹介しています。
ところが、この入力端子には入力インピーダンスが低い課題がありました。
そこで、簡易的なエミッタフォロワー回路を追加したところ、動作が安定することが分かったので紹介いたします。

製作方法

今回もブレッドボードを使用しました。BluetoothモジュールはRN-42XVPの互換品(秋月製)です。電池で動かすために、電源にはストロベリーリナックス社のDCDC電源回路つきXBeeピッチ変換基板(MB-X)を使用します。


照度センサNJL7502Lのエミッタをトランジスタ2SC1815(Yランク品)のベースへ入力し、トランジスタのコレクタを+電源へ、エミッタをADコンバータと1kΩの保護抵抗に接続します。
これにより、入力インピーダンスを大きくすことができるので、測定結果の変動を安定させることが可能です。ただし、この回路のベース入力には温度補正回路を付与していないので、温度が上がると高めの結果が得られます。ちなみに、電源を電池からとっていますが、電源電圧による変動は少ないはずです。
製作例では約13kΩの負荷抵抗に相当しました。この値は照度センサの代わりに100kΩの基準抵抗を挿入し、その両端の電圧(ベース電流)と、ADコンバータで得られた値から換算しました。
なお、ADコンバータの入力上限値である1780mVを超えない環境で使用してください。もし、超えるようであれば、トランジスタのランクを下げたり、負荷抵抗の値を低くしたりして、ADコンバータへ入力する電圧を下げてください。

実行例

pi@raspberrypi ~ $ ./a.out 00:06:66:72:xx:xx⏎
Bluetooth RN-42 Sensor
Bluetooth Remote
[sudo /usr/bin/rfcomm connect /dev/rfcomm 00:06:66:72:xx:xx &]
Connected /dev/rfcomm0 to 00:06:66:72:xx:xx on channel 1
Press CTRL-C for hangup
com=/dev/rfcomm0
CONNECTED
Hit any key to EXIT
AD1[3] = 123.7 Lux (0x0247,583mV)
AD1[3] = 135.7 Lux (0x024E,590mV)
AD1[2] = 135.7 Lux (0x024E,590mV)
AD1[1] = 135.7 Lux (0x024E,590mV)

新日本無線の照度センサNJL7502Lは、100luxにつき33μAの電流を流します。13kΩの負荷抵抗とともに使用した時は検出電圧を0.23倍すると照度を得ることが出来ます。この例では、ADコンバータの読み取り値に590mV、約136ルクスを得ました。ただし、実際の照度とは一致しない場合もあるので、明るさの目安として使用してください。

 value = adc[mV] ÷13kΩ]÷33[μA]×100[lux]
     ≒ adc × 0.233 [lux]

なお、Arduinoから本センサの値を取得する方法については、「ZigBee/Wi-Fi/Bluetooth無線用Arduinoプログラム全集」(CQ出版社)のP.405、Example 79「Bluetooth照度センサの測定値をリモート取得する」を参照し、プログラム(スケッチ)については、上記の換算式の部分だけを修正すれば良いでしょう。
Raspberry Pi用のプログラムはGit Hubで公開していますが、セットアップ方法などの説明資料が未完成につき、そのあたりの準備ができた段階で、提供できるようにする予定です。

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es