工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

DHT11 と Blynk で温湿度をリアルタイム監視する Arduino チュートリアル

概要

安価な DHT11 温湿度センサーと Arduino UNO、Blynk アプリを組み合わせ、スマートフォン上で温度・湿度をゲージ表示・履歴グラフ記録する手順をステップバイステップで解説します。Linux PC への Arduino 接続(シリアル通信)を前提としています。

必要な部品

必要なソフトウェア

配線

DHT11 の VCC→5V、GND→GND、DATA→デジタルピン 5 に接続。(データ線には 10 kΩ プルアップ抵抗を推奨)

Blynk アプリ設定

  1. 新規プロジェクト作成、ハードウェア「Arduino UNO」、接続タイプ「USB (Serial)」を選択
  2. Auth Token をメモ(スケッチに記述)
  3. ウィジェット追加:
    • Gauge ×2:
      ・温度用:Virtual Pin V6、範囲 -40〜125℃、ラベル "Temp °C"
      ・湿度用:Virtual Pin V5、範囲 0〜100%、ラベル "Hum %"
    • (任意)History Graph:V5, V6 を追加し、時間範囲設定
  4. プロジェクト実行(▶ ボタン)でオンライン状態に

Arduino スケッチ

/**************************************************************
 * Blynk + DHT11 温湿度モニター
 **************************************************************/
#include <SoftwareSerial.h>
#include <BlynkSimpleStream.h>
#include <SimpleTimer.h>
#include <DHT.h>

SoftwareSerial DebugSerial(2, 3); // RX, TX (デバッグ用)
#define BLYNK_PRINT DebugSerial

#define DHTPIN 5
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;

char auth[] = "YourAuthToken"; // Blynk アプリの Auth Token に置き換え

void sendSensor() {
  float h = dht.readHumidity();
  float t = dht.readTemperature(); // 摂氏
  // float t = dht.readTemperature(true); // 華氏の場合

  if (isnan(h) || isnan(t)) {
    Serial.println(F("DHTセンサー読み取り失敗"));
    return;
  }
  Blynk.virtualWrite(V5, h); // 湿度
  Blynk.virtualWrite(V6, t); // 温度
}

void setup() {
  DebugSerial.begin(9600);
  Serial.begin(9600);       // Blynk 通信用 (USB シリアル)
  Blynk.begin(Serial, auth);
  dht.begin();
  timer.setInterval(1000L, sendSensor); // 1 秒ごと送信
}

void loop() {
  Blynk.run();
  timer.run();
}

Linux 側の準備(USB シリアル転送)

Arduino を USB 接続後、以下で Blynk サーバーへ転送:

# 権限設定
sudo usermod -a -G dialout $USER
# 再ログイン後
sudo ./blynk-ser.sh -c /dev/ttyACM0

blynk-ser.sh は Blynk 公式 USB HOWTO から入手。

動作確認

アプリのゲージがリアルタイムで更新され、ヒストリグラフに推移が記録されます。DHT11 は精度 ±2℃ / ±5% 程度のため、用途に応じて DHT22 (AM2302) への置き換えも検討してください(コード内 #define DHTTYPE DHT22 に変更)。

トラブルシューティング

発展アイデア

製造プロセス

  1. QR・RFID・体温検知統合アクセス制御システム(Raspberry Piベース)
  2. Raspberry Pi 2でDS18B20温度センサー読み取りガイド
  3. EzTempでRaspberry Pi上の温度・湿度をシームレスに監視
  4. Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
  5. 湿度センサーの検証とキャリブレーションで精密測定を実現
  6. DHT11温湿度センサーで作る温度アラート – LEDとピエゾブザーで視覚/聴覚通知
  7. Arduinoで温湿度ロガーを作る – DHT11とEthernetシールドでSDカード記録
  8. BME280 温湿度・気圧データを Nextion タッチスクリーンに表示
  9. Arduinoで楽器演奏:音階生成のステップバイステップガイド
  10. ArduinoをNMEA-0183に接続するステップバイステップガイド
  11. ArduinoでModbusをマスターする:ステップバイステップガイド