2010年2月13日土曜日

活用Bパーツ:SCP1000-D01 気圧 barometic pressure センサ

Sparkfun の SCP1000-D01 気圧 barometic pressure センサボードの Arduino Duemilanove での使い方.
SCP1000-D01 は電源電圧 3.3V 仕様のSPI接続センサで,電源の質や入力の電圧レベルに敏感なようだ.入荷したのは rev. C とよばれるもの.

Duemilanove 328 は 5V 仕様.3.3V 出力を備えているが,入出力は落とさなければならない.
SPIはマスタ(Arduino側)出力が3本,入力が1本で方向が固定のため,そんなに難しくはない.
(1)出力の電圧を落とすには,クロックSCK,データアウトMOSI,チップセレクトCS を割り当てる13番,11番,10番にそれぞれ 10k Ohm の抵抗2本を直列でGNDの間につなぎ,その中点から約 2.5V を取り出し,SCP1000側につなぐ.
気を利かしたつもりで 5k + 10 k にして 3.3V ぐらいを取り出してつないでも,うまく動かない.
(2)MISO からの入力の電圧を上げるには,小型・低ゲート容量のパワーMOSFET を用意し,ゲートを3.3Vに,ソースをSCP1000のMISO に,ドレインを Arduino のMISOピン12番につなぎ,4.7k 〜 5.1k Ohm 程度の抵抗2本をゲート(3.3V)とソースの間,ドレインと5Vの間に入れる昇圧回を入れる.
これは I2C のレベル変換回路の転用.FET は5LN01SPでうまくいった,もう少し大きくて遅いものでも動くだろう.2SK2232 はムリではなかろうか(リードが太くてブレッドボードに刺さりにくい).
めんどくさければ,Sparkfun のロジックレベル変換ブレイクアウト・ボードを利用してください.

もしかしたら,出力は昇圧しなくても3.0Vぐらいあって Arduino は HIGH と認識できるかもしれない. 

0 件のコメント:

コメントを投稿