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

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

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

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

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

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

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

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

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

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

Алгоритм работы программы термометра на ATmega и DS18B20

Все установки микроконтроллера заводские, FUSE-биты трогать не надо.

Для работы программы задействовано два таймера/счетчика микроконтроллера:- восьмиразрядный Т0- шестнадцатиразрядный Т1
С помощью восьмиразрядного таймера Т0 настроенного на вызов прерывания по переполнению, с внутренней частотой СК/8 (период 2 миллисекунды) организован:- расчет текущей температуры- динамический вывод результатов измерения температуры датчиком DS18B20
С помощью шестнадцатиразрядного таймера Т1 настроенного на вызов прерывания по переполнению, с внутренней частотой СК/64 (период 4 секунды) организованно:- подача команды датчику DS18B20 на измерение температуры- считывание измеренной температуры с датчика
В принципе, можно задействовать и один восьмиразрядный таймер/счетчик, также настроенный на вызов прерывания по переполнению, с внутренней частотой СК/8, и всю работу схемы организовать в процессе обработки прерывания. Но дело в том, что смысла в этом нет — датчику DS18B20 необходимо чуть меньше 1 секунды (при 12-ти битном разрешении) для конвертирования (определения) температуры, т.е., чаще чем 1 раз в секунду мы не сможем обновлять данные температуры. Кроме того, столь частое обновление температуры приведет к нагреву датчика и, соответственно, к искажению реальных данных. Использование второго счетчика позволяет отдельно задавать промежутки времени измерения температуры.

Вот так выглядит основная часть программы в Algorithm Builder:

Где:

— SP — настройка начального адреса стека 

— Timer 0 — настройка таймера T0:

— Timer 1 — настройка таймера Т1:

— TIMSK — настройка прерываний от таймеров:

— Init_Display — подпрограмма настройки разрядов портов, участвующих в динамической индикации вывода данных на трехразрядный семисегментный индикатор

— 1 —> I  —  глобальное разрешение прерываний

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

Если возникнут вопросы, если что-то изложено не понятно или есть вопросы по программе, пишите — отвечу.

  Программа термометра в HEX файле (2,4 KiB, 7 485 hits)

  Программа термометра в Algorithm Builder (7,1 KiB, 5 274 hits)

Второй вариант программы, без 4-х секундной задержки измерения температуры. Температура измеряется непрерывно (интервал менее 1 секунды)

  Термометр 2 — HEX файл (2,4 KiB, 4 303 hits)

  Термометр 2 в AlgorithmBuilder (11,1 KiB, 4 042 hits)

Другие конструкции на микроконтроллерах1. Простые электронные часы на микроконтроллере ATyni26, с использование микросхемы часов реального времени DS13072. Двухканальный термометр на микроконтроллере ATmega8 и датчиках температуры DS18B203. Двухканальный термостат, терморегулятор на ATmega8 и датчиках DS18B204. Двухканальный термометр, термостат, терморегулятор с возможностью работы по времени, одноканальный таймер реального времени на ATmega8 и датчиках DS18B205. Двухканальный термометр, часы на ATmega8, датчиках температуры DS18B20, RTC DS1307, LCD 1602

Термометр на микроконтроллере ATmega8 и цифрового датчика температуры DS18B20Схема, программа очень простого термометра на микроконтроллере ATmega8 с использование датчика температуры DS18B20
Published by: Мир микроконтроллеров

Date Published: 05/07/2015

Серверная часть

Итак, есть датчики которые умеют отправлять данные с помощью метода POST протокола HTTP.

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

Для этих целей я написал маленький сервер, и завернул его в docker.

Исходный код — https://github.com/bessarabov/oak-hollow.

Вот пример отправки данных на сервер с помощью «curl»:

Датчик отправляет только MAC адрес, значение температуры и значение влажности. Сервер принимает
эти значения, дописывает к ним текущую дату и время и сохраняет эти данные в файл, а еще
записывает все это в sqlite базу данных.

Так же в этом репозитории есть еще и микросервис который визуализирует данные с помощью библиотеки
Cubism.js.

Вот небольшое видео как меняются данные если нагревать датчик зажигалкой. Для этого видео
я поправил код на датчике чтобы он отправлял данные не каждые 30 секунд, а каждые 2 секунды.
.

Если включить и положить все датчики рядом то видно что данные с них различаются:

Скетч для DS18B20

Алгоритм получения информации о температуре в скетче состоит из следующих этапов:

  • Определение адреса датчика, проверка его подключения.
  • На датчик подается команда с требованием прочитать температуру и выложить измеренное значение в регистр. Процедура происходит дольше остальных, на нее необходимо примерно 750 мс.
  • Подается команда на чтение информации из регистра и отправка полученного значения в «монитор порта»,
  • Если требуется, то производится конвертация в градусы Цельсия/Фаренгейта.

Пример простого скетча для DS18B20

Самый простой скетч для работы с цифровым датчиком выглядит следующим образом. (в скетче мы используем библиотеку OneWire, о которой поговорим подробнее чуть позже).

Скетч для работы с датчиком ds18b20 без delay

Можно немного усложнить программу для ds18b20, чтобы избавиться от функции delay(), тормозящей выполнение скетча.

Библиотека DallasTemperature и DS18b20

В своих скетчах мы можем использовать библиотеку DallasTemperature, упрощающую некоторые аспекты работы с датчиком ds18b20 по 1-Wire. Пример скетча:

Просадка напряжения

Пытаясь найти объективную причину зависания, я стал грешить на некачественный блок питания и просадку напряжения при включении реле, особенно когда несколько реле включаются одновременно, ведь зависания происходили не так часто, а всего лишь 1-2 раза в месяц.

Первым делом решил добавить 2 конденсатора по 1000 мкф в надежде, что они уменьшат просадку напряжения при срабатывании реле. Первый поставил параллельно выходу с блока питания (там кстати уже был свой конденсатор, но второй лишним не будет, подумал я), а второй — установил параллельно выходу +5V на плате ардуино, откуда как раз берется питание для реле. С этого же выхода питается и сам микроконтроллер. Складывается логичная ситуация — когда все реле включаются одновременно, микроконтроллеру не хватает напряжения и он зависает.

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

Схема подключения DHT12 к Arduino

Подключается датчик температуры и влажности DHT12 к Arduino достаточно просто. Схема подключения показана на рисунке.

Не нужно забывать про подтягивающие резисторы на 10кОм на линии SDA и SCL.

Arduino DHT12
VCC VCC
A4 SDA
GND GND
A5 SCL

Пример скетча

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

/*
  Добавляем необходимые библиотеки
*/
#include <DHT12.h>
/*
  Создаём экземпляр класса DHT12
*/
DHT12 dht12;

void setup() {
  /*
    Инициализируем DHT12
  */
  dht12.begin();
  Serial.begin(9600);
  delay(2000);
}

void loop() {
  /*
     Читаем данные с DHT12 и получаем статус
  */
  int status = dht12.read();
  switch (status)   {
    case DHT12_OK:
      /*
        Выводим данные в терминал
      */
      Serial.println(F("Status : OK"));
      Serial.print(F("T = "));
      Serial.print(dht12.getTemperature());
      Serial.println(F("*C"));
      Serial.print(F("H = "));
      Serial.print(dht12.getHumidity());
      Serial.println(F(" %"));
      break;
    case DHT12_ERROR_CHECKSUM:
      Serial.print(F("Checksum error"));
      break;
    case DHT12_ERROR_CONNECT:
      Serial.print(F("Connect error"));
      break;
    case DHT12_MISSING_BYTES:
      Serial.print(F("Missing bytes"));
      break;
    default:
      Serial.print(F("Unknown error"));
      break;
  }
  delay(2000);
}

Пример работы

Итак, с теоретической основой закончили, можно приступать к соединению датчика температуры и Arduino. Схема подключения:

Естественно, речь идет об использовании сенсора в воздушной среде. В том случае, если требуется измерять нагрев жидкости, то нужен герметичный датчик температуры DS18B20.

Алгоритм обработки

Сама последовательность действий достаточно проста. Только для упрощения, в приведенном примере, она рассчитана на наличие единственного сенсора на линии 1-Wire.

  1. Определить ИД датчика термостата
  2. Отправить команду по ИД на измерение температуры
  3. Ждать 750 мс, пока устройство отработает и поместит данные в оперативную память
  4. Дать функциональную команду на чтение памяти датчика температуры ds18b20

Сам скетч для Arduino

Здесь требуется примечание. Существует множество библиотек работы с 1-Wire выполняющих подключение датчика температуры DS18B20 к Arduino. В представленном скетче, будет использоваться вариант «OneWire», которую можно скачать с официальной страницы разработчиков ПО Arduino (https://playground.arduino.cc/Learning/OneWire). Там же, есть информация для ознакомления со списком функций в библиотеке.

Есть нюанс в приведенном скетче, он относится к физической схеме подключения питания датчика и соответствующим взаимодействием процедур библиотеки. Если используется паразитное, то DataSerial.Write(0х44), о запросе температуры, нужно заменить на DataSerial.Write(0x44, 1).

Что касается конечных пользователей, то пользуясь этой инструкцией, им будет несложно выполнить подключение инфракрасного датчика ds18b20 температуры для Ардуино. Все достаточно прозрачно, скетч элементарен, а простота схемы достойна уважения.

Как измерить температуру

Для использования TMP36 достаточно подключить левый коннектор к источнику питания (2.7 — 5.5В), а правый – к земле. Со среднего коннектора мы будем снимать аналоговое значения напряжения, которое прямопропорционально (линейная зависимость) температуре. Значение аналогового напряжения не зависит от источника питания.

Для преобразования напряжения в температуру используется зависимость:

Temp in °C = / 10

То есть, например, если напряжение на выходе равно 1 В, температура равна:

((1000 mV — 500) / 10) = 50 °C

Если вы используете датчик температуры LM35 или подобный ему, используйте линию “a” на рисунке выше и формулу:

Temp in °C = (Vout in mV) / 10

Проблемы, которые могут возникнуть при работе с несколькими датчиками

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

Особенности и разновидности современных температурных датчиков

Конкретизированный вывод по целесообразности использования определенного приспособления может дать только профессионал в данном вопросе.

К примеру, по функционалу различают следующие термодатчики:

  1. Существует вариант с подключением двух датчиков, которые в совокупности контролируют работу системы в двухстороннем режиме. Первый определяет температуру в помещении, а второй – внутри системы. Особенностью такой конструкции является повышенная экономичность и безопасность. Различные модификации позволяют настроить автоматическую систему активации подогрева, защиту от детей и т.д.
  2. У топовых производителей появилась такая возможность, как установка датчика теплого пола с сигнализацией. О любых нарушениях и неполадках в работе системы владелец узнает без задержек, что значительно ускорит процесс устранения сбоев и станет дополнительной системой защиты (подробнее: «Как выбрать и установить термодатчик для теплого пола»).
  3. Популярность набирают датчики с системой контроля предельных температур. Они настраиваются заранее на диапазон рабочих температур и активируют систему подогрева, если пол остывает ниже определенного значения, либо отключают в обратном случае. Обычно монтируются такие датчики в гофрированную трубку между линиями подачи энергоносителя в систему, что делает их защищенными от внешнего воздействия.
  4. Если монтаж датчика теплого пола производится вне системы, то устройство находится в полной безопасности. Рекомендуется устанавливать их в таких местах комнат, куда не имеют доступа активные воздушные массы, прямые солнечные лучи и т.д. Только при полной защищенности устройства от различных внешних раздражителей можно быть уверенным в точности данных, которые датчик передает система. Соответственно и четкость функционирования системы зависит от того, насколько хорошо отлажен и защищен датчик.
  5. Также существуют датчики со встроенным термостатом, как ручным, так и электронным.

Описание датчика DS18B20 для Arduino

DS18B20 – это цифровой температурный датчик, обладающий множеством полезных функций. По сути, DS18B20 – это целый микроконтроллер, который может хранить значение измерений, сигнализировать о выходе температуры за установленные границы (сами границы мы можем устанавливать и менять), менять точность измерений, способ взаимодействия с контроллером и многое другое. Все это в очень небольшом корпусе, который, к тому же, доступен в водонепроницаемом исполнении.

Микросхема имеет три выхода, из которых для данных используется только один, два остальных – это земля и питание. Число проводов можно сократить до двух, если использовать схему с паразитным питанием и соединить Vdd с землей. К одному проводу с данными можно подключить сразу несколько датчиков DS18B20 и в плате Ардуино будет задействован всего один пин.

Где купить датчик

Влагозащищенный датчик температуры DS18B20 с длиной провода 1 м от надежного магазина Комплект из 10 микросхем DS18B20 TO92 Модуль DS18B20 для удобного подключения к Ардуино от Keyestudio
Беспроводной модуль DS18B20 на ESP8266 ESP-01 ESP-01S для проектов умного дома Шилд датчика DS18B20 для платы D1 MINI – беспроводная передача данных Датчик DS18B20 с модулем для подключения к Ардуино

Особенности цифрового датчика DS18B20

Погрешность измерения не больше 0,5 С (для температур от -10С до +85С), что позволяет точно определить значение температуры. Не требуется дополнительная калибровка.
Температурный диапазон измерений лежит в пределах от -55 С до +125 С.
Датчик питается напряжением от 3,3В до 5В.
Можно программно задать максимальную разрешающую способность до 0,0625С, наибольшее разрешение 12 бит.
Присутствует функция тревожного сигнала.
Каждое устройство обладает своим уникальным серийным кодом.
Не требуются дополнительные внешние элементы.
Можно подключить сразу до 127 датчиков к одной линии связи.
Информация передается по протоколу 1-Wire.
Для присоединения к микроконтроллеру нужны только 3 провода.
Существует так называемый режим паразитного питания – в нем происходит питание напрямую от линии связи. Для подключения в этом случае нужны только 2 провода

Важно, что в этом режиме не гарантируется корректная работа при температурах выше 100С. Режим паразитного питания удобно обычно применяется для приложений с удаленным температурным датчиком.

Память датчика состоит из двух видов: оперативной и энергонезависимой – SRAM и EEPROM. В последнюю записываются регистры конфигурации и регистры TH, TL, которые могут использоваться как регистры общего назначения, если не используются для указания диапазона допустимых значений температуры.

Основной задачей DS18B20 является определение температуры и преобразование полученного результата в цифровой вид. Мы можем самостоятельно задать необходимое разрешение, установив количество бит точности – 9, 10, 11 и 12. В этих случаях разрешающие способности будут соответственно равны 0,5С, 0,25С, 0,125С и 0,0625С.

Во время включения питания датчик находится в состоянии покоя. Для начала измерения контроллер Ардуино выполняет команду «преобразование температуры». Полученный результат сохранится в 2 байтах регистра температуры, после чего датчик вернется в первоначальное состояние покоя. Если схема подключена в режиме внешнего питания, микроконтроллер регулирует состояние конвертации. Во время выполнения команды линия находится в низком состоянии, после окончания программы линия переходит в высокое состояние. Такой метод не допустим при питании от паразитной емкости, так как на шине постоянно должен сохраняться высокий уровень сигнала.

Полученные температурные измерения сохраняются в SRAM датчика. 1 и 2 байты сохраняют полученное значение температуры, 3 и 4 сохраняют пределы измерения, 5 и 6 зарезервированы, 7 и 8 используются для высокоточного определения температуры, последний 9 байт хранит устойчивый к помехам CRC код.

Версии

  • v1.1 — убраны дефайны
  • v1.2 — возвращены дефайны
  • v1.3 — вычисления ускорены, библиотека облегчена
  • v2.0 — логика работы чуть переосмыслена, код улучшен, упрощён и облегчён
  • v2.1 — integral вынесен в public
  • v2.2 — оптимизация вычислений
  • v2.3 — добавлен режим PID_INTEGRAL_WINDOW
  • v2.4 — реализация внесена в класс
  • v3.0
    • Добавлен режим оптимизации интегральной составляющей (см. доку)
    • Добавлены автоматические калибровщики коэффициентов (см. примеры и доку)
  • v3.1 — исправлен режиме ON_RATE, добавлено автоограничение инт. суммы
  • v3.2 — чуть оптимизации, добавлена getResultNow
  • v3.3 — в тюнерах можно передать другой обработчик класса Stream для отладки

История

У меня есть несколько YouTube каналов которые я иногда смотрю. Один из них — это
Chillichump.
Человек живет недалеко от Лондона и у себя в садике в парнике выращивает острые перцы,
а потом из них делает соусы. Канал отличный, автор явно фанатеет от всего этого,
рассказывает он интересно, видео хорошего качества.

В основном автор рассказывает о перцах, какие бывают, как их выращивать, как собирать,
как ферментировать и как готовить, но иногда он рассказывает про какие-то технические самоделки, которые
он делает для того чтобы упростить или улучшить процесс создания острых соусов.

В начале 2019 года он выпустил видео о том как просто собрать датчик температуры и
влажности который может отправлять данные на сервер. У него достаточно технологическая
теплица: есть датчики, камеры, система автоматического полива. Всем этим он может
управлять удаленно.

Вот его видео как собрать датчик температуры/влажности —

(«Easy web-enabled Temperature and Humidity monitoring for your greenhouse»).

Судя по видео — все очень просто. Берется несколько деталей, все они спаиваются и
получается работающая конструкция которая умеет отправлять данные на сервер по WiFi.

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

Так что я решил повторить то что описано в видео, спаять датчики и собирать с них данные.

Эксперимент 1: датчик расстояния

В этом эксперименте мы будем использовать датчик расстояния Sharp GP2Y0A21YK для управления яркостью светодиода.

Инфракрасный (IR) датчик SHARP

Необходимые комплектующие

  • 1 x Arduino Mega2560;
  • 1 x макетная плата;
  • 1 x светодиод;
  • 5 x перемычка;
  • 1 x резистор 470 Ом;
  • 1 X датчик расстояния Sharp GP2Y0A21YK.

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

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

Датчик расстояния Sharp может обнаруживать объекты на расстояниях от 10 до 80 см. Он излучает импульс инфракрасного света, а затем определяет угол, на котором отражается этот свет. Чем дальше объект, тем ниже выходное напряжение. Если датчик не принимает отраженный свет, то напряжение на его выходе составит 0 В. Если объект находится на расстоянии 10 см или ближе, выходное напряжение будет равно 5 В (в этом эксперименте мы подаем на датчик напряжение питания 5 В).

Выход датчика подключается к аналоговому входу Arduino. Аналого-цифровой преобразователь (ADC) Arduino затем преобразует это напряжение в значение от 0 до 1023. Затем это значение преобразуется в значение от 0 до 255, и это число используется для установки коэффициента заполнения сигнала на широтно-модулированном (ШИМ) выходе, который управляет яркостью светодиода. В результате, чем ближе объект к датчику расстояния, тем ярче светит светодиод.

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

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

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

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

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

DHT11

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

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

Ниже приведены наиболее важные технические характеристики датчика температуры DHT11:

  • Протокол связи: 1-Wire
  • Диапазон питания: от 3 до 5,5 В
  • Диапазон температур: от 0 до 50 ºC (+/- 2ºC)
  • Диапазон влажности: от 20 до 90% (+/- 5%)
  • Период выборки: 1 секунда
  • Библиотеки Arduino: Adafruit DHT Library, Adafruit Unified Sensor Library

Датчики температуры для работы с Ардуино

При работе с микроконтроллером Ардуино наиболее часто используются следующие датчики температуры: DS18B20, DHT11, DHT22, LM35, TMP36.

Датчик температуры LM35

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

  • Использование в схемах с развязкой по емкостной нагрузке.
  • В схемах с RC цепочкой.
  • Использование в качестве удаленного датчика температуры.
  • Термометр со шкалой по Цельсию.
  • Термометр со шкалой по Фаренгейту.
  • Измеритель температуры с преобразованием напряжение-частота.
  • Создание термостата.

Несколько слов о термостатах

Для того чтобы правильно выбрать термостат для совместной работы с Arduino, необходимо понимать принцип их работы и знать классификацию, поскольку не все они могут работать в паре.

Существует несколько типов термостатов, которые используются в бытовой системе отопления:

  1. Высокого напряжения — самый простой вариант, как правило, работает непосредственно на нагревательном приборе радиаторе или конвекторе, запитан от сети 220 В. Принцип управления температурой прост: при высокой температуре воздуха в помещении, проход теплоносителя через радиатор уменьшается, вплоть до полной остановки, а при низкой — наоборот.
  2. Низкого напряжения, на сегодняшний день это самый распространенный вариант для домашних систем отопления. Его главное отличие от первого типа, он запитан от низкого напряжения, как правило, 24 В, а объектом управления является источник нагрева: газовый, твердотопливный или электрокотел. Они сами не контролируют и не управляют подачей теплоносителя, а сообщают источнику отопления, что делать, в зависимости от температуры окружающей среды: закрыть или открыть подачу газа в котел, включить или отключить подачу напряжения на ТЭН в отопительном контуре электрокотла. В твердотопливном котле процесс регулирования осуществляется путем подачи определенного объема дутьевого воздуха в топку, например, при закрытии заслонки, воздух поступать в котел не будет и горение твердого топлива прекратится.
  3. Умные термостаты еще более функциональные. Они, как правило, имеет погодозависимое управление тепловым процессом. Тепловой режим котла поддерживается по температуре наружного воздуха. Такие термостаты хорошо интегрируются в систему «Умный дом».

Описание широтно-импульсной модуляции

Если коротко, широтно-импульсная модуляция является методом получения аналоговых результатов (таких, как температура) при помощи цифровых средств. Она хороша тем, что даже очень высокие либо очень низкие значения передаются по каналам связи одним импульсом. Весь процесс широтно-импульсной модуляции проходит так: датчик отправляет процессору сигнальный импульс, а сам процессор уже проводит его обработку, после чего выдает значение на термометр. Чтобы иметь возможность получать информацию таким образом, необходимо задействовать специальные контактные штыри на плате Arduino. Распознать эти контакты предельно просто — рядом с ними есть вот такой значок «~». Кстати, данный значок присутствует и возле контакта под номером 9, с которым мы соединяем положительный штырь вольтметра. 9-й вывод был задействован только в качестве примера; при желании можно использовать любой другой контакт, рядом с которым стоит значок «~».

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

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

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

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