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

Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield

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

Датчик температуры и влажности DHT11 (4 пина) 1 шт.
Arduino UNO 1 шт.
Ethernet Shield W5100 для Arduino Uno 1 шт.
Перемычки (набор) 1 шт.
Крона 9 В (или другой источник питания) 1 шт.
Макетная плата (breadboard) 1 шт.
Клемма для кроны 9 В 1 шт.

Приложения и сервисы

О проекте

Что делает этот проект

Я экспериментирую с Arduino уже несколько недель, собирая простые схемы со светодиодами. Хотел сделать первый полезный проект — регистратор данных температуры и влажности. Схема несложная, но код (для моего уровня) оказался непростым.

Как это сделано

Первый шаг — собрать Arduino Uno с Ethernet Shield и схему, показанную ниже.

Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield

После сборки убедитесь, что SD-карта отформатирована и вставлена в Ethernet Shield.

Загрузите код (см. ниже) в Arduino. Датчик начнёт измерять температуру и влажность. Arduino создаст файл DATALOGGER.TXT на SD-карте. При отключении питания запись остановится и возобновится при восстановлении.

Если измерения планируются дольше 1–2 часов, рекомендую использовать постоянный источник питания (сетевой адаптер), чтобы не разрядить батарею и не потерять данные.

Код

Temp_and_Humid.ino

Используйте пример «SD card datalogger» из Arduino IDE (Файл → Примеры → SD → Datalogger) и добавьте код для DHT11 как показано ниже. В примере логируются до 3 аналоговых датчиков. Измените строку 57: условие цикла с analogPin < 3 на analogPin < 1.

/* SD card datalogger 
This example shows how to log data from three analog sensors to an SD card using the SD library. 
The circuit: 
* analog sensors on analog ins 0, 1, and 2 
* SD card attached to SPI bus as follows: 
** MOSI - pin 11 
** MISO - pin 12 
** CLK - pin 13 
** CS - pin 4 
created 24 Nov 2010 
modified 9 Apr 2012 by Tom Igoe 
This example code is in the public domain. 
*/ 
#include <SPI.h> 
#include <SD.h> 
#include <dht.h> 
dht DHT; 
#define DHT11_PIN A0 
const int chipSelect = 4; 

void setup() { 
  Serial.begin(9600); 
  while (!Serial) { ; } 
  Serial.print("Initializing SD card..."); 
  if (!SD.begin(chipSelect)) { 
    Serial.println("Card failed, or not present"); 
    return; 
  } 
  Serial.println("card initialized."); 
} 

void loop() { 
  String dataString = ""; 
  for (int analogPin = 0; analogPin < 1; analogPin++) { 
    int chk = DHT.read11(DHT11_PIN); 
    dataString += String(chk); 
    if (analogPin < 2) { 
      dataString += ","; 
    } 
  } 
  File dataFile = SD.open("datalog.txt", FILE_WRITE); 
  if (dataFile) { 
    dataFile.println(DHT.temperature); 
    dataFile.println(DHT.humidity); 
    dataFile.close(); 
    Serial.print("Temperature = "); 
    Serial.println(DHT.temperature); 
    Serial.print("Humidity = "); 
    Serial.println(DHT.humidity); 
    delay(600000); // 10 минут 
  } else { 
    Serial.println("error opening datalog.txt"); 
  } 
}

Схемы

Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield
Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield

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

  1. Бесшовный мониторинг температуры и влажности на Raspberry Pi с EzTemp
  2. Создание надежного монитора энергии и логгера данных на Arduino — пошаговое руководство
  3. Проект с датчиком DHT11: индикация температуры светодиодами и пьезо-динамиком на Arduino
  4. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  5. Вывод данных BME280 (температура, влажность, давление) на сенсорный экран Nextion
  6. Измерение расстояния в реальном времени: Ардуино-сонар с визуализацией в Processing
  7. Бесконтактный термометрический шлюз для быстрого и точного скрининга
  8. Чтение температуры и влажности DHT11 через Blynk — пошаговый урок для Arduino
  9. Создание интерактивного 4x4x4 светодиодного куба на Arduino Uno и 1Sheeld
  10. Своё рулевое управление (джойстик) для игр на Arduino