• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Как лучше подключать датчики?

Peter1001

New member
Собственно возник вопрос.
Есть esp8266-12f. И есть набор датчиков.
DHT22 (влажность+темпа), BMP180(давление+высота), MQ-XXX (качество воздуха), BH1750 (освещённость).
Но фишка в том. Что внезапно на ESP заканчиваются доступные пины :( (их всего 5??)
Или я что-то еще не понимаю?
Сей час DHT22 на GPIO4, но почитав форум нашёл что туда лучше повесить BMP180.
Собственно не понятно как это всё разрулить и какой датчик может на каком пине висеть... ?

В esp32 больше пинов? Или 8266 хватит без проблем.

PSPS: + планирую еще по мимо wi-fi отправлять команды и получать ответ от esp по GPIO :)
[off](то есть будет головной сервер, полноценный на нём опрос датчиков и разные правила, триггеры с предикатами в ДНФ)[/off]
 

=AK=

New member
Много пинов не нужно. Достаточно иметь 2 пина, чтобы организовать интерфейс I2C. А уж к I2C одни датчики привешиваются напрямую, а другие - через расширители I/O (типа PCA9534 и т.п.) и через АЦП (типа ADS1115 и т.п.). А впредь будете выбирать сенсоры - не хватайте первый попавшийся, а берите с I2C.
 

Peter1001

New member
На счёт I2C есть некоторые проблемы. Например MQ-4 (датчик пропана/итд) не видел в I2C исполнении.
То есть сей час мне придётся например BH1750 подрубить к 4 и 5 ноге (I2C) и туда же BMP180 (I2C)
А оставшиеся будут жить например DHT22 и MQ на 12 и 13 или 14 соответственно? всё верно?
 

=AK=

New member
Дался вам этот SHT22. У Sensirion полнО датчиков на I2C. Возьмите например SHT31.

А у ADS1115 встроенный программируемый усилитель, 4 входа, и разрядность АЦП 16 бит. Не хотите сами паять - купите готовый модуль на Али, он копейки стоит.
 

Peter1001

New member
Дался вам этот SHT22
Просто у меня он есть и не один :( . и причём давно. И не один. А SHT31 еще ждать надо будет.

Однако по существу.
Верхняя схема описанная в #3 будет работать?
Смогу ли я на первое время подключить именно так ка описано? а когда уже доедут ADS1115IDGSR переделаю в новых версиях буду делать с ними.

ADS1115 имеет 1 вход/выход I2C и 4 аналоговых выхода/входа верно я понял?

[off]PS: у меня просто с микриками всё плохо, по образованию чисто математик-программист, так что в своё время это было только в теории. Вот решил немного попрактиковаться[/off]
 
Последнее редактирование:

AndrF

Active member
Собственно возник вопрос.
В esp32 больше пинов?
Больше, но и греется/жрет он больше. Для вашей задачи явно избыточен.

Или 8266 хватит без проблем.
Все зависит от того как вы их будете использовать, согласитесь. На мой взгляд, даже для ваших датчиков - вполне хватит и даже несколько штук лишних останется. Доступных пинов, кстати, не 5 штук, а больше.

P.S
DHT22 и BMP180 вполне можно заменить одним модулем BME280.
 

rst

Member
DHT22 и BMP180 вполне можно заменить одним модулем BME280.
А также можно BME280 заменить одним дешёвым МК с нужным кол-вом ног и больше не париться о них :cool:
Тем более, что DHT22 + BMP180 насколько я видел - в сумме стоят дешевле чем один BME280. И на эту разницу в цене можно купить пару плат хоть с тем же STM8 - для опроса этих датчиков его хватит за глаза.
 

AndrF

Active member
А также можно BME280 заменить одним дешёвым МК с нужным кол-вом ног и больше не париться о них :cool:
Датчик температуры/давления/владности - заменить одним контроллером? Это что-то оригинальное.

Дался вам этот I2C. Можно взять дешёвую платку STM8 и не ограничивать себя в выборе интерфейсов и их количества.
А здесь разве ограничено? Для описываемых датчиков их вполне хватает. С запасом. К STM-ке же еще нужно городить WiFi интерфейс, в то время когда у ESP-шки все в наличии на борту. Ну и зачем огород?

Ну и говорить о цене ~200 руб (а столько стоит модуль с BME280 в сборе) как о чем-то дорогом...
 
Последнее редактирование:

rst

Member
Датчик температуры/давления/владности - заменить одним контроллером? Это что-то оригинальное.
Читать нужно не только первую строку: цена DHT22 + BMP180 + STM8 примерно равна цене BME280

К STM-ке же еще нужно городить WiFi интерфейс, в то время когда у ESP-шки все в наличии на борту. Ну и зачем огород?
Ну и говорить о цене ~200 руб (а столько стоит модуль с BME280 в сборе) как о чем-то дорогом...
Зачем что-то городить? ESP - UART - STM - датчики.
И у BME280 точность хуже чем у DHT22.
Да и ещё пины про запас останутся. А у ESP - и так всё впритык.
 

AndrF

Active member
Зачем что-то городить? ESP - UART - STM - датчики.
Что-то тут явно лишнее ;) При этом я не говорю что STM-ки плохи - просто она тут на фиг не упала.

Да и ещё пины про запас останутся. А у ESP - и так всё впритык.
Впритык - это сколько? На мой взгляд пинов так 5 свободных останется ;)
 

rst

Member
Впритык - это сколько? На мой взгляд пинов так 5 свободных останется ;)
Там их всего вроде 5. А у автора ещё несколько датчиков. И не факт что ещё не захочется :)
И + он ещё хочет какие-то команды по GPIO отправлять. Ваших 5-и на это всё хватит?
 

AndrF

Active member
Там их всего вроде 5. А у автора ещё несколько датчиков. И не факт что ещё не захочется :)
И + он ещё хочет какие-то команды по GPIO отправлять. Ваших 5-и на это всё хватит?
Начнем с того что доступных пинов там явно не 5, а раза в два больше.
 

rst

Member
Начнем с того что доступных пинов там явно не 5, а раза в два больше.
Начните с того, что написал автор в первом посте:
на его модуле ESP только 5 ног и он уже имеет все купленные датчики в наличии.
Покупка дополнительной STM8 обойдётся всего в 40р и решит все проблемы (да ещё с запасом).
Вы же предлагаете выкинуть имеющиеся датчики, купить BME280 за 200р + купить другой ESP (с бОльшим кол-вом ног) + возможно заменить ещё какие-то датчики.
Как бы разницы не ощущаете?
Да - и в результате ещё и немного потерять в точности. Но это уже мелочи - где-то по пути потерялось :D
 

AndrF

Active member
Начните с того, что написал автор в первом посте:
на его модуле ESP только 5 ног и он уже имеет все купленные датчики в наличии.
На его модуле ESP-12F явно не 5 ног - можете поискать даташит в интернете. Думаю надо начать все же с этого.

Покупка дополнительной STM8 обойдётся всего в 40р и решит все проблемы (да ещё с запасом).
Для решения проблемы, которой нет в принципе, вы предлагаете городить огород?

Вы же предлагаете выкинуть имеющиеся датчики, купить BME280 за 200р + купить другой ESP (с бОльшим кол-вом ног) + возможно заменить ещё какие-то датчики.
Как бы разницы не ощущаете?
Вы явно не внимательны - я не предлагал выкидывать датчики, а писал что пинов хватит для имеющихся с запасом. И просто добавил что BME280 с успехом заменил бы два, но не указывал что это так уж необходимо делать. Ведь так?

Ну и еще - автору вопроса я бы посоветовал посмотреть данную тему - в ней тоже было обсуждение доступных пинов и все успешно решилось. Небольшая цитата оттуда:

4,5,12,13,14 - пины без всяких условностей.
0 и 2 - в момент старта должны быть подтянуты к единичке. Это ничуть не мешает использовать их, к примеру, для той же I2C шины, где заодно нужна подтяжка.
15 - в момент старта должен быть подтянут к нулю. Это более сложная ситуация. Чтобы не заморачиваться - можно использовать его в качестве выхода.
16 - выход с открытым коллектором. Лучше не использовать, резервируя до времен когда он понадобится для выхода из спящего режима.
1,3 - UART - лучше не трогать. Используется для программирования и общения с компом или другими устройствами. В Nodemcu он уже подключен к микросхеме интерфейса. лучше и оставить для этих целей, IMHO.
10 - мне удавалось использовать данный пин как выход без каких либо проблем.
9 - тут, как пишут уже нужно поизвращаться. Потому ну его на фиг.
 

Peter1001

New member

rst

Member
Для решения проблемы, которой нет в принципе, вы предлагаете городить огород?
Тут уже насоветовали огородов: и дополнительный I2C-расширитель и даже АЦП. Если уж городить такой огород, то лучше его весь заменить на простой МК, в котором это всё есть в комплексе. Ну и к тому-же - это всё имхо, только советы. Как удобнее автору - ему самому виднее.
 

=AK=

New member
Дался вам этот I2C. Можно взять дешёвую платку STM8 и не ограничивать себя в выборе интерфейсов и их количества.
Час моего времени стоит больше, чем сотня дешевых чипов. Поэтому получается гораздо дешевле добавить несколько простых железок через I2C, чем городить огород с дополнительным микроконтроллером. Затраты времени на удешевление железа оправданы только в (крупно)серийном производстве.
 

=AK=

New member
У автора проект - хоббийный. Так что все соображения насчёт "цены часа" - мимо кассы.
Уточняю: час моего "хоббийного" времени стоит больше, чем сотня дешевых чипов. Жизнь коротка, а время - деньги. Надо быть рациональным не только на работе.
 
Сверху Снизу