CANNY 5 Nano. Драйвер датчика DHT11-DHT22-AM2302

Общее описание

Контроллер CANNY 5 Nano может работать с датчиками относительной влажности и температуры DHT11 / DHT22 / AM2302, используя однопроводное подключение, при этом контроллер выступает в качестве ведущего устройства, генерируя запросы к датчику, а DHT11 / DHT22 / AM2302 - в качестве ведомого, передавая данные замеров влажности и температуры, отвечая на данные запросы.

Для подключения контроллера CANNY 5 Nano к DHT11 / DHT22 / AM2302 может использоваться любой из его каналов ввода-вывода, таким образом к контроллеру может быть одновременно подключено до 18 таких датчиков - по одному датчику на каждый канал контроллера, однако драйвер может единовременно работать только с одним датчиком, т.е. при работе с несколькими датчиками DHT11 / DHT22 / AM2302 необходимо организовывать их последовательный опрос.

В зависимости от типа и конструктивных особенностей применяемого датчика (наличия встроенной подтяжки к 5В), может потребоваться подтяжка данного канала снаружи к напряжению 5В резистором номиналом от 3 кОм до 7 кОм, либо использование внутреннего подтягивающего резистора, при его наличии у используемого канала (для каналов №№7,8,9,13,16,17).

Драйвер датчика DHT11-DHT22-AM2302 в своей работе использует ресурсы каналов контроллера, но имеет более высокий приоритет чем драйвера ввода-вывода. Таким образом, при активации драйвера, для задействованных в его работе каналов, изменение значений в связанных с ними регистрах драйвера ввода-вывода будет проигнорировано контроллером.

Регистры драйвера датчика DHT11-DHT22-AM2302

Ниже приведено описание регистров управления работой драйвера датчика DHT11-DHT22-AM2302

Регистры конфигурации драйвера датчика DHT11-DHT22-AM2302.
Регистр Ожидаемые значения
Регистр конфигурации DHT 1…N = активизация драйвера и установка типа подключаемого устройства (задается специальной константой из справочника констант);
0 = отключить канал от драйвера датчика DHT11-DHT22-AM2302, вернуть управление каналом драйверу каналов ввода-вывода и разрешить изменения его состояния из функциональной диаграммы.
Регистр номера канала приема датчика DHT 0…17 = установить номер канала контроллера используемого для работы с датчиком DHT11-DHT22-AM2302.
Регистры приема драйвера датчика DHT11-DHT22-AM2302.
Регистр Перечень допустимых значений
Тип устройства Датчик температуры и относительной влажности DHT11/DHT22/AM2302

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

Регистры конфигурации драйвера датчика DHT11-DHT22-AM2302.
Регистр Ожидаемые значения
Регистр наличия принятых данных DHT 1 = данные от датчика успешно получены и доступны в регистрах чтения драйвера датчика DHT11-DHT22-AM2302;
0 = в буфере приема драйвера отсутствуют актуальные данные.
Регистр чтения показаний датчика DHT: относительная влажность, в десятых долях процента 0…999 = значения измеренной датчиком относительной влажности, в десятых долях процента.
Регистр чтения показаний датчика DHT: модуль температуры в десятых долях градусов Цельсия 0…800 = модуль значения измеренной датчиком температуры, в десятых долях градусов Цельсия.
Регистр чтения показаний датчика DHT: знак температуры (0 = выше нуля; 1 = ниже нуля) 0 = измеренная датчиком температура не ниже нуля;
1 = измеренная датчиком температура ниже нуля.

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

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

Отправка запросов на получение данных датчиков выполняется автоматически, 1 раз в 3 секунды, и начинается сразу после активации драйвера. Контроль получения ответов DHT11-DHT22-AM2302 выполняется с помощью соответствующих регистров драйвера.

Примечание: Во избежание потери данных при работе с несколькими датчиками DHT11-DHT22-AM2302, выполняйте переключение между ними только после получения, обработки или сохранения данных от текущего активного датчика.

Примеры

Пример конфигурации канала №2 для работы с датчиком DHT11-DHT22-AM2302.


Пример функциональной диаграммы работы с датчиком DHT22.

При получении данных от датчика DHT, подключенного к каналу №2 контроллера, в регистре наличия принятых данных драйвера DHT появляется значение «1» и данные из регистров чтения показаний температуры, с помощью D-триггеров, сохраняются в соответствующие именованные сети для дальнейшей обработки. Получение данных подтверждается кратковременным включением контрольного светодиода контроллера (канал №4).

СМОТРИ ТАКЖЕ