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

Решено Дисплей ST7920 128x64 с ESP8266/ESP32

StasBronchukov

New member
Добрый день, товарищи!
Возникла необходимость подключить дисплей ST7920 128x64 к ESP. Работаю на NodeMCU.
При компиляции прошивок для обоих ESP есть возможность выбрать библиотеку u8g2, в которых данный дисплей поддерживается, однако запустить его мне так и не удалось, хотя на Arduino он заработал. Возможно, проблема что дисплею необходима 5в логика, тк какая то невнятная картинка все же появляется(россыпь точек), но до конца не уверен. Был ли у кого опыт использования подобных дисплеев с ESP?
 

Сергей_Ф

Moderator
Команда форума
@StasBronchukov самый простой вариант проверить - уменьшить напряжение питания дисплея до 4.5 В и поднять у esp до 3.8В. Это безопасно, но гарантированно обеспечит правильные уровни. Если всё заработает - ставьте конвертер уровней. Нет - ищите проблему в другом.
Сам с таким дисплеем не работал, но запускал штук 5-7 разных с разными контроллерами и все успешно.
 

StasBronchukov

New member
уменьшить напряжение питания дисплея до 4.5 В и поднять у esp до 3.8В
Легче сказать, чем сделать. Особенно с учетом того что esp на плате со стабилизатором. А не подскажите с дисплеями ILI9341 240x320 случайно не работали? И вообще что можете сказать по самой библиотеке u8g2 в NodeMCU , никаких проблем не наблюдалось?
 

Сергей_Ф

Moderator
Команда форума
с дисплеями ILI9341 240x320 случайно не работали?
работал под АрдуиноИДЕ. Проблем не было, были временные трудности, которые успешно преодолены. Попробуйте понизить питание дисплея до 4.5В - обычно этого достаточно. А для повышения питания на esp есть вывод внешнего питания . Туда можно подать чуть повышенное напряжение.
 
Последнее редактирование:

StasBronchukov

New member
Попробуйте понизить питание дисплея до 4.5В - обычно этого достаточно
Запитал ESP8266 от 3,8В а экран от 4,5В. Ничего кардинального не изменилось. После команды sendBuffer() изображение чуть меняется, те экран как то реагирует но все равно не так как хотелось бы
IMG_20190106_222617.jpg IMG_20190106_222624.jpg IMG_20190106_222631.jpg IMG_20190106_222650.jpg
 

Сергей_Ф

Moderator
Команда форума
@StasBronchukov имхо, дело не в уровнях. Ищите ошибку в библиотеке или в подключении.
Я с с этой библиотекой дело не имел, так что подсказать ничего больше не смогу. Извините.
 

StasBronchukov

New member
@StasBronchukov имхо, дело не в уровнях. Ищите ошибку в библиотеке или в подключении.
Я с с этой библиотекой дело не имел, так что подсказать ничего больше не смогу. Извините.
Только что настроил Aduino IDE библиотеку u8g2, при помощи SW spi все заработало. Мне кажется что скорее всего все правильно работает, и правильно подключено, но тк в NodeMCU есть только HW spi он просто слишком быстрый для экрана, к тому же у spi же нет подтверждения принятия, вот он и шлет не задумываясь.
 

StasBronchukov

New member
В общем разобрался. Действительно все проблема была в том что скорость spi в примере, откуда я брал код, слишком высокая.
в примере вот так [inline]spi.setup(bus, spi.MASTER, spi.CPOL_LOW, spi.CPHA_LOW, 8, 8)[/inline]
Те кто так же столкнется с подобной проблемой, последняя восьмерка это clock_div - делитель частоты, чем выше тем дольше будет отправка, но в данном случае как видите необходимо ее поднять. Поставил 80 все заработало!
 
Сверху Снизу