LoginSignup
12
13

More than 5 years have passed since last update.

Arduino UNO + LCD + 温湿度センサ

Last updated at Posted at 2014-03-05

諸事情によりQiitaを使うことになったので、試しに記事をお引っ越ししてみます。
ここから。

Arduino UNOと16x2のLCD、温湿度センサを使って

温度と湿度を表示できるようにしてみた。

20130629164718.jpg

メインはArduino UNO。

LCDディスプレイ

SparkFun LCD-00791

と、それをシリアル制御できるSerLCD。

Serial Enabled LCD Backpack - SparkFun Electronics

これは、ディスプレイをシリアルで制御できるようにするモジュール。

まずはLCDで表示のテストから。

使い方は、ここにサンプルコードと共にあったのでこれを参考に。

Serial LCD quickstart - SparkFun Electronics

さらに、ここに書かれているように

SerLCD用のライブラリがあったので、これを使ってさらにシンプルに書くことができる。

Arduino Playground - SerLCD

温湿度センサ

DHT22/RHT03

※時期によって型番が異なるが、同一らしい

DHT22 temperature-humidity sensor + extras ID: 385 - $12.50 : Adafruit Industries, Unique & fun DIY electronics and kits

20130626084837.jpg

値を取得するコードはこちらのサイトを参考にさせていただき、あっさり取得できた。

DHT22 / RHT03 | hirooka.pro

Arduino UNOではsprintfでのfloatが扱えない

ただ、シリアル経由でPCに飛んでくるデータを見ると正しく数値は

取得できているようだが、

センサの値が何故か表示されず、軽くはまった。

どうもsprintfでのfloatの値がうまく文字列に変換されていない。

調べてみると、Arduino Unoではsprintfでfloatは使えないらしい。

その代わり、dtostrf()という関数があることがわかった。

スケッチ

かなり適当だが最終的なコードはこんな感じ。

12
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
13