Здравствуйте! Пытаюсь подключить к NodeMCU несколько датчиков, в том числе датчик влажности почвы и датчик углекислого газа MQ-135. Т.к. оба датчика аналоговые, подключаю их сигнальные пины к единственному аналоговому пину контроллера A0. Затем программно включаю один датчик, считываю с него данные и отключаю, потом включаю второй, считываю данные и выключаю. Датчик влажности почвы работает (или делает вид), а MQ-135 нет. Вижу это по отсутствию нагрева и включенных светодиодов. Если же подключаю MQ-135 напрямую к v3.3, то датчик исправно светится, греется и пахнет. Но такой вариант не подходит из-за вышеупомянутой необходимости программно выключать один из датчиков. В чем может быть проблема? Цифровой пин не выдает достаточного напряжения? Код (C++): digitalWrite(SOIL_POWER_PIN, HIGH); delay(1000); int soil_h = analogRead(ANALOG_PIN); digitalWrite(SOIL_POWER_PIN, LOW); digitalWrite(MQ135_POWER_PIN, HIGH); delay(1000); int co2 = analogRead(ANALOG_PIN); digitalWrite(MQ135_POWER_PIN, LOW);
@parovoZZ, но при прямом соединении к V3.3 вроде напряжения хватает. И как посоветуете поступить? Подключать внешнее питание через силовой ключ?
Зачем внешнее? Просто питание. И переключать надо не питание, а сигнал. Иначе через другое устройство будет утечка тока по сигнальной линии, с искажением.
При это показания с датчика не соответствуют действительности. Вам стоит ознакомиться с документацией на модуль вот тут или тут
Берете реле да переключаете, к какому датчику подключен аналоговый вход. Самый простой вариант, если не владеете схемотехникой.