マイコン(RasPaii/arduino) ホームページなど勉強していきます。

僕と一緒にマイコンを勉強していきましょう。

RL78

RL78で温湿度センサーを使う

更新日:

温度湿度センサー

今考えているのは、BlueBoard-RL78/G13_64pin を使って何か面白いプログラムを作ることです。

一番興味があるのは、温湿度センサーを使ったプログラムです。そのデータをLCD表示をして、uartでPCに送ってVB.NETで温度をグラフ化する。または、VB.NETからサーバーにデータを送ってホームページ上からグラフ化してどこからでも見られるようにするとか...色々アイデアが浮かびます。ホームページでグラフを表示するプログラムは作ったことがあります。

昨年買ったラズパイで使おうとAmazonで購入したセットの中に入っていた「KKHMF DHT11」で温度と湿度を表示するまで確認していました。その後何の興味もなくその存在さえも忘れていましたが、今回そんなセンサーがあったなぁと思い出しました。なので出費は0円です。

温度湿度センサー

でも、このセンサーは1本のデータ線だけで動きます、RL78のポートを多く使わなくていいので使いやすいセンサーです。でもどうやって動くのか?不思議でした。

さっき、風呂に入りながら携帯でDHT11を使ってPICでプログラム(http://diy.ease-labs.com/?page_id=3815)を作っている方がいたので、プログラムを解析したら直ぐに分かりました。

マイコン側から、ポートをHigh->Low->High->Lowのしたら、センサー側から40ビットのデータがHigh->Low-(50us)>High(25us)の場合がLowデータで、High->Low-(50us)>High(70us)の場合がHighデータが出力されるので、マイコン側ではHigh区間が50usより長いか短いかでデータを判断できます。

簡単なプログラムです、但し50usという時間をマイコンのDelay(ループ)で作ると、uart等の割り込みが入ると時間が合わなくなってしまうので割り込み禁止などの対応が必要です。一応パリティデータがあるので、エラーだったらリトライすればいいです。後問題は、動作周波数によってDelay時間が変わるのでちゃんとコードを見て計算するかポートを使ってDelay時間を計測する必要があります。また、コンパイルオプションで速度優先、コード優先とかを変えるとコードが変わってDelay時間が変わってしまうことも考慮する必要があります。

考えようによっては色々大変なセンサーです。Amazonで買ったセンサーの中には、温度+気圧センサー(インターフェースはI2Cです)もあったのでそれも使いたいと思っています。

次回は温度、湿度をLCDに表示するプログラムを載せたいと思います。

以上

 

 

 

-RL78

Copyright© 僕と一緒にマイコンを勉強していきましょう。 , 2021 All Rights Reserved Powered by STINGER.