1: Vdd(入力電圧) 2: Vss(グラウン … 今回は、Arduinoで温度と湿度をLCDに表示する方法を紹介します。測定方法は、温湿度センサとサーミスタによる2通りの方法について説明します。LCDの使用方法については、以前の記事(ArduinoでSTEM教育​-基礎編:LCD)を参照してください。, 使用する部品は図のとおりです。これらの部品は、すべて「ELEGOO Arduino用のMega2560スタータキット」に含まれています。, 今回は、DHT11という温度湿度センサを使用します。​このモジュールは、温度と湿度をデジタル信号で出力します。​​モジュールの端子は3本あります。左から順に、通信・電源・GNDという構成です。​このセンサー用のライブラリを使用することで、プログラムコードを短く簡単に作成できるという利点があります。​, サーミスタは、温度で抵抗が大きく変化する抵抗です。​NTC(負の温度係数)とPTC(正の温度係数)の2種類あります。一般的に、温度測定にはNTCセンサが使用されます。​サーミスタを使用して得られる情報は電圧値なので、サーミスタの温度特性をデータシートから読み取って、演算するプログラムを書く必要があります。​モジュールと比較すると、演算コードを自作する必要があるため、手間がかかりますが、安価で小さな回路を作成できるという利点があります。​, まず、DHT11センサの接続について説明します。​V端子は5V、G端子はGND、S端子はD2端子に接続します。​, ​次に、サーミスタの接続について説明します。​サーミスタは、片方を5Vに接続し、もう片方は10kΩ抵抗に接続します。​10kΩ抵抗のもう片方は、GNDに接続します。​そして、サーミスタと抵抗の中間部(抵抗分圧値)をA0端子に接続します。​, このような構成にすることで、温度が高くなるとサーミスタ抵抗が小さくなるため、​抵抗分圧値が大きくなります。温度が低い場合はその逆となります。​, 最初に、DHT11用のライブラリ(dht_nonblocking.h)を#includeで読み込みます。​また、センサーのタイプを#defineで定義します。​​次に、センサーで使用する通信ピンとサーミスタで使用するピンの番号を定義します。​​読み込んだセンサのライブラリのDHT_nonblockingクラスを使用するための準備をします。​​mesure_enviroment関数は、DHTセンサの測定結果を取得できる場合はTrueを返し、そうでない場合はFalseを返します。​, メインループの冒頭で、サーミスタの電圧値を温度変換する計算方法を記述します。analogRead()でサーミスタの電圧値をアナログ入力端子から読み取ります。​そして、その結果をもとに、絶対温度に変換したあと、セルシウス温度に変換します。​​, 次に、LCDに表示する文字を記述します。​if文でDHTセンサの測定結果が利用できるかどうかを判別し、利用できる場合は温度と湿度をLCDに表示します。​そうでない場合は、サーミスタで測定した温度を表示します。​, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。, Raspberry Pi はじめてのラズパイ:ブラシ付きモータとブラシレスモータを制御する, Raspberry Pi はじめてのラズパイ:ディスプレイ(LCD, OLED)を制御する, Raspberry Pi はじめてのラズパイ:7セグメントLEDとドットマトリクスLEDを制御する, ArduinoでSTEM教育​ 応用編:MQTTとNode-REDを用いたLED制御 その2, ArduinoでSTEM教育​ 応用編:MQTTとNode-REDを用いたLED制御 その1, Raspberry Pi はじめてのラズパイ:ステッピングモータをA4988ドライバで制御する, HTCモジュールは、ライブラリを使用することで、温度と湿度をプログラム上で簡単に扱うことができる。​, HTCモジュールとArduinoの通信は、デジタル線1本のみのため、I/Fを簡素化できる。​, サーミスタを温度計として使用するには、サーミスタの温度特性を理解して、取得電圧値から温度に変換する必要がある。​, サーミスタの電圧値は、analogRead()関数を使用することで読み取ることができる。, 測定温度や湿度が前回測定値と変わらないときは、LCD表示は更新せず、変わったときだけ更新するようにしてみよう。. Arduinoで遊ぼう -温度センサIC、MCP9700を使って温度を測る Posted by arms22 on 2011年04月19日 0 0. 次の写真は公式データシート(S8100B.pdf)より引用. ¯], モータードライバー(TA7291P)の使い方 [Arduino], Arduinoのデバイスが認識されない場合の修理/対処方法 [ATmega16U2], トランジスタ(NPN)の使い方 [Arduino], フォトリフレクタの使い方 [Arduino], データを送受信をするIoTデバイスの作り方 [Arduino版], みちびき対応のGPS受信機(GYSFDMAXB)の使い方 [Arduino], データを送受信をするIoTデバイスの作り方 [ESP-WROOM-02版], トランジスタ(PNP)の使い方 [Arduino], デジタルピンを増設する「IOエキスパンダー」の使い方 [Arduino], ATmega328PにArduinoスケッチを書き込む [Arduino], 通過型フォトインタラプタの使い方 [Arduino], フォトカプラ(TLP785)の使い方 [Arduino], バイブモーター(円盤形 振動モーター)の使い方 [Arduino], SoftwareSerialの「文字化け」や「受信データの破損」対策をする [Arduino/ESP-WROOM-02], 波形データと周波数スペクトル, サーミスタ 10kΩ(ラジアルリードタイプ), コネクタ付コード(みの虫×ジャンパーワイヤ), このブログのマスターが作成した無料ゲームです。, このブログのマスターが作成したアプリです。, このブログのマスターが作成したロボットです。(試作機).