Укрощение маленького экранчика

  • Цена: $2.89
  • Купил дешёвый IPS-экранчик 1.44" для того, чтобы выводить на нём значения CO2 у самодельного устройства управления вентиляцией. Экранчик оказался не совсем стандартным, и чтобы заставить его работать правильно, пришлось повозиться и применить волшебные костыли.

    У этого экранчика разрешение 128×128 точек и последовательный интерфейс SPI. На пакетике написано «IC: ST7735S», но похоже это не правда — с драйвером для чипа ST7735S он не работает, а с драйвером для ST7735 работает, но кривовато: неправильно определяется размер и положение экрана.

    Для начала я скачал с LCDWiki набор софта для этого экрана, подключил его, как там написано, и проверил — работает.

    Укрощение маленького экранчика

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

    Конкретно этого экрана в списке поддерживаемых библиотекой нет, но есть несколько других на ST7735 и ST7735S. Экранчик заработал при указании типа ST7735, но при его очистке снизу оставалось три строки мусора, а при выводе текста по центру всё смещалось влево и первый символ портился. Пришлось применять костыли: вместо очистки рисовать чёрный прямоугольник 160×130 точек (экран, напомню, 128×128), а текст выводить, жёстко указывая координаты (смещение 26 по оси X оказалось на самом деле первой точкой экрана).

    Для того, чтобы выводить четыре максимально больших цифры, я сделал шрифт 32×60 точек.

    Укрощение маленького экранчика

    Шрифт для этой библиотеки делается достаточно просто: создаётся вот такая картинка, на которой каждая цифра занимает ровно одну десятую ширины и обрабатывается онлайн-инструментом на сайте автора библиотеки, в результате получается файл шрифта с расширением .c, который нужно положить в папку с библиотекой.

    Цифры на экране получаются большие и красивые (в жизни они гораздо ровнее, чем на фото). Высота цифр 11 мм, ширина всех четырёх цифр 26 мм.

    Укрощение маленького экранчика

    Вот весь скетч, выводящий на экран четыре цифры.

    Укрощение маленького экранчика

    Пока датчик CO2 не пришёл, я ради эксперимента подключил к Arduino цифровой термодатчик DS1820 и сделал простейший термометр. Специально для него за пару минут создал огромный шрифт с размером символа 64×120 точек, на экран помещаются два таких символа.

    Укрощение маленького экранчика

    Скетч термометра. Главное, не пытаться измерять им отрицательные температуры (символ «минус» отсутствует в шрифте и на экран не влезет) :)

    Укрощение маленького экранчика

    Я подключил экранчик к Arduino Uno R3 просто потому, что она «попалась под руку». С тем же успехом этот экран можно подключить к Arduino Nano или любой другой плате.

    На всякий случай я сохранил скетчи, все библиотеки, шрифты и схемы подключения в одном архиве.

    © 2020, Алексей Надёжин

Понравилась статья? Поделиться с друзьями:
Agkz.ru - блог файлообменника
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: