Quantcast
Channel: JH7UBCブログ
Viewing all articles
Browse latest Browse all 440

IchigoJam温度計

$
0
0
手持ちの温度センサーLM35DZを使って、IchigoJamで温度計を作ってみました。
 
LM35DZは、動作電圧4~20V 測定範囲 0~100℃ 出力10.0mV/℃です。
 
このように3.3Vではなく、5V動作のディバイスがまだたくさんあります。
 
そこで、自作IcigoJam互換機に5V取り出し用のピンソケットをつけ、ブレッドボード上に組んだ温度計回路と接続しました。
イメージ 1
 
 LM35DZの出力をAN2に入れただけでも測定は可能ですが、今回は精度を上げ1/10℃まで測定できるように汎用OPアンプLM358を使って約3.3倍増幅しています。
 
 LM35DZは、0~100℃で、0~1000mV(1V)ですから、3.3倍すると0~3300mV(3.3V)になります。
 
 IchigoJamは、AN2からのアナログ入力0~3.3Vを0~1023に変換します。
 
 そこで、増幅率を3.3倍から少し下げてやれば、100℃で1000を出力するようになります。
 
 回路図です。
 
イメージ 2
LM358の非反転増幅ですが、汎用のOPアンプなので、温度が高くなると入力に対して出力が飽和します。
 
普通の気温の範囲なら大丈夫だと思います。もっと高い温度まで測定する場合は、レールツーレールのOPアンプNJU7062Dなどを使うと良いでしょう。
 
VR20KΩを調整して、実際の温度と表示の値を合わせます。
 
温度を表示した状態です。
 
イメージ 3
 
文字が小さいので、ちょっと見にくいです。ソフトで大きな文字を表示してみたいと思っています。
 
最後にプログラムです。1/10℃の値が頻繁に変わりますので、5回の移動平均を取って表示しています。
表示は約1秒ごとに更新しています。
 
10 'THERMOMETER
20 CLV:CLS
30 LOCATE 10,10:? "Temperature"
40 [5]=[4]:[4]=[3]:[3]=[2]:[2]=[1]
50 [1]=ANA(2)
60 T=([1]+[2]+[3]+[4]+[5])/5
70 LOCATE 10,12:? T/10;".";T%10;"C"
80 WAIT 60:GOTO 40
90 END
 

Viewing all articles
Browse latest Browse all 440

Trending Articles