Ви не увійшли.
На датчику 4 піна. 2 з них сигнальні A0 і D0. Сьогодні використовую D0.
Схема така:
перетворювач рівнів
VA- 3.3 в
VB -5.2 в
A2-D2 (Nodemcu)
B2- D0 (MQ-3)
GND – спільний GND
OE – резистор 4,7kOm – 3.3 в
Остання редакція Валентина (2025-11-09 18:17:15)
Неактивний
У мене ось такий MQ-3
.
Там тільки посилання на даташит датчика. Схеми самого модуля нема.
Підозрюю, що схема така:
Але перевірте, чи відповідає ваш модуль цій схемі.
На використанні двонаправленого перетворювача рівнів не наполягаю, підключаю його лише тому, що він у мене є. Підозрюю, що він не призначений для мого випадку.
З двонаправленим перетворювачем теж працюватиме, якщо все правильно підключити. Але якщо він тільки для цих датчиків, то можна обійтись і без нього.
Погоджуюсь розглядати любий робочий варіант.
Варіант 1: Діод (краще Шотткі, але можна і звичайний випрямляючий) анодом на пін контролера, катодом на DOUT. Пін контролера в Input pull-up.
Коли компаратор видає високий рівень (Hi-Z), діод закритий, пін контролера залишається підтягнутим до живлення контролера, на ньому високий рівень.
Коли компаратор видає низький рівень, діод відкритий, струм підтяжки тече через діод і компаратор в землю. На піні контролера низький рівень.
Якби не отой світлодіод на модулі, можна було би обійтись резистивним дільником. Взагалі-то можна було би і зі світлодіодом підключити просто через дільник, але в залежності від кольору світлодіода він може світитись коли не треба
З діодом та підтяжкою надійніше.
Варіант 2: Перетворювач рівнів. Підключення стандартне: на VA та OE 3.3 вольта живлення контроллера, на VB 5 вольт живлення датчика, пін контролера на An, DOUT датчика на Bn. Якщо так не працює, показуйте свою схему підключення.
Неактивний
Від вашого Варіанта2 моя схема відрізняється лише резистором між OE та 3.3 вольта.
Значить потрібно розібратись, чому на A2 низький рівень аж 1.6 вольта.
Відʼєднайте датчик, замкніть B2 на землю. На A2 так само 1.6 вольта?
Відʼєднайте A2 від контролера. На A2 так само 1.6 вольта?
Неактивний
Чому діод - погана ідея
Діод дає падіння напруги, але не гарантує коректних логічних рівнів (напр., звичайний кремнієвий діод ~0.7, Schottky ~0.2-0.3). Тобто при 5 В «високому» рівні на датчику ти все одно отримаєш ~4.3–4.7 (серія) або невизначеність (якщо ставити діод до шини 3.3), що може пошкодити вхід ESP.
Діод не вирішує проблему open-collector: LM393 тягне до землі, а діод заважає коректній підтяжці та формуванню рівня.
Діод/кліпер до 3.3 В створить струмові витоки та можливі конфліктні струми між 5 В та 3.3 В шинами через діод при певних станах – ненадійно та небезпечно.
Висновок: діод – не рекомендую.
Неактивний
чому на A2 низький рівень аж 1.6 вольта.
ШІ відповідає так...
Чому 1.6, а не 0 В
LM393 на модулі MQ-3 замикає лінію на землю, коли спрацьовує, але не тягне її вгору (коли не спрацьовує, лінія підтягнута резистором до живлення).
На модулі зазвичай стоїть pull-up до 5 в.
TXS0108E всередині використовує схему автовизначення спрямованості та внутрішні пасивні/активні елементи; якщо на одній стороні висить зовнішній pull-up до 5 В, а інша сторона намагається тягнути до 0 через відкритий стік, усередині шифтера утворюється конфлікт/дільник/неправильний стан - тому на виході TXS виходить половина напруги (~1.6 В).
TXS0108E НЕ гарантує коректну роботу з open-collector сигналами, особливо коли pull-up на "верхній" стороні 5 в.
Остання редакція Валентина (2025-11-09 19:04:15)
Неактивний
Тобто при 5 В «високому» рівні на датчику ти все одно отримаєш ~4.3–4.7 (серія) або невизначеність (якщо ставити діод до шини 3.3)
Ваш ШІ не зрозумів як підключати цей діод і видав маячню.
Неактивний
Резисторний дільник з опором під 100 к. Нормально буде.
ШІ наполегливо рекомендує наступний варіант, прокоментуйте, будьласка...
Найкращі варіанти рішення (за пріоритетом)
Варіант 1 - найпростіший і надійніший
Прибрати TXS0108E і підключити DOUT MQ-3 безпосередньо до входу NodeMCU, використовуючи pull-up до 3.3 (наприклад 10 kΩ).
Чому це спрацює:
LM393 - це open-collector: він безпечно тягне лінію до землі; при відпусканні він «пливе» і зовнішня підтяжка на 3.3 підніме рівень до 3.3 (без 5 В).
NodeMCU побачить чесний 0 і 3.3, ніяких 5 В не буде.
Що зробити (покроково):
Знайти на модулі MQ-3 резистор pull-up (зазвичай близько 10k до Vcc). Він може бути прямо на платі або вбудований у модуль.
Якщо він підтягнутий до 5 В – видалити/від'єднати цей резистор (або відрізати доріжку) або перенести цей резистор так, щоб підтяжка йшла до 3.3 в.
Підключити DOUT → NodeMCU GPIO. Паралельно поставити зовнішній резистор 10k між DOUT і 3.3 (якщо впевнений, що на платі немає іншого pull-up до 5 В).
Загальний GND є обов'язковим.
Перевірити мультиметром: у спокійному стані - ~3.3 В, у спрацьовуванні - ~0 В.
Якщо ти боїшся «різати» модуль — просто додай зовнішній 10k між DOUT та 3.3 В та спробуй відключити/зняти живлення 5V на модулі? (Але зазвичай модуль вимагає 5V для нагрівача - тому не відключай живлення 5V, тільки прибери pull-up до 5V).
Остання редакція Валентина (2025-11-09 19:16:52)
Неактивний
а інша сторона намагається тягнути до 0 через відкритий стік
А у вас інша сторона намагається тягнути до 0? На контролері D2 в output, чи що?
TXS0108E НЕ гарантує коректну роботу з open-collector сигналами, особливо коли pull-up на "верхній" стороні 5 в.
TXS0108E призначений для роботи з open-drain / open-collector. Все, досить ШІ.
Неактивний
ШІ наполегливо рекомендує наступний варіант, прокоментуйте, будьласка...
Прибрати TXS0108E і підключити DOUT MQ-3 безпосередньо до входу NodeMCU, використовуючи pull-up до 3.3 (наприклад 10 kΩ).
Так цей же варіант я і пропонував, тільки замість резистора рекомендую діод.
LM393 - це open-collector: він безпечно тягне лінію до землі; при відпусканні він «пливе» і зовнішня підтяжка на 3.3 підніме рівень до 3.3 (без 5 В).
Тільки струм з 5 вольтової лінії через світлодіод і цей додатковий резистор може текти в шину живлення 3.3. Для деяких світлодіодів 1.7 вольт і пару десятків мікроампер уже достатньо, щоб світитись.
Неактивний
Я досить некомпетентна, щоб зрозуміти варіант з діодом.
Але якщо до варіанта з резистором у вас немає претензій, готова його спробувати.
Він мені більше подобається лише тому, що там по крокам все розписано, буде важче помилитись.
І ще тому що резистор на 10 кОм у мене вже є, а діод я навіть не знаю який потрібен.
Остання редакція Валентина (2025-11-09 19:41:37)
Неактивний
Ви займаєтесь незрозуміло чим.
Коментувати висновки чатіка - повний крінж. Це може бути робочий варіант, може бути повна галюцинація, може бути робочий але не оптимальний. Який варіант оптимальний саме для вас - нікому не відомо. Ніхто не знає що за бімбу ви майструєте.
Я б зробив високоомний дільник і не парився. Якщо на вибір кожноно резистора вимагати докладне рев'ю, то ви цей проект не закінчите ніколи ![]()
Я досить некомпетентна, щоб зрозуміти варіант з діодом.

Але якщо до варіанта з резистором у вас немає претензій
Хто я такий, щоб піддавати сумнівам рішення нейросітки ⓒ ![]()
Неактивний
Яким має бути діод?
Діод Шотткі, будь-який: 1N5817 (18,19), SS12 (18, 36...) SR120 (130, 140, ...).
У мене є SF-58
Скоріш за все працюватиме і з цим. Але у кремнієвих випрямних діодів падіння біля 0.7 В, плюс напруга насичення LM393 може бути до 0.4 В. А у ESP8266 низький рівень, що сприймається гарантовано - 0.825 В.
Неактивний
Відкритого колектора, підтягнутого до 5 В через світлодіод з невідомо яким падінням напруги?
Угу. Все що більше ніж 2В, буде сприйняте як 1. Якщо там дійсно open drain - можна тупо випаяти led і задіяти internal pull up із сторони Esp8266. Взагалі, авторка могла б взяти напряжометр і поміряти.
Хе-хе
До речі, esp8266 трохи дивний чіп. Пін d4 (gpio2) для цих ігр краще не використовувати, наприклад.