Комментарии 6
Писать огромный проект в один файл — ужасная идея, так что самое время быстренько разбить текущий проект на файлы
На самом деле не вижу в этом ничего страшного, просто это проблема в плохом структурировании, а не в том, что все в одном файле. Ведь можно в одном файле расположить все культурно, а можно и с ООП со множеством файлов сделать кашу. По мне, если нужно разбиение на файлы, то его стоит сделать, в противном случае по желанию.
А схема преобразователя уровня точно работает ?
Страно, когда читал, то думал там мосфет, если бы не ваш вопрос, то не обратил бы внимание. Кажется, что схема проблемная, т.к. для того, чтобы открылся транзистор и потек ток от коллектора к эмиттору должно быть напряжение базы меньше напряжение эмиттра на 0.7В, т.е. МК выдает 3.3В (база), а подтягивается к 5В (эммитр), то он получается должен быть всегда открыт, возможно этого не происходит из-за резистора. Обычно для преобразования уровня используют мосфет или open-drain вывод (не знаю можно ли так на ESP32, но на STM32 можно).
Извиняюсь, я перепутал коллектор и эммитр местами, но вроде в проблему попал, что база должна быть меньше на 0.7В эмиттра, т.е. земли, чтобы открыть транзистор. Другими словами, если поставить транзистор так, что коллектор и эммитр поменялись местами, (как я предполагал) оно хоть и кажется, что может работать, но все равно есть проблемы. А в текущем варианте, теперь мне выглядит что-то странное.
Не буду уже беспокоить, подожду, что автор ответить.
После вашего замечания я проверил те ресурсы, откуда брал информацию для проекта, и залез в симуляторы. Вы абсолютно правы, такая схема не должна была работать. Почему она заработала в жизни, я не знаю, т. к. из-за обратной полярности у транзистора на выходе должна быть постоянно логическая единица. Возможно, из-за того, что напряжение питания не стабильные 5 В, а 4.6–4.8 В, логические уровни сдвигаются, но всё равно странно, что такая схема заработала.
Схему в статье исправил. Большое спасибо, что указали на ошибку!

Как проект на лето растянулся на полгода: Делаем свою светодиодную вывеску с управлением по Wi-Fi (ч.1)