Датчик температуры с GSM модулем

Управление сауной и контроль температуры на ардуино

Приветствую вас. Появилось задача изготовить контроль температуры сауны и управление. Для этой задачи проще всего было бы использовать простые средства и кнопки. Но главное надо использовать Ардуино в этом весь интерес.
И так у нас есть сауна. Видео обзор по сауне сниму позже.
В сауне освещение работать будет по классической схеме. Электропечь для сауны изготовили своими руками.

– Мощность печки 12 кВт
– 2 группы по 6 кВт
– напряжение 380В

Для управления печкой нам нужно 2 реле. Реле на 12 вольт тоже изготовил своими руками. Реле для ардуино на 12 вольт.

Реле непосредственно будет включать катушку пускателя. А пускатель делать свое дело и включать тэны печки.

В качестве ардуино выбрал Pro Mini 168 Mini ATMEGA168 5 В я их ведрами покупаю в Алиэкспрес. Дешево всего в районе 85 рублей. темболее для таких мелких проектов слабые ардуины идеально подходят и не жалко ставить мощную.

Что я использовал

  1. Про мини
  2. 2 реле
  3. LCD дисплей 1602
  4. 2 кнопки
  5. Датчик температуры

Задача. На экране показывает температуру и влажность внутри парилки. И еще показывает какие тэны включены, какие выключены. При желании можно установить таймер отсрочки времени чтобы тэны включались автоматически.

Место монтажа распаячная коробка. 100х100. Просверлил и установил 2 кнопки.

Собрал реле. Реле для ардуино на 12 вольт. Можете почитать.

Схема подключения реле на 12 вольт к ардуино.

Нашел в интернете вот это. С этого же примера подключил 2 кнопки.

LCD дисплей использовал от старого факса. В статье Подключение монитора LTD M392 Arduino более подробно описано их подключение. если вы используете другой дисплей. Немного нужно будет изменить код. отличается не так сильно.

В проекте применил датчик температуры и влажности.

Монитор установил и протестил скэтч.

Система управления печкой

Внутри коробки немного страшная картина. Некоторые контакты запаял напрямую. Работает безотказно.

Пока сауна в стадии разработки. Дальше сниму видео и выложу

2,540 просмотров всего, 15 просмотров сегодня

Климат-контроль на Arduino

Где скачать необходимые библиотеки и как их установить?

У моего модуля QuadDisplay всего три ноги и расположены они слева. Можно ли использовать его в этом проекте?

Да, модуль можно использовать, но скетч, библиотеки и схема сборки отличаются.

Вставьте QuadDisplay в левый нижний слот

Прошейте контроллер скетчем через Arduino IDE.

climate-control.ino // библиотека для работы с датчиком DHT11 #include <TroykaDHT.h> // Подключаем библиотеку для работы с дисплеем #include <QuadDisplay.h> // номер цифрового пина реле 1 #define RELAY_1_PIN A4 // номер цифрового пина реле 2 #define RELAY_2_PIN A2 // номер цифрового пина дисплея #define DISPLAY_PIN 11 // создаём объект класса DHT11 и передаём номер пина к которому подключён датчик DHT dht(4, DHT11); // переменная для хранения состояние системы // а именно какую информацию выводить на дисплей // температуру или влажность bool state = true; // переменная для хранения показателя температуры окружающей среды float temperature = 0; // переменная для хранения показателя влажности окружающей среды float humidity = 0; long currentMillis = 0; void setup() { // открываем последовательный порт для мониторинга действий в программе Serial.begin(9600); // начало работы с датчиком DHT11 dht.begin(); // назначаем 2 пина в режиме выхода pinMode(RELAY_1_PIN, OUTPUT); pinMode(RELAY_2_PIN, OUTPUT); currentMillis = millis(); } void loop() { // если прошёл заданный интервал времени if (millis() — currentMillis > 3000) { state = !state; currentMillis = millis(); dht.read(); } switch (dht.getState()) { // всё OK case DHT_OK: // считываем показания температуры и влажности с датчика temperature = dht.getTemperatureC(); humidity = dht.getHumidity(); // выводим показания температуры или влажности if (state) { displayTemperatureC(DISPLAY_PIN, temperature); } else { displayHumidity(DISPLAY_PIN, humidity); } break; // если ошибка выводим на дисплей «Err» default: displayDigits(DISPLAY_PIN, QD_NONE, QD_E, QD_r, QD_r); break; } // если температура превысила 35 градусов if (temperature > 35) { // включаем реле 1 digitalWrite(RELAY_1_PIN, HIGH); } else { // иначе выключаем реле digitalWrite(RELAY_1_PIN, LOW); } // если влажность стала менее 20 % if (humidity < 20) { // включаем реле 2 digitalWrite(RELAY_2_PIN, HIGH); } else { // иначе выключаем реле 2 digitalWrite(RELAY_2_PIN, LOW); } // ждём 1 секунду delay(1000); }

Скачайте и установите библиотеку для работы с «трёхногим» дисплеем.