Files
lighthub/documentation/reference/dokuwiki-2026-10-02/аналоговые_входы.txt
T
andry 718e6cb603 docs: add dokuwiki snapshot 2026-10-02 as verification baseline
Frozen copy of the official wiki (lazyhome.ru) used as the audit reference
while the repo documentation is brought in line with the code.
2026-10-03 00:41:24 +03:00

78 lines
7.9 KiB
Plaintext

===== Общая информация =====
На разьем X36 контроллера LightHub выведены 12 аналоговых входов и 4 дискретных.
Аналоговые входы: A0-A11, Дискретные - DA12-DA15
Каждый из данных входов защищен от статического электричества и импульсных помех мощным TWS диодом, защищающий вход процессора как от отрицательного напряжения так и от напряжения более 5В
В случае использования процессорной платы DUE на 3,3 Вольт, автоматически, используется дополнительный диод, ограничивающий потенциал на входе процессора до допустимой величины в 3,5В
При необходимости, каждый из данных входов, может быть использован как слаботочный низковольтный выход.
===== Аппаратное конфигурирование =====
Каждый вход может быть настроен для работы в разных режимах путем запаивания специальных контактных дорожек (перемычек) на плате
Для каждого входа предусмотрено две перемычки: подтяжка к GND и подтяжка к VCC (в зависимости от типа процессора, 5 или 3,3 В)
* Вход 0-10 В: запаяна перемычка GND. В этом случае, образуется делитель, при котором максимум значения ADC соответствует, примерно, 10В входного напряжения. В плавающем режиме на входе низкий уровень.
* Датчик протечки: запаяна перемычка VCC. В плавающем режиме, на входе высокий уровень. Между входом и нулем можно подключить проводной датчик протечки. В случае попадания влаги, на входе образуется низкий уровень.
* Плавающий высокоомный вход или выход: перемычки не запаяны. При этом вход измеряет напряжение от 0 до VCC, при более высоком напряжении - входит в насыщение, оставаясь при этом электрически защищенным от перенапряжения.
Также, к данным входам можно подключать датчики типа DHT22 или внешний CAN адаптер
Максимальное напряжение на входе - 24В (уточнить)
===== Программное конфигурирование =====
Входы настраиваются в секции in конфигурации контроллера
Формат:
<code>
"in":{
"pin#": { "T":<type>, "emit":"<emit>", item:"<item>", "scmd": "ON|OFF|TOGGLE|HALT|REST|XON|XOFF", "rcmd": "ON|OFF|TOGGLE|HALT|REST|XON|XOFF", "map":[<in_min>,<in_max>,<out_min>,<out_max>,<noize>]}
}
</code>
== Типы входов ==
- pin# - номер входа ([[входы_выходы|входы-выходы]] , столбец "MPU PIN #")
- <type> - целое число, побитно кодирующее тип входа. (значение по-умолчанию 0):
Для //аналоговых входов//, допустимы следующие значения:
* 66 - Аналоговый вход без встроенной подтяжки
* 64 - Аналоговый вход с подключением встроенного подтягивающего резистора
Для //дискретных входов// применимы следующие значения:
* 0 - дискретный вход с подключением встроенного подтягивающего резистора, **низкий** уровень соответствует значению ON
* 2 - дискретный вход без подключения встроенного подтягивающего резистора, **высокий** уровень соответствует значению ON
* 1 - дискретный вход с подключением встроенного подтягивающего резистора, вход меняет значение между ON и OFF по низкому уровню входного напряжения
* 3 - дискретный вход без подключения встроенного подтягивающего резистора,, вход меняет значение между ON и OFF по высокому уровню входного напряжения
* 4 - датчик температуры и влажности DHT22
* 5 - датчик качества воздуха CCS811
* 6 - датчик температуры и влажности HDC1080
* 8 - COUNTER вход
* 16 - UPTIME вход
==Действия при срабатывании входа (старый метод настройки) ==
- <emit> - имя MQTT топика в который будет выводиться значение при изменениях на входе. Если имя не содержит символа "/",то слева от значения будет автоматически подставлен префикс статусного топика (см. раздел [[работа_с_mqtt]])
- <scmd> - значение, передаваемое в топик при переключении входа в состояние ON (по-умолчанию, ON)
- <rcmd> - значение, передаваемое в топик при переключении входа в состояние OFF (по-умолчанию, OFF)
- <item> - имя канала из секции items которому локально на вход будет передано значение при изменении состояния входа
- <map> - параметр, который позволяет преобразовывать диапазон получаемых значений на аналоговом порту к иному диапазону или к дискретным значениям ON/OFF, подавлять шумы.
Примеры:
<code>
"map":[0,850,0,100] - при получении значения 850 преобразование выдаст на выходе число 100
"map":[100,500,0,256,10] - при изменении входного значения от 100 до 500 преобразование выдаст на выходе число от 0 до 256, флуктуации в пределах 10 единиц между замерами (после преобразования) , будут игнорироваться.
При выходе величины изменения между текущим и предыдущим учтенным замером за пределы шумоподавления, шумоподавление отключается для нескольких последовательных замеров.
"map":[100,500] - при понижении значения ниже 100 будет предприняты действия, аналогично дискретному входу, состояние OFF, при повышении значения выше 500 будет предприняты действия, аналогично дискретному входу, состояние ON
</code>
См. также [[несколько_кнопок_на_одном_входе]]