Сегодня я научился делать шрифты любого размера и выводить ими надписи на экране, подключённом к Arduino. Разобраться с этим оказалась сложнее, чем можно было предположить.
Для того, чтобы сделать экран-информер (https://ammo1.livejournal.com/1114988.html) я заказал на Aliexpress плату Arduino Wi-Fi за $5 и 3.95" экран за $12, который просто ставится вторым этажом на плату Arduino и не требует соединения проводами.
Продавец Ардуины написал, что на ней есть dip-переключатели, выбирающие режимы работы двух процессоров (ATmega328 и ESP8266), но описать назначение переключателей забыл. У этой платы нет определённого названия, поэтому таблицу назначения переключателей удалось найти не сразу. Но я всё же нашёл её в каком-то российском магазине, торгующим такими платами.
Продавец экрана предлагал скачать с LCDWiki комплект библиотек и программ для этого экрана. Скачал, запустил, и начал биться сначала чтобы просто текст выводился не в вертикальном положении экрана, а в горизонтальном. Потом пытался разобраться, как сделать свой шрифт. В комплекте была программа PCtoLCD200 с полностью китайским интерфейсом. Наугад разобрался, как ей делать шрифт, вот только что с ним делать дальше неизвестно. Никаких инструкций нет. Точнее, есть множество инструкций, но все они не про то. А если выводить крупный текст шрифтом по умолчанию, получается вот такой ужас.
В попытках найти инструкцию, на сайте iarduino.ru нашлась информация о библиотеке UTFT, поддерживающей множество экранов, в том числе этот. На сайте автора бибилотеки Rinky-Dink Electronics есть и сама библиотека и онлайн-инструмент для создания любых шрифтов.
А дальше всё просто: в любом редакторе создаём картинку со всеми символами шрифта (есть два типа шрифтов - алфавитный с 95 символами и цифровой с 10 символами).
Дальше с помощью онлайн-инструмента делаем из этой картинки шрифт. Получается файл с расширением ".c", который нужно положить в папку библиотеки UTFT.
И наконец подключаем свой шрифт и пишем им всё, что угодно.
Главное теперь, чтобы эти большие шрифты не заняли всю память Arduino и хватило места на всё остальное. :)
P.S. Не понимаю, как люди делают на Arduino хоть что-то нестандартное. Как только пытаешься сделать хоть что-то, не как все, тут же выясняется, что всё нужно искать наугад и методом тыка.
© 2020, Алексей Надёжин
Основная тема моего блога - техника в жизни человека. Я пишу обзоры, делюсь опытом, рассказываю о всяких интересных штуках. Второй мой проект - lamptest.ru. Я тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.