Короткая заметка-фотоотчет. По мотивам очередной статьи на Mysku (и комментариев к ней) заказал себе пару датчиков углекислого газа SCD41.
Приехали, собрал макет – решил делать сборки на базе ESP01 – надо ж их куда-то утилизировать, да и схема примитивная. Снова наступил на грабли с подтяжками. Но новая девборда пока едет и все ли хорошо будет там – пока неизвестно. Так или иначе, датчик рандомно переставал видеться на ESP01, но вполне работал на ESP32 C3 – до тех пор, пока не заметил, что используемый пин имеет потенциал 4,2В. В итоге все закончилось хорошо, на ESP01 видится даже на макете, ну а в финальной сборке – тем более.
В ход пошли старые корпуса от БП, туда все идеально вписалось. В работе располагаю датчик вниз – не оседает на пылевом фильтре пыль, плюс датчик не подогревается электроникой. Точность – не сказать, что прямо идеально, но для домашних применений сойдет. Разбег по температуре был в полградуса, влажность – что-то около 5%, по CO2 плюс-минус одинаковые показатели (также несколько процентов разница), но сравнивать все равно не с чем.
Вечерний пик – велотренировка на станке на 1,5 часа. Причем, такой же пик наблюдался даже на другом этаже на открытой территории – т.е., за время тренировки я в полтора раза поднял концентрацию CO2 в масштабах дома. Ну и второй пик – ночной; это второй день тестирования, в первый было еще больше. Фактически, уже после часа сна воздух нуждается в проветривании, хотя спальню маленькой не назовешь.
Конфиг ESP Home даже нет смысла выкладывать – абсолютно дефолтный пример из документации. Пины для i2c – GPIO1 и GPIO2. Пока выискивал проблему с тем, что датчик не виделся с ESP01 – перепробовал разные частоты шины, но в итоге оставил используемый в других проектах вариант 800 КГц. Пины RESET и EN у ESP01 через резисторы 10 КОм подключены к +3.3, а само питание делается с помощью AMS1117 с емкостью в пару десятков мкФ после него – хотел сначала использовать HT7333, ибо нет необходимости в большом токе, но паять оказалось неудобно, да и у меня еще полно плат-переходников для ESP12, где он пригодится.
Update 2026-01-10: решил наделать больше таких модулей, чтобы поставить в различных комнатах и в подвале. Заказал еще SCD41, наделал блоков. В этот раз решил сделать блоки более самостоятельными, чтобы были хоть как-то полезны и без подключения к умному дому – добавил двухцветный светодиод, меняющий цвет в зависимости от уровня CO2. Можно было, конечно, прицепить какой-то индикатор на ту же i2c-шину, но светодиод и проще добавить, и нагляднее. Подключен он на оставшиеся свободными 2 ноги ESP01 последовательно с резистором на 390 Ом. Потом аналогичным образом переделал и первые 2 блока.
Собственно, дополнение сделано больше не из-за светодиода, а из-за особенностей, с которыми столкнулся при его добавлении. Хотелось сделать мигание красным при жестком превышении уровня CO2. Выяснилось, что id(led2).set_frequency(1) (установка частоты ШИМ в 1 Гц) корректно срабатывает только для одного вывода – и, как назло, я мог мигать только зеленым (конструкция уже была собрана и “переворачивать” светодиод не хотелось). В итоге сделал с использованием interval. Из особенностей – после снижения уровня CO2 и выключения мигалки светодиод может оставаться выключенным до следующей публикации данных сенсора.



Одна мысль про “SCD41 – датчик CO2 с Aliexpress”