Подключение дисплея от магнитолы к ардуино
Решил познакомиться с Arduino, в качестве первого задания выбрал работу с панелькой от магнитолы PANASONIC CQ-DFX683N. Саму магнитолу у меня украли много лет назад, а панелька дождалась своего звёздного часа.
Вложение 44417
Нагуглилась сервисная инструкция на магнитолу, разборка подтвердила, что дисплеем управляет чип 75854. Для связи чипа c процессором головы используется протокол CCB Вложение 44418, формат пакетов описан в документации на 75854 Вложение 44419. На панель подаётся два напряжения питания +5В и +9..10В. По линии +5В измеренное потребление составляет 6мА при передаче данных и 0,2мА при отображении (режимы энергосбережения не изучал); по линии +9В - 60..65мА в зависимости от отображаемой информации
Первым делом подпаялся к контактам разъёма панели - для этого идеально подошёл 14-жильный шлейф с IDC-разъёмом [шлейф с IDC-разъёмом.
Вложение 44421
Собрал в кучу панель, ардуино и два преобразователя напряжения, обмотав всё клубком проводов.
Нашёл проект, из которого взял схему подключения к пинам ардуины и основу программы, хотя в итоге от программы осталось мало чего, ибо формат пакетов совершенно другой.
Сам дисплей состоит из 8 знакомест по 13 сегментов, т.е. на него можно вывести не только цифры, но и страшненькие буквы, и множества служебных знаков. Первый вариант скетча просто зажигал все сегменты, следующий зажигал их последовательно, группами и т.д. В результате через пару часов я получил таблицу в Excel, в которой были прописаны 8*13 сегментов. Никакой системы в нумерации сегментов нет - почти случайный порядок. В дальнейшей по этой таблице составлял маски для отображения символов.
Вложение 44422
Итого, скетч на ардуино считывает из последовательного порта 32 байта и отправляет их в панель. Программ на PC формирует эти самые 32 байта и отправляет в порт. Вся логика реализована на PC (знакогенератор, формирование битовых масок, прокрутка текста и проч).
Следующие задачи:
- попробовать использовать не аналоговые пины ардуины, а цифровые;
- перенести знакогенератор в ардуино и научить её самостоятельно прокручивать текст (нужен простейший управляющий протокол);
- считать состояние кнопок;
- научить ардуину прикидываться HID-клавиатурой;
- …
- купить нормальную магнитолу, научиться не только писать на дисплей, но и считывать с него, написать “всеобъемлющую универсальную программу с неограниченными возможностями” (с) и вывести информацию с дисплея магнитолы на экран андроид-устройства.
Никакой практической пользы от этого не ожидаю, за исключением научиться и разобраться.
В процессе имел тяжёлый опыт с Visual Studio Community: примеры работы с последовательным портом не работали никак от слова вообще. Ни в C++, ни в VB. Потом наткнулся на блог одного инженера, который подтвердил, что MS-реализация работы с COM-портом - одна из худших. При этом processing и putty работали совершенно нормально. В итоге остановился на Lazarus.
Несколько лет назад мне приспичило соорудить контроллер управления для дизельного двигателя. Я до сих пор так и не приступил к этой затее вплотную, но подбираюсь к ней всё ближе и ближе.
Как я уже писал в предыдущей статье — мне нужно свести в единую кучу информацию с довольно большого количества различных датчиков и механизмов. Пока такой информации было немного — я собирался примостить несколько показометров где придётся. Как-то это было не принципиально. Но вал количества необходимой информации нарастал стремительно и в определённый момент я понял, что отображение всего этого безобразия переросло в отдельную проблему. Увешивать весь салон автомобиля циферблатами я не имел ни малейшего желания. Такого счастия мне не надо:
Именно тогда я начал эксперименты с дисплеями.
Идея была простая — модифицировать штатную приборную панель автомобиля, врезать в неё два трёх дюймовых жк-дисплея и выводить всю информацию туда… На своей предыдущей машине я даже воплотил это в жизнь, но ту машинёшку я поменял на другую и процесс опять начался фактически с нуля.
По опыту эксплуатации предыдущей машины я уже понял, что вся эта цифирь в повседневной жизни мне перед носом нафиг не нужна и потому концепция строительства развернулась на 180 градусов. Настолько, что сейчас я собираюсь переделать штатный показометр температуры двигателя на отображение количества газового топлива в баллонах. Всю техническую и сервисную информацию я буду отображать на экране китайской андроидной магнитолы с RCA-видеовходом — причём только тогда, когда это будет действительно необходимо:
1). В случае манипуляций с климат-контролем, управление которого тоже переселяется в самодельный блок управления. Нажал любую из клавиш климат-контроля — на экране СРАЗУ отображается раздел с информацией по этой теме.
2). В случае возникновения нештатных ситуаций. Температура двигателя повысилась выше нормы — получай голосовое сообщение и экран с полной раскладкой по двигателю и АКПП.
3). В случае ручного переключения на соответствующий режим для наблюдения за происходящим или для просмотра накопленной информации.
4). Естественно, в случае включения заднего хода переключаемся на камеру заднего вида.
Все остальное время магнитола выполняет свои штатные функции.
Для более тесной интеграции в автомобиль формирование картинки будет осуществляться непосредственно разрабатываемым компьютером — никаких программ под Андроид я писать не собираюсь…
Только такой подход обеспечивает мгновенную реакцию и надёжную работу экрана.
Именно потому так много времени у меня заняла тема формирования качественного низкочастотного композитного видеосигнала для подачи на RCA-вход камеры заднего вида 2DIN-магнитолы.
На пике коронобесия я снял с автомобиля магнитолу, снял со стены телевизор, поскрёб по сусекам в поисках кой-какого электронного барахла и устроил себе недельную самоизоляцию на своём домашнем рабочем месте…
Самое забавное — я так и не сумел вывести монохромное изображение на экран магнитолы. Чего я только не пробовал… На экране жк-телевизора картинка отображалась без особых танцев с бубнами, а на экране магнитолы в лучшем случае мелькали куски изображения. Вероятно чип магнитолы слишком требователен к качеству формируемого видеосигнала…
Даже тяжёлая артиллерия в виде Arduino DUE с библиотекой от stimmer`а ничего не изменила в итоге — изображение всё также еле угадывалось по отрывочным всполохам.
На экране телевизора картинка была устойчивая и даже цветная, но гадкая до неприличия именно из-за своей цветности. Кто видел расфокусированный кинескопный цветной телевизор — тот поймёт.
Когда руки у меня опустились, я в полном расстройстве чуфств перелопатил свое творение под формирование VGA-сигнала буквально тремя резисторами.
Вот так выглядит полная схема устройства:
По всем прикидкам изображение должно быть намного лучше — так оно и вышло. Картинка на компьютерном мониторе получилась просто зашибись:
На экране жк-телевизора она смотрелась несколько хуже, но не принципиально.
Такое качество изображения меня вполне устраивало, но всё портило одно обстоятельство — на моей автомагнитоле нет ни VGA-входа, ни HDMI.
Деваться было не куда — я решил не терять более своего драгоценного времени и в вопросе формирования композитного видеосигнала отдался на откуп профессионалов.
Нормальные герои всегда идут в обход?
Благо поиск фабричного конвертера из VGA в RCA много времени не занял:
Не знаю, сколько такое устройство стОит на самом деле — мне оно обошлось в пределах 20уе.
Поиск в интернэте дал только один вариант в Алма-Ате и я поскакал быстрее покупать агрегат, пока он не исчез из наличия.
Сама коробочка небольшая, греется при работе прилично… Я её не вскрывал, но судя по всему слепить подобное из говна и палок будет несколько проблематично даже при сильном желании.
Функционал устройства приятно впечатлил, картинка с компьютера на экране телевизора отображалась очень даже прилично — для кыно вариант в самый раз. Молодцы китайцы. А вот надписи на экране были практически нечитаемы — реальное разрешение у композитного сигнала некудышнее. Увы…
На экране магнитолы картинка меня качеством не впечатлила — изображение было слегка замыленное и мерзко дрожащее. Ситуацию заметно улучшило переключение видеокодека на формат NTSC-J. Даже NTSC-M слегка хуже, а PAL в своём многообразии так весь отстой полный. Понятно, что это уже определяется уровнем качества видеовхода магнитолы(на телевизоре такой заметной разницы нет), но настроение мне это слегка попортило.
После всех ковыряний итог получился такой:
Фотографии неудачные — смартфон очень плохо берёт прямые источники света.
В реальности изображение довольно качественное. Так выглядят чистые цвета:
Что мне и требовалось.
Картинка низкого(320*240) разрешения, сформированная всё той же связкой Arduino DUE с библиотекой stimmer`а в версии VGA, пропущенная через конвертор с расстояния вытянутой руки смотрится чуть хуже, но тоже вполне достойно:
Проект можно посмотреть здесь — stimmer.github.io/DueVGA/
Проблема только одна — библиотека stimmer`а написана 7 лет назад и фактически брошена автором на призвол судьбы — не фиксится и не развивается более.
Для формирования ПРИМИТИВНОГО цветного VGA-сигнала могу ещё порекомендовать библиотеку — github Она написана для дешёвого и распространённого клона Ардуины на чипе STM32F103C8T6, про которого я писал в прошлой статье, который тоже позволяет выводить неплохую цветную VGA-картинку разрешением 28 на 30 символов(224*240 пикселей) и 8 цветов — этого вполне достаточно для многих проектов, не требующих реальной графики:
Мне же нужна приличная графика, чтобы формировать подобные вещи:
Потому мне необходим инструмент помощней.
А раз уж я переключился с формирования композитного сигнала на формирование VGA — то и выбор мой расширился на порядки.
Формирование VGA намного проще — потому готовых проектов для повторения просто море.
Потому я в ближайшее время собираюсь таки заказать себе ESP32 и поиграться с ним — он должен формировать в разы лучшее изображение(от 640*480 и выше при 64 цветах) при меньшей вероятности затыков от выполнения параллельных задач, которых у меня будет много.
Определюсь с окончательной платформой и начну уже наконец реальное строительство своего газодизеля.
P.S.
Вообще-то существует вполне себе подходящая под мои задачи Ардуина.
Она содержит на борту некое подобие видеокарты и формирует видеосигнал в формате HDMI.
По той информации, что я накопал — изображение получается до 800*600 точек. Картинка формируется стандартными ардуиновыми графическими библиотеками для LCD-дисплеев.
Звать эту Ардуину — Arduino MKR Vidor 4000:
Чем она мне НЕ понравилась?
Во-первых — цена. Цена стремительно падает, но на момент моего знакомства с этой платой за неё просили в нерезиновой 100уе, а у нас — ещё полтос сверху и ждать месяц…
Во-вторых — возможности. Кроме видеокарты на ней нет ничего выдающегося.
Поправлю сам себя. На самом деле — плата уникальная. Периферия — мощнейшая. Например WiFi на ней организован с помощью новейшего двуядерного чипа ESP32 с тактовой частотой до 240 МГц. У него на борту 4Мб флэш и 512Кб оперативки…
ПЛИС — Intel Cyclone 10CL016. Это ваще монстр какой-то, если придумаешь — к чему его приспособить. Тактовая частота до 150МГц, 504Кб оперативки…
И всё это великолепие объединено убогим Cortex M0+ с тактовой частотой 48МГц, флэшем 256Кб, и оперативкой 32Кб… Колосс на глиняных ногах… :(
В-третьих — унификация. Плата слишком специализированная и для неё нет и вряд ли когда будет много готового программного обеспечения.
В-четвёртых — в моих реалиях и для неё таки придётся покупать конвертор… ну нету на моей магнитоле HDMI видеовхода…
Где-то далеко, в закромах своего сарая я нашел не что иное, как два 27MHz пульта от какой-то машинки, о чем свидетельствовало изображение машинки на дисплее. Один пульт не работал, другой был тоже не нужен, ведь машинки то нету. Распаяв плату я получил резисторы и конденсаторы, но самым интересным был дисплей. Решив, что его нужно подключить к Arduino полез в Яндекс искать его. Это был самый большой провал в моей жизни. Ни Яндекс, ни Google не знают такой фирмы производящей дисплеи, как Melodate не знали. Судя по маркировке это Melodate MD-2072.
У него подключение шлейфом, а еще сзади есть два контакта под динамик, который я благополучно оторвал, из-за того, что тот пищал при любых телодвижениях на экране.
Распиновка на плате была, но. соответствовало действительности разве, что GND и VDD. Остальное, как оказалось - направления движения. Долго мучашись с постоянным прописыванием функции digitalWrite() и вспомианием, какой пин относится к какому действию я решил написать библиотеку. Подключать дисплей надо именно так, как нарисовано в титульной картинке. Но. тут не так все просто. Это во Fritzing взял, перевернул, и все прекрасно, а на самом деле пришлось немного подумать.
Точнее думать не особо-то и надо было - снял облочку, да поменял местами проводки GND и VDD.
Итак, мы подключили дисплей, как надо, а теперь собственно библиотека. Всего в ней 9 комманд.
Также есть команды для выключения определенных действий. Например
Отключаем частично экран:
Еще есть функции:
Загружаем скетч либо из примеров в библиотеке, либо скопировав отсюда (они одинаковые) в нашу *duino и видим, что все работает. Хочу также предупредить, что если у Вас, что-то идет не по коду, то скорее всего :
А. Контакты перемкнулись
Б. Неправильное подключение
В. На экран смотреть нужно сверху вниз, а не под углом
Г. Доткнуть пинцетом контакты
Появилась у меня задача сделать один проект с экраном 7 дюймов с тачскрином. До этого я работал только со стандартными экранчиками под ардуинку не более 4.5 дюймов, которых много есть различных моделей в магазинах. А вот с экранами побольше выбора почти нет, да и информации мало. После долгих изучений я нашел 3 варианта:
1) делать проект на Raspberry, но выйдет намного дороже по комплектующим
2) использовать дисплей Nextion, но он тоже не дешевый и я хочу сделать проект на ESP32 с возможностью удаленной прошивки контроллера по воздуху, а с Nextion такое, как я понял, не получится.
3) с использованием контроллера RA8875
Первые два варианта я оставил как запасные, если не удастся с третим. По поводу RA8875 - есть отдельно готовый модуль от Adafruit , но стоит он тоже многовато, а с учетом того, что нужно еще и экран покупать, то выйдет дороговато. А есть уже готовые модули с этим контроллером и экраном с тачскрином (резистивным или емкостным). Я остановился на таком варианте
И вот приехал мне этот дисплей с алишки за 47$ как раз перед Новым годом. Сразу же запаял штырьки в правый нижний блок (2х7), так как подключать я его собирался по SPI, а слева выводы под паралельный интерфейс. Библиотеку взял Но сразу ничего не получилось. Пришлось изучать даташити на этот контроллер и искать информацию в интернете. И вот я наткнулся на одну статью ( ), где написано, что на этом дисплее не выведен SPI и подключить его не получится. Я уже расстроился и подумал, что придется пилить на Raspberry, но продолжил изучать даташиты. Сравнив схемы этого модуля и модуля Adafruit я увидел, что все сходится и SPI там выведен. Но тут выведены еще контакты PS, SIFS0,1, I2CA0,1. Изначально я их не подключил, но в даташите написано, что есть несколько режимов работы контроллера RA8875 - паралельный интерфейс, SPI 3-wire, SPI 4-wire, I2C. И в зависимости от того, какой режим используется надо эти контакты завести на VCC или GND.
И так в случае SPI 4-wire схема подключения такая:
CS - любой цифровой выход
LCD_RST - любой цифровой выход
RS_INT - любой цифровой вход
После такого подключения экран заработал:
Сразу хочу уточнить, что ESP32 работает на 3.3В, но если вы захотите подключить экран к Arduino , которая работает на 5В, то нужно согласование уровней, а то можете спалить дисплей ( )
После этого начал разбираться с тачскрином. В этой же библиотеке Adafruit_RA8875 есть возможность работы с тачскрином, а на контроллер RA8875 должны быть заведены контакты тачскрина Y+, Y-, X+, X- Но это сработает только в случае резистивного тача. А у меня модуль с емкостным и контакты его заведены на контроллер GT811. И тут опять возникла проблема: нет ни одной библиотеки для подключения этого контроллера к ардуино. Подключается он по I2C - 4 нижних контакта на этой же колодке (2х7):
СT_RST - любой цифровой выход
CT_INT - любой цифровой вход
Пришлось опять читать даташиты и искать в интернете информацию. Была найдена библиотека на GT811 для контроллера GD32 - аналог STM32 ( ) Детально ее изучив, переписал на простую библиотеку под ардуино
На данном тачскрине можно отслеживать до 5 одновременных касаний.
Теперь остается только откалибровать координаты тачскрина относительно координат экрана и можно пилить проект.
Найдены возможные дубликаты
Arduino & Pi
1K постов 17.8K подписчиков
Правила сообщества
В нашем сообществе запрещается:
• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)
• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском
• Выкладывать код прямо в посте - используйте для этого сервисы ideone gist.github или схожие ресурсы (pastebin запрещен)
• Рассуждать на темы политики
Как доделаешь, сними видео, как работает.
Забыл(( Постараюсь сделать в ближайшее время. Но, по сути, там просто клавиатура на экране и поля, где вводится текст. Это панели для квест-комнаты. Есть скриншот, когда тестировали вместе всю систему
Одно не могу понять, почему 7" готовый планшет, где уже есть - IPS экран с тачем 1024х800, флешка на 4гига, аккумулятор, проц на 4 ядра 1.7ггц стоит в рознице ТУТ. 2.2тыс, а гребаный экран отдельно стоит 3.4тыс без доставки.
Потому что в экране планшета "сложный" для ардуинщиков интерфейс. И плюс массовость производства.
Сказали же. Для ардуинщиков
Это где же за 2200 можно купить планшет с IPS экраном?
За такие деньги у вас будет убожество с ОЧЕНЬ плохими углами обзора.
Ну и не забывайте, что за те 2200 телефон будет скорее всего залочен под сотового оператора и оператор вполне может продавать его если не ниже себестоимости, то уж точно по себестоимости. Зарабатывать при этом оператор будет на доп. услугах, которые клиент купит благодаря наличию на новом телефоне всяких трафикопожиралок типа youtube, instagramm и т.д. и т.п.
7" Планшет FinePower E3 4 ГБ 3G черный
[1024x600, IPS, 4х1.2 ГГц, 0.5 Гб, BT, GPS, 2200 мАч, Android 4.x+] = 2 299 руб
Android 4.x, 512 mb RAM, процессор 2015 года выпуска . ничего не смущает? Для "модели 2018 года" по версии DNS ;)
Если нет, то смею предположить, что речь идёт про продажу серьёзно залежалого неликвида - производитель может избавляться от неликвида даже ниже себестоимости, лишь бы освободить склады и хоть какую-то денежку вытащить.
Про матрицу - сильно сомневаюсь, что там настоящий IPS с хорошим углом обзора.
Если не забуду, то попробую чисто ради интереса посмотреть на углы обзора этого IPS'а, практически уверен, что они окажутся хуже, чем у древнего монитора на TN матрице. Но если углы будут реальными, то с удовольствием куплю чисто как фоторамка или как экран для погодной станции (благо никто не мешает написать любое приложение для андроида под эти цели, либо взять одно из массы готовых) ;))
Но вообще в современных планшетах/смартфонах цена экрана может оказаться 50+% от стоимости всего устройства.
По цене отдельного экрана - это ж DIY модуль для штучных задач, цена в любом случае низкой не будет. Вот если бы кто-то заказал у производителя 10k таких экранов, да потом нашел рынок их сбыта, то и ценник бы оказался существенно ниже.
Это как с не очень давно было с мини экранчиками для всяких ардуин и просто поделок на Atmel/PIC. Либо хороший экран от нокии за 100-150 рублей в розницу в любом ларьке, либо экран в разы дороже и не факт, что лучше. В чём причина? Экраны от нокий производились миллионными партиями, выкупались оптом и массово использовались.
А нечто более специфичное - это уже штучный товар со всеми вытекающими проблемами.
В качестве примера подключим дисплей к управляющей плате Arduino Uno.
Подключение к Arduino
Вывод | Обозначение | Пин Arduino Uno |
---|---|---|
1 | GND | GND |
2 | VCC | 5V |
3 | VO | GND |
4 | RS | 11 |
5 | R/W | GND |
6 | E | 12 |
7 | DB0 | — |
8 | DB1 | — |
9 | DB2 | — |
10 | DB3 | — |
11 | DB4 | 5 |
12 | DB5 | 4 |
13 | DB6 | 3 |
14 | DB7 | 2 |
15 | VCC | 5V |
16 | GND | GND |
Для упрощения работы с LCD-дисплеем используйте встроенную библиотеку Liquid Crystal. В ней вы найдёте примеры кода с подробными комментариями.
Вывод текста
Для вывода первой программы приветствия, воспользуйтесь кодом вроде этого:
Кириллица
Существует два способа вывода кириллицы на текстовые дисплеи:
Рассмотрим оба способа более подробно.
Таблица знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.
Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.
Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0-9 и A-F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две записанные рядом строки склеиваются.
Сравните две строки кода для вывода надписи «Яeee»:
Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:
Переключение страниц знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:
Дисплей не может одновременно отображать символы разных страниц.
Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.
Полную таблицу символов с кодами можно найти в документации к экрану.
Использование библиотеки LiquidCrystalRus
Совсем не обязательно мучатся со знакогенератором, чтобы вывести русский символ. Для решения проблемы скачайте и установите библиотеку LiquidCrystalRus.
Это копия оригинальной библиотеки LiquidCrystal с добавлением русского языка. Добавленный в библиотеку код трансформирует русские символы UTF8 в правильные коды для текстового экрана.
В качестве примера выведем фразу «Привет от Амперки» на дисплей.
Примеры работы для Espruino
В качестве примера подключим дисплей к управляющей плате Iskra JS.
Подключение к Iskra JS
Вывод | Обозначение | Пин Iskra JS |
---|---|---|
1 | GND | GND |
2 | VCC | 5V |
3 | VO | GND |
4 | RS | P11 |
5 | R/W | GND |
6 | E | P12 |
7 | DB0 | — |
8 | DB1 | — |
9 | DB2 | — |
10 | DB3 | — |
11 | DB4 | P5 |
12 | DB5 | P4 |
13 | DB6 | P3 |
14 | DB7 | P2 |
15 | VCC | 5V |
16 | GND | GND |
Для работы с LCD-дисплеем из среды Espruino существует библиотека HD44780.
Вывод текста
Для вывода программы приветствия, воспользуйтесь скриптом:
Кирилица
Вывод кирилицы на дисплей с помощью платформы Iskra JS доступен через встроенную в дисплей таблицу знакогенератора.
Таблица знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.
Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.
Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0–9 и A–F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две строки записанные рядом склеиваются.
Сравните две строки кода для вывода надписи «Яeee»:
Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:
Переключение страниц знакогенератора
Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:
Дисплей не может одновременно отображать символы разных страниц.
Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.
Полную таблицу символов с кодами можно найти в документации к экрану.
Комнатный термометр
Дисплей удобен для отображения показаний модулей и сенсоров. Сделаем задатки «Умного Дома», а именно «комнатный термометр».
Читайте также: