0.96 inch oled (ssd1306) i2c от адскогофрукта

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Ariadna-on-Line, 23 фев 2021.

  1. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Покупал как 128х64. В примерах от Адского Фрукта написано - адрес 64-строчного - 0х3D, 32-строчного - 0х3С. Отзывается только на 0х3С. Прописал в скетче число строк (32). Все заработало, в том числе русификатор. Изображение полосило, считал это нормально, Продавец однако убедил, что это именно 64-строчный. Задал в скетче 64 строки, при том же адресе 0х3С и, о чудо, - получил 64-строчный экран. Полосить перестало, НО - исчез русскоязычный текст. Например, вместо "Влажн : 19%" - выходит " : 19%". Вместо "Ариадна" - совсем ничего, как не было. Сейчас идет вывод только трех строк текста в верху экрана. В нижней части экрана мигают кракозябры, которых скетч не посылает. Прошу подсказать куда копать. С уважением.
     
    Последнее редактирование: 24 фев 2021
  2. parovoZZ

    parovoZZ Гуру

    Вручную полосы не отрисовать? Тогда понятно будет, какое разрешение.
     
  3. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Пробовал. Вперед - на экране помещались 32 строки с промежутками между строками в толщину строки. Теперь - 64 строки без видимых промежутков. Нормально. Непонятно другое - почему не работает команда вида -

    display.print(utf8rus("** ДАТА *-* ВРЕМЯ **"));

    как будто ее совсем нет. А команда -

    display.print("** DATE *-* TIME **");

    работает нормально.

    А на 32-строчном режиме - обе работали зашибись.
     
  4. parovoZZ

    parovoZZ Гуру

    Рисуй вручную.
     
  5. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не первый год этот дисплей и русификатор. Наверняка многие наступали на эти грабли и нашли решение. Не может быть по-другому. Вероятно у меня глюканутая библиотека, тк русификатор - обычная подпрограмма-перекодировщик, не связанная никак с разрешением экрана.. Но какую библу использовать - я не знаю.
     
  6. parovoZZ

    parovoZZ Гуру

  7. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Молодец. Но мне "не горит" (и не светит). Подожду, мож кто подскажет.
     
    Последнее редактирование: 24 фев 2021
  8. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Странные дела. Никто не отвечает. Я что первый наткнулся на глюк широко-известного модуля от АдаФруита ? Точнее не модуля, а библиотеки того же Адского Фрукта, так как в Протеусе глюк повторяется. Неужель у всех зашибись ?
     
    Последнее редактирование: 26 фев 2021
  9. Igor68

    Igor68 Гуру

    А это:
    http://forum.amperka.ru/threads/oled-0-96-128x64-iic.17801/
    может пригодится?
     
  10. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Скачал библиотеку с https://wiki.iarduino.ru/page/OLED_trema/
    Получил что хотел. Русиш на месте, 64 строки - тоже. Переобзывать тему в "Решено" пока не стану, тк ответа - таки не получил, а любопытно.
     
  11. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Мммдя. Библа от https://wiki.iarduino.ru/page/OLED_trema/ работает правильно, но много памяти ест. Хочу вернуться на Адский Фрукт (Adafruit_SSD1306.h). Причину кракозябр по низу экрана понял - в память экрана пролазят артефакты работы I2C шины с другими "девайсами". Поэтому сначала чистим память экрана
    .
    display.clearDisplay();
    display.setCursor(x, y);
    display.println(Data);
    display.display();

    Причину глюка русификатора utf8rus(DataRus) в режиме 128х64 - так пока и не понял.