ivang
New member
в связи с тем, что у esp8266 1 аналоговый вход есть некоторые сложности в подключении нескольких аналоговых датчиков к этому устройству.
Это конечно можно решить путем подключения дополнительного АЦП или того хуже - ардуины.
но будет ли жизнеспособна схема подключения нескольких датчиков на 1 пин при помощи транзисторных ключей?
т.е. у нас висят датчики без питания, по необходимости подаем питание на каждый датчик по очереди (через транзисторы, а на них питание уже с цифровых пинов, коих на esp8266 уже побольше будет), после получения питания датчик "оживает" и начинает давать данные на АЦП. Считываем данные, выключаем питание с датчика.
общую схему попробовал изобразить тут (да-да это все теория, кривой эмулятор и т.д., но общую схему дает понять): Один аналоговый пин, чтение нескольких датчиков | Autodesk Circuits
правда там за основу взята ардуина, т.к. в эмуляторе есть только esp-1, на которой не выведен АЦП.
коротко о принципе работы "устройства" (из эмулятора по ссылке выше).
на ацп ардуины подключен датчик освещения и напряжение (через делитель).
т.е. 2 "датчика" на каждый из них плюс подается через транзистор управляемый с цифрового пина.
Каждую секунду производится переключение: датчик света - напряжение - оба датчика отключены.
При включении одного датчика, другой естественно отключается.
В эмуляторе доступны схемы и код, т.е. все что пожелаете (да, не забудьте на датчике освещенности задать его состояние, иначе по свету тоже выдаст 1023)
В консоль выводятся следующие данные:
No Measure: 1023
Light: 1023
Voltage: 984
Жду отзывов по практическому использованию подобного, а возможно кто-то поделиться более правильными методами использования 1 АЦП для нескольких датчиков.
p.s. радиолюбитель из меня совсем начинающий, возможны логические ошибки в подключении и схеме, буду благодарен за критику и разъяснения ошибок (возможно стоило транзисторы не npn использовать, а связку npn + pnp, чтобы на датчики подавать не минус, а плюс). Резисторы раскидывал методом "тыка", пытаясь получить на выходе необходимый диапазон значений (на ацп) и стараясь сократить потребление.
Это конечно можно решить путем подключения дополнительного АЦП или того хуже - ардуины.
но будет ли жизнеспособна схема подключения нескольких датчиков на 1 пин при помощи транзисторных ключей?
т.е. у нас висят датчики без питания, по необходимости подаем питание на каждый датчик по очереди (через транзисторы, а на них питание уже с цифровых пинов, коих на esp8266 уже побольше будет), после получения питания датчик "оживает" и начинает давать данные на АЦП. Считываем данные, выключаем питание с датчика.
общую схему попробовал изобразить тут (да-да это все теория, кривой эмулятор и т.д., но общую схему дает понять): Один аналоговый пин, чтение нескольких датчиков | Autodesk Circuits
правда там за основу взята ардуина, т.к. в эмуляторе есть только esp-1, на которой не выведен АЦП.
коротко о принципе работы "устройства" (из эмулятора по ссылке выше).
на ацп ардуины подключен датчик освещения и напряжение (через делитель).
т.е. 2 "датчика" на каждый из них плюс подается через транзистор управляемый с цифрового пина.
Каждую секунду производится переключение: датчик света - напряжение - оба датчика отключены.
При включении одного датчика, другой естественно отключается.
В эмуляторе доступны схемы и код, т.е. все что пожелаете (да, не забудьте на датчике освещенности задать его состояние, иначе по свету тоже выдаст 1023)
В консоль выводятся следующие данные:
No Measure: 1023
Light: 1023
Voltage: 984
Жду отзывов по практическому использованию подобного, а возможно кто-то поделиться более правильными методами использования 1 АЦП для нескольких датчиков.
p.s. радиолюбитель из меня совсем начинающий, возможны логические ошибки в подключении и схеме, буду благодарен за критику и разъяснения ошибок (возможно стоило транзисторы не npn использовать, а связку npn + pnp, чтобы на датчики подавать не минус, а плюс). Резисторы раскидывал методом "тыка", пытаясь получить на выходе необходимый диапазон значений (на ацп) и стараясь сократить потребление.
Последнее редактирование: