Термостат и термометр на 4 канала (arduino uno, 1602а, lm325, кт503)

Описание модуля KY-013 – аналоговый датчик температуры.

Модуль аналогового датчика температуры KY-013 для Arduino измеряет температуру окружающей среды за счет изменения сопротивления термистора. Данный модуль можно подключать к различным микроконтроллерам (Arduino, ESP32, ESP8266, stm32 и пр.) для измерения температуры окружающей среды.

Технические характеристики KY-013:

Модуль аналогового датчика температуры KY-013 состоит из термистора NTC и резистора 10 кОм. Сопротивление термистора зависит от температуры окружающей среды, мы воспользуемся уравнением Стейнхарта – Харта, чтобы получить точную температуру термистора.

Схема подключения KY-013 аналогового датчика температуры к Arduino NANO.

Подключаем линию питания платы (посередине) и землю (—) к 5 В и GND соответственно. Затем сигнал (S) к контакту A0 на Arduino.

Внимание! Не забывайте про вероятность, что на некоторых платах нанесена неправильная разметка контактов, о чем я рассказывал в начале урока

Пример кода Arduino для получения значений температуры с датчика KY-013.

В следующем скетче Arduino будет вычисляться температура термистора с использованием уравнения Стейнхарта-Харта. Код вернет температуру в градусах Цельсия.

Коэффициенты применимы только к платам с термисторами 10 кОм, некоторые редкие платы имеют термисторы на 100 кОм и требуют других коэффициентов.

Схема соединения

Сделайте соединения согласно приведенной ниже схеме.

Соединяем датчик и Ардуино

  • VCC -> Arduino 5V, плюс резистор 4,7K, идущий от VCC к Data
  • Data -> Пин 7 Arduino
  • GND -> GND Arduino

Соединения для ЖК-дисплея и Arduino UNO

  • Пин 1 -> GND
  • Пин 2 -> VCC
  • Пин 3 -> Arduino Пин 3
  • Пин 4 -> Arduino Пин 33
  • Пин 5 -> GND
  • Пин 6 -> Arduino Пин 31
  • Пин 7-10 -> GND
  • Пин 11 -> Arduino Пин 22
  • Пин 12 -> Arduino Пин 24
  • Пин 13 -> Arduino Пин 26
  • Пин 14 -> Arduino Пин 28
  • Пин 15 -> VCC через резистор 220 Ом
  • Пин 16 -> GND

Подключите потенциометр, как показано выше, к контакту 3 на ЖК-дисплее, для управления контрастностью.

Этот проект работает на температурах до 125° C. В случае наличия некоторого диссонанса в значении показанной температуры дважды проверьте соединения с резистором, подключенным к DS18B20. После соединения всего, что описано выше, мы можем перейти к программированию.

Принципиальная схема вентилятора Ардуино

Принципиальная схема нашего вентилятора выглядит так:

Давайте разберемся с соединением всех деталей. Прежде всего сделайте подключение ЖК-дисплея к Ардуино следующим образом:

  • Подсоедините вывод VSS на ЖК-дисплее к земле Arduino.
  • Подключите контакт VDD к 5V Arduino.
  • Подсоедините вывод V0 к центральному выводу потенциометра 10K. Подключите два других контакта потенциометра к 5V и к земле.
  • Подсоедините штырь RS к контакту 2 Arduino.
  • Подключите контакт R/W к земле Arduino. Это поместит ЖК-дисплей в режим чтения.
  • Подключите контакт E (Enable) к контакту 3 Arduino.
  • Подключите контакты D4-D7 к контакту 4, 5, 6, 7 Ардуино.
  • Подключите контакт 15, который является положительным выводом подсветки светодиода на 5-контактный штырь через резистор 220 Ом.
  • Подключите контакт 16, который является отрицательным выводом подсветки светодиода к земле Arduino.

Затем подключите релейный модуль к Arduino. На стороне входа модуля реле выполните соединения следующим образом:

  • Подключите вывод VCC модуля реле к выводу 5V Arduino.
  • Подключите вывод IN модуля реле к выходу 9 Arduino.
  • Подключите вывод GND модуля реле к GND Ардуино.

На выходной стороне модуля реле подключите минус 9В-батареи к общему (C) модулю реле и подключите NC модуля реле к минусу вентилятора. Затем подключите плюс батареи к плюсу вентилятора.

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

  • Подключите контакт 1 DHT22, который является выводом VCC, к 5V Ардуино.
  • Подключите контакт 2 DHT22, который является выводом данных к выходу 8 Arduino.
  • Подключите контакт 4 от DHT22, который является заземляющим контактом, к земле Arduino.

Как можно управлять?

Как отмечалось, сервер Node.js позволяет связать между собой оборудование в доме. Одним из способов управления процессами являются облачные сервисы в Сети. При этом включить отопление или бойлер можно за один-два часа до приезда.

Еще один способ — управление с помощью сообщений (MMS или SMS). Этот вариант актуален в случае, когда нет связи с Интернетом. Одним из преимуществ системы является возможность получения информации о форс-мажорной ситуации (например, протечке). Здесь помогает плата Edison от компании Intel.

Реле контроля фаз и напряжения: устройство, принцип работы, схемы подключения, характеристики, обзор моделей

Программный код термостата Arduino

Аналогично, как и в схеме подключения, код каждого термостата Arduino будет немного отличаться. Его нужно адаптировать к потребностям тепловой сети.

Эту схему можно модернизировать, например, добавить такие функции:

  1. Датчик движения для включения и выключения источника нагрева, в зависимости от присутствия жителей.
  2. Режим «АВТО», автоматическое ведение тепловым процессом.
  3. Внешние датчики для измерения температуры в помещении в разных местах.
  4. LED-экран для контроля температуры.

Таким образом, функциональные возможности терморегулятора с Arduino огромны. Они могут учесть, практически все, внутридомовые системы отопления. Современная промышленность наладила выпуск комплектующих изделий для такой схемы управления, а используя возможности Arduino и фреймворка MySensors, домашняя «умная» автоматики может быть реализована в каждом доме своими руками.

Аккумуляторы

Среди любителей и профессионалов многороторных систем наиболее распространены литий-полимерные аккумуляторы, как основные источники питания бортовой электроники и моторов. Их различают по емкости, напряжению и максимальной токоотдаче. Емкость, как обычно, измеряется в ампер-часах или миллиампер-часах. Напряжение измеряется в количестве «банок» аккумулятора. Одна «банка» — в среднем 3.7 вольт. Полностью заряженая «банка» — 4.2 вольта. Наиболее распространеты аккумуляторы с количеством банок от трех до шести. Максимальная токоотдача измеряется в амперах, а маркируется, например вот так: 25C. C — емкость аккумулятора, 25 — множитель. Если емкость равна 5 амперам, то такой аккумулятор может отдавать 25 * 5 = 125 ампер. Конечно же параметр токоотдачи лучше брать с запасом, но, в основном, чем он больше, тем дороже аккумулятор. Пример маркировки: 25C 3S 4500mah.

Каждая банка является отдельным аккумулятором. Все они спаяны последовательно. Для того чтобы равномерно заряжать все банки предусматривается баллансировочный разъем с доступом к каждой банке отдельно, и использутся специальные зарядные устройства.

Практика

Теперь мы переходим к интересным вещам. Давайте проверим ЖК-дисплей. Сначала подключим контакты 5В и GND от Arduino Uno к шинам электропитания макетной платы. Затем  подключим  LCD 1602.  Данный LCD имеет две отдельные линии питания:

Блок питания 0…30В/3A
Набор для сборки регулируемого блока питания…

Подробнее

  1. Контакт 1 и контакт 2 для питания самого LCD 1602
  2. Контакт 15 и контакт 16 для подсветки LCD 1602

Подсоедините контакты 1 и 16 LCD на минус питания, а контакты 2 и 15 к + 5В.

Далее необходимо подключить контакт 3, который отвечает за контрастность и яркость дисплея. Для точной настройки контрастности необходимо подключить крайние выводы потенциометра сопротивлением 10 кОм к 5В и GND, а  центральный контакт (бегунок) потенциометра к контакту 3 на LCD дисплея.

Регулировка контрастности ЖК-дисплея с помощью потенциометра

Теперь включите Arduino и вы увидите подсветку. Поворачивая ручку потенциометра, вы должны заметить появление первой линии прямоугольников. Если это произойдет, поздравляем! Ваш ЖК-дисплей работает правильно.

Параметры

Температура измерения

LM135, LM135A — от -55 грЦ до 150 грЦ

LM235, LM235A — от -40 грЦ до 125 грЦ

LM335, LM335A — от -40 грЦ до 100 грЦ

Напряжение при температуре 25 грЦ — около 3V.

Зависимость напряжения от температуры — линейная, положительная. Напряжение возрастает на 10 мВ при росте температуры на 1 грЦ.

Рабочий ток

К сожалению в статьях периодически встречаются ошибки, они исправляются, статьи дополняются, развиваются, готовятся новые. Подпишитесь, на новости, чтобы быть в курсе.

Здравствуйте! Как можно использовать датчик LМ335Z в пластмассовом корпусе для выключения силового питающего устройства (инвертора, или сварочника) при перегреве транзистора на радиаторе? Клеить (прижать) датчик к корпусу транзистора? По схеме: как можно использовать Ваш первый вариант (А) включения датчика для подачи сигнала на шим контроллер с целью прерывания выходного Читать ответ.

Про датчик LM 335 в термореле ВМ707F. При включении лампочки освещения холодильника или выключении вентилятора No Frost сбрасывается (выключается) реле. Это происходит когда температура в камере холодильника падает ниже границы верхнего порога т.е. на датчик действует коммутационные скачки тока. Также, позже заметил, реле быстро выключается и восстанавливается, когда темпер Читать ответ.

Изготовление дросселя, катушки индуктивности своими руками, самому, са. Расчет и изготовление катушки индуктивности, дросселя. Типовые электронные схемы.

Составной транзистор. Схемы Дарлингтона, Шиклаи. Расчет, применение. Составной транзистор — схемы, применение, расчет параметров. Схемы Дарлингтона, .

Генератор сигнала с переменной скважностью импульсов. Регулировка коэф

Схема генератора и регулируемым коэффициентом заполнения импульсов, управляемого.

Источник

Начало работы

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

Этапы

При организации системы «Умный дом» на базе Ардуино, стоит действовать по следующему алгоритму:

  • Инсталляция программного кода;
  • Конфигурация приложения под применяемое устройство;
  • Переадресация портов (для роутера);
  • Проведение тестов;
  • Внесение правок и так далее.

В Сети имеется весь необходимый софт на применяемое оборудование — его достаточно скачать с официального сайта и установить (ссылку смотрите выше).

Приложение позволяет увидеть информацию о датчиках. Если это требуется, настройки IP-адрес могут быть изменены.

Последовательность действий при подключении к компьютеру

Чтобы начать работать с Ардуино в Windows, сделайте следующие шаги:

  • Подготовьте необходимое оборудование — USB-кабель и Arduino.
  • Скачайте программу на странице arduino.cc/en/Main/Software.
  • Подсоедините плату с помощью USB-кабеля. Проследите, чтобы загорелся светодиод PWR.
  • Поставьте необходимый набор драйверов для работы с Ардуино. На этом этапе стоит запустить установку драйвера и дождаться завершения процесса. После жмите на кнопку «Пуск» и перейдите в панель управления. Там откройте вкладку «Система и безопасность» и выберите раздел «Система». После открытия окна выберите «Диспетчер устройств», жмите на название Ардуино и с помощью правой кнопки мышки задайте команду обновления драйвера. Найдите строчку «Browse my computer for Driver software!», кликните по ней и выберите соответствующий драйвер для вашего типа платы — ArduinoUNO.inf (находится в папке с драйверами). Это может быть UNO, Mega 2560 или другая.
  • Запустите среду разработки Ардуино, для чего дважды кликните на значок с приложением.
  • Откройте готовый пример (File — Examples — 1.Basics — Blink).
  • Выберите плату. Для этого перейдите в секцию Tools, а дальше в Board Menu.
  • Установите последовательный порт (его можно найти путем отключения и подключения кабеля).
  • Скачайте скетч в Ардуино. Кликните на «Upload» и дождитесь мигания светодиодов TX и RX на плате. В завершение система показывает, что загрузка прошла успешно. Через несколько секунд после завершения работы должен загореться светодиод 13 L (он будет мигать оранжевым). Если это так, система готова к выполнению задач.

Работа с роутером

Для полноценной работы «Умного дома» важно правильно обращаться с роутером. Здесь требуется выполнить следующие действия — открыть конфигурацию, указать адрес Arduino IP, к примеру, 192.168.10.101 и открыть 80-й порт

После требуется присвоить адресу доменное имя и перейти к процессу тестирования проекта. Учтите, что для такой системы запрещено применение открытого IP-адреса, ведь в этом случае высок риск взлома через Сеть.

Умный дом на базе Raspberry Pi 3 своими руками, пошаговая инструкция

Датчики DS18B20

  • Диапазон измеряемых температур: -55 … + 125° C
  • Разрешение: 0,1° C
  • Калибровка не требуется, датчики калибруются в процессе производства, точность ± 0,5° C (в диапазоне от -10 до 85° C)
  • Частота измерения примерно каждые 3 секунды
  • Датчики подключаются трехжильным кабелем (внешнее питание)
  • Выводы (на рис. ниже) GND — синий, линия данных 1-Wire — зеленый, VDD — оранжевый

Также возможно подключение датчиков двумя проводами (паразитное питание)

Обратите внимание, что температура выше 100° C не может быть измерена с помощью паразитного питания

Программа микроконтроллера позволяет комбинировать оба варианта питания датчиков.

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Подробнее

Подберите сопротивление резистора PULLUP (от 4K7 до 1K) в соответствии с длиной кабеля. Экранированный телефонный кабель (длиной 45 м), как на рисунке выше, с резисторами PULLUP сопротивлением 1 кОм работает надежно.

Как создать собственный «умный» термостат Arduino

Термостат на Arduino основан на фреймворке MySensors. Это сообщество разработчиков аппаратного ПО с открытым исходным кодом, которое специализируется конкретно на создании бытовой автоматики. MySensors хорошо известный в мире DIY (Do It Yourself или Сделай это сам) компонентов, такие как Arduino, Raspberry Pi, ESP8266 и NRF24L01, для создания датчиков и приводов бытовой автоматизации DIY.

Проект помогает домашним мастерам создавать свои «умные устройства», при этом не затрачивая много часов времени и усилий на самостоятельную разработку новых систем управления и ПО. Он использует MQTT, поэтому пользователь может интегрировать вновь созданный датчик с любым контроллером домашней автоматики.

Что нужно приобрести для создания «умного» термостат Arduino

Сердце «умного» термостата — Ардуино Нано, модернизированная Emakefun Nano. Это не очень большое, завершенное устройство, удобное для создания программируемого макета с высококачественной платой, работающей на микроконтроллере Atmega328P-AU. Ардуино Нано использует технологию Immersion Gold, поддержку загрузки ISP, USB и питания через USB. Пайка не требуется.

При разработке Ардуино Нано использовались высококачественные оригинальные материалы для печатных плат, что гарантирует надежность работы.

Также потребуется модуль приемопередатчика NRF24L01 Arduino NRF24L01 + 2.4 Гц. Он использует полосу 2.4 ГГц и может работать со скоростью от 250 кбит/с до 2 Мбит/с. При использовании на открытом пространстве и с более низкой скоростью передачи, его диапазон может достигать 100 м. Модуль может использовать 125 различных каналов, что дает возможность иметь сеть из 125 независимо работающих модемов в одном месте. Каждый канал может иметь до 6 адресов.

Энергопотребление этого модуля во время передачи составляет всего около 12 мА, что даже ниже, чем у светодиода. Рабочее напряжение модуля составляет от 1.9 до 3.6 В, его контакты допускают логику 5 В, поэтому он легко подключается к Arduino без использования каких-либо преобразователей логического уровня.

Для сборки схемы потребуются соединительные кабели Aukru для Arduino Raspberry Pi с длинной 20 см и расстоянием между выводами: 2.54 мм. Кабели-перемычки Raspberry Pi можно разделить, чтобы сформировать сборку, содержащую необходимое количество проводов для подключения, а также для поддержки нестандартных заголовков с нечетным интервалом.

Датчик температуры и влажности SODIAL (R) DHT22 AM2302 — это цифровой модуль для Arduino Raspberry DIY имеет отверстия для крепежного винта, поэтому его удобно устанавливать и фиксировать в любом комплекте. Цифровой выходной сигнал с одной шиной, и двунаправленными последовательными данными. Рабочее напряжение 5.5 В постоянного тока, рабочий диапазон температур от -40 до 80 °С, точность измерения +/- 0.5 °С. Диапазон влажности от 0 до 100%, точность измерения влажности: +/- 2%.

Релейная плата JBtek — 4-канальный релейный модуль постоянного тока 5 В для Arduino Raspberry Pi DSP AVR PIC ARM. Оснащен сильноточным реле, AC250V 10A; DC30V 10A. Плата 4-канального релейного интерфейса 5 В, каждому из которых требуется ток драйвера 50–60 мА. Умеет управлять различными приборами и другим оборудованием с большим током, поддерживает промышленную область, управление PLC, управление «умным домом». Имеет светодиоды индикации состояния релейного выхода.

Описание модуля KY-013 – аналоговый датчик температуры.

Модуль аналогового датчика температуры KY-013 для Arduino измеряет температуру окружающей среды за счет изменения сопротивления термистора. Данный модуль можно подключать к различным микроконтроллерам (Arduino, ESP32, ESP8266, stm32 и пр.) для измерения температуры окружающей среды.

Технические характеристики KY-013:

  • Рабочее напряжение -5В;
  • Диапазон измерения температуры — от -55 до 125 ° C;
  • Точность измерения — ± 0,5 ° С;

Модуль аналогового датчика температуры KY-013 состоит из термистора NTC и резистора 10 кОм. Сопротивление термистора зависит от температуры окружающей среды, мы воспользуемся уравнением Стейнхарта – Харта, чтобы получить точную температуру термистора.

Схема подключения KY-013 аналогового датчика температуры к Arduino NANO.

Подключаем линию питания платы (посередине) и землю (-) к 5 В и GND соответственно. Затем сигнал (S) к контакту A0 на Arduino.

Внимание! Не забывайте про вероятность, что на некоторых платах нанесена неправильная разметка контактов, о чем я рассказывал в начале урока

Пример кода Arduino для получения значений температуры с датчика KY-013.

В следующем скетче Arduino будет вычисляться температура термистора с использованием уравнения Стейнхарта-Харта. Код вернет температуру в градусах Цельсия.

int ThermistorPin = A0;
int Vo;
float R1 = 10000; // значение R1 на модуле
float logR2, R2, T;
float c1 = 0.001129148, c2 = 0.000234125, c3 = 0.0000000876741; //коэффициенты Штейнхарта-Харта для термистора

void setup() {
  Serial.begin(9600);
}

void loop() {
  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0); //вычислите сопротивление на термисторе
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2)); // температура в Кельвине
  T = T - 273.15; //преобразование Кельвина в Цельсия

  Serial.print("Temperature: "); 
  Serial.print(T);
  Serial.println(" C"); 

  delay(500);
}

Коэффициенты применимы только к платам с термисторами 10 кОм, некоторые редкие платы имеют термисторы на 100 кОм и требуют других коэффициентов.

Библиотека OneWire для работы с DS18B20

DS18B20 использует для обмена информацией с ардуино протокол 1-Wire, для которого уже написана отличная библиотека. Можно и нужно использовать ее, чтобы не реализовывать все функции вручную. Скачать OneWire можно здесь. Для установки библиотеки скачайте архив, распакуйте в папку library вашего каталога Arduino. Подключается библиотека с помощью команды #include <OneWire.h>

Основные команды библиотеки OneWire:

  • search(addressArray) – ищет температурный датчик, при нахождении в массив addressArray записывается его код, в ином случае – false.
  • reset_search() – производится поиск на первом приборе.
  • reset() – выполнение сброса шины перед тем, как связаться с устройством.
  • select(addressArray) – выбирается устройство после операции сброса, записывается его ROM код.
  • write(byte) – производится запись байта информации на устройство.
  • write(byte, 1) – аналогично write(byte), но в режиме паразитного питания.
  • read() – чтение байта информации с устройства.
  • crc8(dataArray, length) – вычисление CRC кода. dataArray – выбранный массив, length – длина кода.

Важно правильно настроить режим питания в скетче. Для паразитного питания в строке 65 нужно записать ds.write(0x44, 1);. Для внешнего питания в строке 65 должно быть записано ds.write(0x44)

Для внешнего питания в строке 65 должно быть записано ds.write(0x44).

Write позволяет передать команду на термодатчик. Основные команды, подаваемые в виде битов:

  • 0x44 – измерить температуру, записать полученное значение в SRAM.
  • 0x4E – запись 3 байта в третий, четвертый и пятый байты SRAM.
  • 0xBE – последовательное считывание 9 байт SRAM.
  • 0х48 – копирование третьего и четвертого байтов SRAM в EEPROM.
  • 0xB8 – копирование информации из EEPROM в третий и четвертый байты SRAM.
  • 0xB4 – возвращает тип питания (0 – паразитное, 1 – внешнее).

Схема проекта

Схема бесконтактного термометра на основе платы Arduino и датчике температуры MLX90614 представлена на следующем рисунке.

Схема была нарисована с использованием программы Fritzing. Поскольку эта программа не поддерживает датчик MLX90614, мы вместо него на схеме использовали соответствующим образом подписанный прямоугольник, также на схеме мы использовали светодиод красного цвета вместо лазерного диода. Вся схема запитывается от батарейки 9V через кнопку. При нажатии кнопки контакт батарейки подключается к контакту RAW платы Arduino. Это напряжение 9V с помощью встроенного регулятора напряжения платы Arduino преобразуется в стабилизированное напряжение 5V, которое используется для питания OLED дисплея, датчика температуры и лазерного диода.

Если вы будете использовать этот термометр только для измерения температуры человеческого тела или других достаточно крупных объектов, то лазерный диод (он облегчает прицеливание термометра на маленьких объектах) можно из его схемы исключить.

Внешний вид конструкции нашего бесконтактного термометра показан на следующем рисунке.

Часто задаваемые вопросы

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

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

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 = ;
// переменная для хранения показателя влажности окружающей среды
float humidity = ;
 
long currentMillis = ;
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);
}

Применение термодатчиков LM135, LM235, LM335 (A, AZ, M, H, AH). Схемы

Типовые схемы

Описанное выше свойство позволяет строить схемы, основанные на том, что напряжение пропорционально температуре. Вот примеры таких схем:

(А) — Стандартное включение. Резистор R1 — в этой и последующих схемах — 6.8 кОм.

(Б) — Определение минимальной температуры. Применяется, например, для включения отопления при угрозе замерзания в одном из мест установки датчиков (под полом, в санузле, в гараже).

(В) — Определение средневзвешенной температуры. Веса определяются резисторами R2, R3, R4. Сопротивления этих резисторов лучше выбирать более 50 кОм.

(Г) — Термодатчики допускают подстройку. Для этого у них есть специальный вывод (подстройка). Схема включения с подстройкой.

(Д) — Определение максимальной температуры. Диоды — маломощные, например, детекторные. Резистор R2 — 100 кОм.

Термодатчики LM135, LM235, LM335 к схеме можно подключать довольно длинным экранированным проводом. Я подключал 10-метровым. Все работало отлично.

Используя эти датчики, натолкнулся на такой эффект. На них наблюдается высокочастотный шум. Возможно, это внешние помехи, но датчик их не гасит. Так что ставлю параллельно датчикам конденсаторы 0.1 — 1 мкФ, можно электролитические.

Модуль датчика температуры KY-028

Датчик применяется для контроля температуры воздуха в помещении: регулятор температуры, автоматика систем отопления, автоматизация систем вентиляции.

Датчик грубо оценивает величину температуры, но умеет точно определять превышение порогового значения.

Технические характеристики

  • Напряжение питания: 3,3 – 5,5 В
  • Рабочая температура: 0 – 70°C

У датчика имеется два вывода: аналоговый и цифровой. Аналоговый позволяет получить температуру, цифровой — превышение установленного порога.

Основной элемент датчика – терморезистор, который соединён со входом микросхемы компаратора LM393YD. С помощью подстроечного резистора выполняется настройка порога срабатывания компаратора. Так устанавливается температурный порог. При превышении температурой установленного порога на цифровом выходе D0 будет высокий уровень напряжения. Если температура мала, то на выходе D0 низкий уровень.

Датчик содержит два светодиодных индикатора. Индикатор L1 сообщает о подаче питания. Светодиод L2 включается при превышении температурой окружающего воздуха установленного порога. С его помощью удобно проводить настройку модуля.

При включении на выходе A0 присутствует напряжение соответствующее температуре в комнате. Эта температура известна лишь приблизительно. Для повышения точности можно использовать температуру тела (сожмите терморезистор пальцами), в этом случае мы узнаем напряжение аналогового выхода при температуре 36,6°C. На эти данные можно опираться в дальнейшем. Другой вариант — температура таяния льда 0°C. Используйте пакетик с таящим льдом или снегом из холодильника, чтобы получить новое значение напряжения, которому можно верить.

Настройка пределов

Каждый датчик имеет свои собственные регулируемые пределы, верхний и нижний . Верхний и нижний пределы определяют гистерезис (Hi — Lo = гистерезис). Прокрутите меню до выбора необходимого предела и нажмите TlS примерно на 2 секунды. Как только значение начнет мигать, его можно будет изменить: TlP (+), TlM (-).

Удерживание кнопки ускоряет увеличение / уменьшение значения. Диапазон пределов и разрешения такой же, как и для температуры, такое же ограничение действует и при отображении ниже -9,9 или выше 99,9 ° C (без десятичных знаков). Используйте кнопку TLS, чтобы сохранить значение (в EEPROM) и завершить настройку.

Параметрический поиск по компонентам

21.02.2018 10:22Миниатюрный модуль зарядного устройства малой мощности для работы в системах накопления энергии из окружающей средыУстройство, выполненное в виде готового решения с минимальным числом внешних компонентов, отличается низкой стоимостью, высокой эффективностью и чрезвычайно компактными размерами Производитель: Silvertel Группа компонентов: PoE-модули питания

21.02.2018 10:08Низковольтный модуль драйвера светодиодов Ag201 с программируемой величиной выходного токаБлагодаря возможности пользовательской установки максимального тока нагрузки, драйвер способен управлять различными типами светодиодов Производитель: Silvertel Группа компонентов: Контроллеры Дисплеев

21.02.2018 09:53Коммутаторы Ethernet BCM56980 серий StrataXGS Tomahawk 3 с пропускной способностью 12.8 Tбит/сСемейство StrataXGS Tomahawk 3 с поддержкой до 32 портов стандарта 400GbE может использоваться для построения высокомасштабируемых распределительных, объединительных и масштабирующих коммутаторов Производитель: Broadcom Limited Группа компонентов: Ethernet

21.02.2018 09:44Компактный DC/DC преобразователь в исполнении µModule с током нагрузки 20 А в 1-канальной и 10 А на канал в 2-канальной конфигурации,ИС предназначена для каскадов питания ПЛИС, графических процессоров, специализированных микросхем и системного энергообеспечения Производитель: Analog Devices Группа компонентов: Понижающие преобразователи напряжения

28.11.2017 06:05Скидки от 50% на ПО для проектирования печатных плат от Mentor GraphicsЗАО «Нанософт», официальный дистрибьютор компании Mentor Graphics, объявляет о старте специального предложения на приобретение программных решений для разработки электроники – PADS Производитель: Группа компонентов:

24.09.2016 08:15Компания АВИТОН — официальный представитель Regatron (Швейцария)Компания Regatron осуществляет разработку и производство источников питания Производитель: Группа компонентов: Источники питания

15.09.2016 08:42Arrow Electronics проводит в жизнь технологии краудфандинга с IndiegogoИх деятельность направлена на оптимизацию цепочки краудфандинг — продукт и должна ускорить темпы внедрения инноваций для технологии интернета вещей (IoT) Производитель: Arrow Electronics Russia Группа компонентов:

08.08.2016 08:41«Новости Электроники + Светотехника» №01/2016: LED-освещение для промышленных объектов Производитель: Группа компонентов:

22.07.2016 08:31Прошивка Serial Extender упрощает работу с модулями MBeeДва радиомодуля MBee-868 с прошивкой Serial Extender позволяют заменить проводное последовательное соединение между двумя любыми устройствами с интерфейсом UART Производитель: Группа компонентов: Модули

29.07.2015 10:24Компания Altera присоединилась с проекту OPNFV с целью привнести преимущества ПЛИС FPGA в технологию виртуализации сетевых функцийРешения на базе ПЛИС FPGA и Систем-на-Кристалле уже ускоряют работу серверов дата-центров в области предоставления поисковых сервисов и свёрточных нейронных сетей Производитель: Altera Группа компонентов: FPGA

29.07.2015 10:14Пример разработки хранилища данных на базе ПЛИС FPGA удваивает срок службы NAND FLASH памятиАрхитектура ПЛИС FPGA со встроенным процессорным ядром предлагает инновационный метод создания устройств хранения данных для облачных приложений и высокопроизводительных вычислительных систем Производитель: Altera Группа компонентов: SoC FPGA

08.07.2015 13:41Компания Pentair предлагает новые трехмерные чертежи и услуги для конструкторов на портале TracepartsЧертежи Schroff на портале Traceparts Производитель: Schroff Группа компонентов:

13.04.2015 14:37Cypress Semiconductor: CySmart — приложения для устройств Bluetooth с низким энергопотрбелением (BLE) Производитель: Cypress Группа компонентов: Bluetooth

28.01.2015 09:43Audi выбрала Системы-на-Кристалле компании Altera для применения в автомобилях с функцией «Автопилот»Altera и TTTech Deliver Industry, лидер в области разработки продвинутых систем помощи водителю (ADAS), приступили к разработке систем управления автопилотируемых автомобилей для компании Audi Производитель: Altera Группа компонентов: Программируемая Логика

Источник

Работа схемы

Схема устройства представлена на следующем рисунке.

Схема содержит такие элементы как плата Arduino, ЖК дисплей, реле (Relay) и терморезистор (термистор). При повышении температуры реле будет включаться, а при понижении температуры ниже заданного порога – выключаться. Реле управляет цепью электрической лампочки – оно выполняет роль домашнего устройства, управляемого в зависимости от температуры. Весь процесс измерения температуры и включения/выключения лампочки выполняется платой Arduino. Также плата Arduino выводит информацию о температуре и статусе системы на экран ЖК дисплея.

Режим поиска

Чтобы микроконтроллер мог взаимодействовать с датчиками DS, он должен знать их коды. Если мы заменяем неисправный датчик или снимаем его, добавляем новые датчики (также после первого включения термостата), мы должны запустить режим поиска.

Серийные номера (первые 8 бит) считываются и сохраняются в EEPROM микроконтроллера, поэтому они будут доступны сразу же при каждом включении термостата.

Обратите внимание, что при поиске датчики сортируются от наименьшего серийного номера (датчик 1) до наибольшего. Из-за ограниченного объема памяти микроконтроллера можно подключить до 15 датчиков

Запустите режим поиска, нажав TLS + TIP. Сначала мы прокручиваем температуру, затем нажимаем кнопку TLS, а затем TIP. Надпись сообщает о начале поиска, и кнопки можно отпустить. Первый найденный датчик отображается как . Поиск заканчивается обнаружением последнего или пятнадцатого датчика . Сразу после завершения поиска включается режим анимации. Если датчик не найден, отображается ошибка и поиск повторяется.

Поскольку ищутся только первые 8 бит серийного номера, может случиться так, что у двух или более датчиков этот первый байт будет одинаковым, это приведет к ошибке . Поиск повторяется до тех пор, пока мы не отключим датчик с тем же кодом, например, постепенно удаляя датчики.

Расширение возможности на Ардуино

Одной из возможностей умного дома является визуализация состояния автоматики и проходящих в системе процессов. Для этого рекомендуется применять отдельный сервер, обеспечивающий обработку состояний (может применяться программа Node.js).

Упомянутая программная технология применяется для решения интернет-задач, поэтому для визуализации «Умного дома» используется язык Java Script (именно с его помощью создается обработчик и сервер). Результаты можно увидеть на экране компьютера или ПК.

Для реализации задуманного подойдет ноутбук, обычный ПК или Raspberry Pi. Применение такой системы позволяет увеличить ее возможности. Так, если на плате Ардуино имеется небольшой объем памяти, на сервере такие ограничения отсутствуют. Программа пишется таким образом, чтобы обеспечить полное управление платформой.

При желании можно задать алгоритм, который будет фиксировать факт нахождения человека в доме, и собирать эту информацию. Если владелец ежедневно возвращается где-то к 17.30, за час может быть включен бойлер или отопительные устройства. По приходу домой человек попадает в теплое здание с горячей водой.

Программа может запомнить время, когда владелец ложится отдыхать и отключать нагрев воды. Таких нюансов, которые при необходимости вносятся в программу, множество. Именно наличие внешнего ПК дает большие возможности контроллеру на Ардуино.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Семинар по технике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: