Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Портативный монитор температуры и влажности на Arduino с LCD 16x2

Компоненты и материалы

Компонент Количество
Arduino UNO R3 (или любой 5В) 1
Датчик температуры и влажности DHT11 (4 пина) 1
LCD 16x2 с RGB-подсветкой (Adafruit) 1
Резистор 10 кОм (подтяжка DHT11) 1
Потенциометр 10 кОм (контраст LCD) 1
Тактильная кнопка 1
Power Bank (порт USB) 1
USB A-B кабель, плата для прототипирования, перемычки 1

О проекте

Простой портативный термогигрометр для поиска сквозняков и настройки вентиляции. Питание от Power Bank — полностью автономный. Кнопка включает подсветку LCD для чтения в темноте.

Внимание: используемый автором LCD снят со старой пожарной сигнализации — у него нестандартная распиновка (пины 15/16 перед пином 1, 15=GND, 16=5V). В схеме Fritzing показана стандартная распиновка. Проверьте даташит вашего дисплея!

Схема подключения (стандартный LCD HD44780)

LCD пин Подключение
1 (VSS)GND
2 (VDD)5V
3 (VO)Средний контакт потенциометра 10к (крайние: 5V и GND)
4 (RS)Arduino D12
5 (RW)GND
6 (EN)Arduino D11
7-10 (D0-D3)Не подключены (4-битный режим)
11 (D4)Arduino D5
12 (D5)Arduino D4
13 (D6)Arduino D3
14 (D7)Arduino D2
15 (A/LED+)5V (через резистор 220Ом если нет токоограничения)
16 (K/LED-)Кнопка -> GND (кнопка управляет подсветкой)

DHT11: Pin1 -> 5V + 10кОм на Pin2; Pin2 -> Arduino D8 + 10кОм на Pin1; Pin3 -> NC; Pin4 -> GND.

Arduino: GND -> минус шины, 5V -> плюс шины. Соедините шины питания перемычками.

Код

Требуется библиотека Adafruit DHT Sensor Library (через Library Manager или GitHub).

// Портативный термогигрометр на Arduino UNO + DHT11 + LCD 16x2
#include <LiquidCrystal.h>
#include "DHT.h"

#define DHTPIN 8          // пин данных DHT11
#define DHTTYPE DHT11     // тип датчика

// LCD: rs, en, d4, d5, d6, d7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  lcd.begin(16, 2);
  dht.begin();
  lcd.print("Temp: Humidity:"); // заголовок на строке 0
}

void loop() {
  delay(500); // DHT11 не любит частые опросы (>1 сек рекомендуется, но 500мс работает)

  lcd.setCursor(0, 1); // строка 1 (вторая)

  float h = dht.readHumidity();      // влажность %
  float f = dht.readTemperature(true); // температура °F (true = Фаренгейт)

  if (isnan(h) || isnan(f)) { // проверка на ошибку чтения
    lcd.print("ERROR");
    return;
  }

  lcd.print(f);        // температура
  lcd.setCursor(7, 1); // позиция для влажности
  lcd.print(h);        // влажность
}

Сборка и запуск

  1. Соберите схему на плате для прототипирования.
  2. Подключите Power Bank к Arduino через USB.
  3. На дисплее появится заголовок «Temp: Humidity:».
  4. Нажмите тактильную кнопку — загорится подсветка.
  5. Через секунду появятся показания температуры (°F) и влажности (%).

Применение

Улучшения

Производственный процесс

  1. Создайте автоматизированную аэропоническую систему с Raspberry Pi и датчиком влажности
  2. Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
  3. Многопозиционная система датчиков температуры для интеграции в умный дом
  4. Датчик CO2 K30: мониторинг качества воздуха в реальном времени на Arduino
  5. Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
  6. Интеграция ёмкостного сканера отпечатков DFRobot с Arduino или ESP8266
  7. Веб-управляемый IoT-индикатор на Arduino, Yaler и IFTTT
  8. Магнитная левитация на отталкивании с Arduino: Простая схема и DIY-руководство
  9. Высокопроизводительный регистратор данных для метеозонда на Arduino
  10. Надёжные будильник на DS1302 RTC и Arduino UNO — сборка и код