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

Система термостатирования на Arduino с гистерезисом: практическое руководство

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

Компонент Описание Кол-во
Arduino 101 Микроконтроллер 1
DHT22 Датчик температуры Точное измерение температуры и влажности 1
Перемычки Для соединений 1
Светодиод Индикация состояния (зеленый/красный) 2
Резистор 10 кОм Pull-up для DHT22 1
Резистор 330 Ом Ограничение тока для светодиодов 2
DFRobot LCD Button Shield Экран с кнопками управления 1
Беспайковая макетная плата Для прототипирования 1

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

О проекте

Суть проекта

Демонстрация работы системы термостатирования с гистерезисом.

Система термостатирования на Arduino с гистерезисом: практическое руководство

Компоненты (фото)

Система термостатирования на Arduino с гистерезисом: практическое руководство

Принцип термостатирования

Моделируется ситуация:

Система термостатирования на Arduino с гистерезисом: практическое руководство

Видео работы прилагается.

Код

Temperature control (Arduino)

/*By Alexis Santiago Allende */ /*Last update: 12/03/2017*/
#include "DHT.h"
#include <LiquidCrystal.h>
#define DHTPIN 12
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
boolean a=LOW, b=HIGH;
float h=0, t=0;
const int ledPin = 3;
const int ledPin2 = 2;
long previousMillis = 0;
long interval = 2000;

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  pinMode(ledPin, OUTPUT);
  pinMode(ledPin2, OUTPUT);
  dht.begin();
  digitalWrite(ledPin2, LOW);
  digitalWrite(ledPin, LOW);
  lcd.print("Tempera:");
  lcd.setCursor(0,1);
  lcd.print("Humedad:");
}

void loop() {
  unsigned long currentMillis = millis();
  if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;
    h = dht.readHumidity();
    t = dht.readTemperature();
    lcd.setCursor(10,0);
    lcd.print(t);
    lcd.setCursor(10,1);
    lcd.print(h);
    if(t >= 25 && a == LOW) {
      digitalWrite(ledPin, HIGH);
      digitalWrite(ledPin2, LOW);
      a = HIGH; b = LOW;
    } else if(t <= 23 && b == LOW) {
      digitalWrite(ledPin2, HIGH);
      digitalWrite(ledPin, LOW);
      a = LOW; b = HIGH;
    }
  }
}

Схемы

Система термостатирования на Arduino с гистерезисом: практическое руководство

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

  1. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  2. Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
  3. Умная копилка: управление монетоприёмником на Arduino Nano
  4. Arduino Power Control Center: N-FET, P-FET, реле и RTC
  5. Логгер температуры и влажности на Arduino с DHT11 и Ethernet Shield
  6. Управление светодиодом по Bluetooth с Arduino: простой DIY-гид
  7. Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд
  8. Простой ИК-датчик препятствий на Arduino: ИК-светодиод и фотодиод
  9. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  10. Сборка функционального 3D-печатного манипулятора на Arduino: пошаговое руководство