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

Материал из CANNY Wiki
Перейти к: навигация, поиск

Общее описание[править]

Контроллер 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.

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

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

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

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


Примеры[править]

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

8 17 2 1.png

Регистры конфигурации драйвера датчика DHT11-DHT22-AM2302.

Регистр Ожидаемые значения
Регистр конфигурации DHT
1...N = активизация драйвера и установка типа подключаемого устройства (задается специальной константой из справочника констант);
0 = отключить канал от драйвера датчика DHT11-DHT22-AM2302, вернуть управление каналом драйверу каналов ввода-вывода и разрешить изменения его состояния из функциональной диаграммы.
Регистр номера канала приема датчика DHT
0...17 = установить номер канала контроллера используемого для работы с датчиком 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 = измеренная датчиком температура ниже нуля.


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

8 17 2 2.png

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


Смотри также[править]

CANNY 5 nano

CANNY 5 nano, Драйвер Dallas 1-Wire

CANNY 7, Драйвер Dallas 1-Wire