Обновить

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

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели10K
Всего голосов 4: ↑4 и ↓0+7
Комментарии6

Комментарии 6

Писать огромный проект в один файл — ужасная идея, так что самое время быстренько разбить текущий проект на файлы

На самом деле не вижу в этом ничего страшного, просто это проблема в плохом структурировании, а не в том, что все в одном файле. Ведь можно в одном файле расположить все культурно, а можно и с ООП со множеством файлов сделать кашу. По мне, если нужно разбиение на файлы, то его стоит сделать, в противном случае по желанию.

Согласен, что писать всё в один файл можно, но вопрос удобства. Как по мне, даже с грамотной структурой тратится много времени на скролл и поиск той или иной функции среди кучи строк кода. А человек, не знакомый с программой, быстро запутается. Но это уже дело вкуса)

А схема преобразователя уровня точно работает ?

Страно, когда читал, то думал там мосфет, если бы не ваш вопрос, то не обратил бы внимание. Кажется, что схема проблемная, т.к. для того, чтобы открылся транзистор и потек ток от коллектора к эмиттору должно быть напряжение базы меньше напряжение эмиттра на 0.7В, т.е. МК выдает 3.3В (база), а подтягивается к 5В (эммитр), то он получается должен быть всегда открыт, возможно этого не происходит из-за резистора. Обычно для преобразования уровня используют мосфет или open-drain вывод (не знаю можно ли так на ESP32, но на STM32 можно).

Извиняюсь, я перепутал коллектор и эммитр местами, но вроде в проблему попал, что база должна быть меньше на 0.7В эмиттра, т.е. земли, чтобы открыть транзистор. Другими словами, если поставить транзистор так, что коллектор и эммитр поменялись местами, (как я предполагал) оно хоть и кажется, что может работать, но все равно есть проблемы. А в текущем варианте, теперь мне выглядит что-то странное.

Не буду уже беспокоить, подожду, что автор ответить.

После вашего замечания я проверил те ресурсы, откуда брал информацию для проекта, и залез в симуляторы. Вы абсолютно правы, такая схема не должна была работать. Почему она заработала в жизни, я не знаю, т. к. из-за обратной полярности у транзистора на выходе должна быть постоянно логическая единица. Возможно, из-за того, что напряжение питания не стабильные 5 В, а 4.6–4.8 В, логические уровни сдвигаются, но всё равно странно, что такая схема заработала.

Схему в статье исправил. Большое спасибо, что указали на ошибку!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации