デジタル技術大学校ゆかり先生のブログ

デジタル技術大学校ゆかり先生が、Arduinoを基礎から体系的に解説。はじめてのArduinoでも大丈夫!初心者の方に寄りそって、LED点滅からIoTまで楽しく学べるマイコン講座のブログです。

Arduino入門講座 第8回|DHT11で温度・湿度を測定してLCD1602に表示しよう!【ゆかり先生の講座】


🏫 はじめに

ご覧いただきありがとうございます!
このシリーズは「デジタル技術大学校」の ゆかり先生 による、初心者向けマイコン講座です。

第7回となる今回は、DHT11(温湿度センサー)LCD1602(キャラクター液晶) を組み合わせて、

🌡 温度・湿度を測定して LCD にリアルタイム表示する仕組み

を作ります!

これはまさに IoT機器の基本形
エアコンの温度管理、気象計測、スマート家電など、実際の電子機器で使われる技術そのものです。


🎥 今回の動画はこちら

www.youtube.com


🧩 今回使用するもの

  • DHT11 温湿度センサー
  • LCD1602(I2C版)
  • ジャンパーワイヤー
  • ブレッドボード
  • USBケーブル
  • 電子工作キット
    👉 Amazonで見る

🔌 センサー + LCD の連携の考え方

今回のポイントは以下の 2つです。

  • DHT11 から温度・湿度を取得する(入力)
  • 取得したデータを LCD に表示する(出力)

この「入力 → 処理 → 出力」の流れこそ、あらゆる電子制御の基本です。
あなたがこれから作るセンサーデバイスのすべてに応用できます。


🧰 配線図

配線図


💡 使用するプログラム

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <DHT.h>

#define DHTPIN 8  //DHT11のピン番号

// DHTとLCDを宣言
DHT dht(DHTPIN, DHT11);
LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {
  // put your setup code here, to run once:
  //LCD1602とDHT11の初期化
  lcd.init();
  lcd.display();
  lcd.backlight();
  dht.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  //温度と湿度を測定
  float humidity = dht.readHumidity();
  float temprature = dht.readTemperature();

  //もしどちらかの値が空ならエラー
  if(isnan(humidity) || isnan(temprature)) {
    lcd.setCursor(0,0);
    lcd.print("Error reading");
    lcd.setCursor(0,1);
    lcd.print("DHT sensor");;
    return;
  }

  //値を表示する 温度
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("Temp:");
  lcd.print(temprature);
  lcd.print(" C");

  //値を表示する 湿度
  lcd.setCursor(0,1);
  lcd.print("Humidity:");
  lcd.print(humidity);
  lcd.print(" %");

  delay(1000);
}

🧠 プログラムの解説

#include <LiquidCrystal_I2C.h>

LCD1602 を I2C 接続で使うためのライブラリです。

#include <DHT.h>

温湿度センサー DHT11 を扱うライブラリ。

LiquidCrystal_I2C lcd(0x27, 16, 2);

LCD のアドレス(0x27)と、16×2 文字の表示領域を設定します。

DHT dht(DHTPIN, DHTTYPE);

DHT11 の接続ピンと種類を指定します。

lcd.init();

LCD を初期化。

lcd.backlight();

バックライトを ON。

dht.begin();

DHT11 を使える状態に初期化。

float humidity = dht.readHumidity();

湿度を読み取ります。

float temprature = dht.readTemperature();

温度を読み取ります。

lcd.setCursor(0, 0);

LCD の表示位置(1行目・先頭)を指定。

lcd.print(temprature); LCD に数値(温度)を表示。


📘 今回の学びのポイント

  • DHT11でアナログ値(環境データ)を取得できる
  • LCD1602でデータを視覚的に表示できる
  • センサー → 表示 の流れが IoT 機器の基本構造
  • read → 判断 → 表示 のループ処理が理解できる

✨ まとめ

  • 今回のテーマは データを「取得して」「表示する」一連の流れでした。
  • 温湿度センサーで環境データを取得(入力)
  • Arduino が処理
  • LCDに表示(出力)

これは、スマート家電・IoT機器そのものです。

ここまでできれば、あなたはすでに IoT 入門を突破しています!


🔗 次回予告

次回は超音波センサーを用いて距離を測り、その結果をLCD1602に出力することに挑戦してみます。


🏫デジタル技術大学校関連動画一覧

📺 ゆかり先生の講座をもっと学びたい方はこちら www.youtube.com

🍓 まき先生のRaspberry Pi講座はこちら

www.youtube.com

💼 校長先生のチャンネルはこちら

www.youtube.com