• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

LOLIN*WEMIS) D1 R2 & mini проблема с шиной SPI.

Не стоит им снижать напряжение питания, надо между ними и есп поставить преобразователь уровней с 5 на 3.3в.
А вот это не понял. Можно какой-нибудь пример? Не понимаю где в схему преобразователь уровня воткнуть? По шинам SPI, которые идут на плату дисплея? Щас конечно сам покопаюсь по инету.
 
Вообще не совсем понимаю как задействовать преобразователь уровня. Т.к. основа у меня ESP8266, то, я так предполагаю уровни сигналов от 3,3В. Странно то, что при этом устройство, которое рассчитано как раз на работу от 3,3В не работает, а то, что работает от 5В работает. Т.е. казалось бы надо поднимать уровень от 3,3В до 5В.
На счет кода. В принуипе ошибка то идет на старте стандартной библиотеки от SD. Ладно бы ошибка вылезала при чтении или записи карты, тут мог бы и код быть. А у меня SD карта стартует сразу после порта и просто не стартует. Соответственно после этого все обращения на чтение-запись не проходят.
И собственно о правильности кода говорит то, что если отключить дисплей, то все работает как часы.
 

CodeNameHawk

Moderator
Команда форума
Странно то, что при этом устройство, которое рассчитано как раз на работу от 3,3В не работает, а то, что работает от 5В работает. Т.е. казалось бы надо поднимать уровень от 3,3В до 5В.
Поэтому и может не работать, что на выводы получает вместо 3.3, 5 вольт.
Вы же писали что сд работает, так что вы делаете неправильные выводы.
 
Т.е. вы хотите сказать, что пока дисплей не подключен (а точнее не подключен CLK сигнал к дисплею) уровень сигнала 3,3В и SD работает. А как только мы подключаем CLK к дисплею, уровень поднимается до 5В и SD перестает работать. Т.е. преобразователь уровня надо поставить перед SD картой, с 5В на 3,3В? Правильно?
 
Проще сказать, что все выводы дисплея подключить через преобразователь.
Ну я то имел ввиду наоборот! :)
Ну хорошо. Понял. Блин аж 5 штук пришлось заказать, чтобы послезавтра доставили. Вот идиотизм у нас. На Алиэкспрессе хоть на 1 рубль закажи, доставят.
 
Так он на четыре канала(ноги) в одном. Ж-)
Я знаю. Только чтобы один купить, надо самомывоз делать. А это строго другой конец Москвы. А доставка в пункты выдачи CDEK от 300 рублей заказ должен быть. А это 5 штук.
Вообще конечно свинство! На макетке все работало прекрасно. Я же плату сам разводил и у китайцев заказывал. Если б на макетке эта проблема вылезла, я бы этот преобразователь сам собрал на той же плате.
 
Все датчики отключил, из скетча убрал, дисплей из скетча убрал. Та же фигня. SD карта не стартует. Буду ждать преобразователя уровней.
 
Я думаю (во всяком случае надеюсь), что на макетке то было 4 матрицы в дислее, а сейчас их уже 10 (6 еще не приехало с алиэкмпресса). И потом я же с танцами с бубном паял их. Вот и проверял сначала после каждой. И вот с 2 матрицами точно все работало. А больше поставил, перестало. А выпаивать уже в третий раз микросхемы я как-то не решаюсь. Так что жду сегодня (надеюсь что сегодня) преобразователи.
 
А вы отключали микросхемы матриц, во время проверки сд с дисплеем?
Нет. Это же и есть дисплей. 16 матриц плюс 16 микросхем. А как их отключить? Только выпаивать. Так а смысл их отключать? Я и так знаю, что без них работает.
Все. Пришли преобразователи. Пойду получу.
 
Чуда сразу не случилось. Не просто не работает, а еще и компьютер не может загрузить скетч на ESP. Не находит ее. Хотя порт определяется сразу, на котором она висит. Но пишет неизвестная плата (когда я в ArduinoIDE жму информация о плате).
Изучаю преобразователь. Вроде там все просто.
HV1 - канал 1 для уровня 5В <=> LV1 - канал 1 для уровня 3,3В
HV2 - канал 2 для уровня 5В <=> LV2 - канал 2 для уровня 3,3В
HV3 - канал 3 для уровня 5В <=> LV3 - канал 3 для уровня 3,3В
HV4 - канал 4 для уровня 5В <=> LV4 - канал 4 для уровня 3,3В
HV - питание 5В
LV - питание 3,3В
Я мог только неправильно понять куда 3,3В, а куда 5. На каналы 3,3В я подал те сигналы SPI, что приходят от ESP, а 5В сигналы подал на плату индикатора.
 
Блин! Заработало. Воткнул сначала в USB, а потом питание внешнее подал и заработало.
 
Сверху Снизу