諸事情によりQiitaを使うことになったので、試しに記事をお引っ越ししてみます。
ここから。
Arduino UNOと16x2のLCD、温湿度センサを使って
温度と湿度を表示できるようにしてみた。
メインはArduino UNO。
##LCDディスプレイ
SparkFun LCD-00791
と、それをシリアル制御できるSerLCD。
Serial Enabled LCD Backpack - SparkFun Electronics
これは、ディスプレイをシリアルで制御できるようにするモジュール。
まずはLCDで表示のテストから。
使い方は、ここにサンプルコードと共にあったのでこれを参考に。
Serial LCD quickstart - SparkFun Electronics
さらに、ここに書かれているように
SerLCD用のライブラリがあったので、これを使ってさらにシンプルに書くことができる。
温湿度センサ
DHT22/RHT03
※時期によって型番が異なるが、同一らしい
値を取得するコードはこちらのサイトを参考にさせていただき、あっさり取得できた。
Arduino UNOではsprintfでのfloatが扱えない
ただ、シリアル経由でPCに飛んでくるデータを見ると正しく数値は
取得できているようだが、
センサの値が何故か表示されず、軽くはまった。
どうもsprintfでのfloatの値がうまく文字列に変換されていない。
調べてみると、Arduino Unoではsprintfでfloatは使えないらしい。
その代わり、dtostrf()という関数があることがわかった。
##スケッチ
かなり適当だが最終的なコードはこんな感じ。