Как исправить зеркальный текст на 3,2" IPS TFT ЖК-дисплее ILI9481 480X320 36 контактов для Arduino Mega2560

я работаю над проектом на своем arduino mega2560. Я хочу показать показания датчиков на TFT-дисплее, проблема в том, что текст, отображаемый на экране, зеркально отражен. Поскольку я очень новичок в arduino, я не знаю, как решить эту проблему. Я проверил несколько видео на YouTube, но ничего не помогло. Я использую пример из библиотеки UTFT arduino (AVR) => UTFT_DEMO_480x320>

, 👍0

Обсуждение

Не могли бы вы предоставить ссылку на библиотеку, которую вы использовали (например, на соответствующую страницу github)? Я посмотрел библиотеку UTFT, которую я могу найти в своем менеджере библиотек, но в ней нет демо-версии 480x320, поэтому я подозреваю, что вы используете другую библиотеку. Также, пожалуйста, покажите свой код, @chrisl

http://www.rinkydinkelectronics.com/library.php?id=51, @newbie


3 ответа


Лучший ответ:

1

Ориентация дисплея регулируется командой "Установить режим адреса" (0x36) в строке 42 драйвера ILI9481.

Текущее значение равно 0x0A, что равно 00001010 в двоичном формате. Согласно таблице данных (8.2.25) бит 6-это "Порядок адресов столбцов", и в настоящее время он установлен на "Слева направо".

Включение этого бита должно изменить порядок столбцов для отображения.

Поэтому измените эти две строки кода на:

LCD_Write_COM(0x36);
LCD_Write_DATA(0x4A);

должно иметь желаемый эффект.

,

я пробовал это, но все равно не повезло, это то же самое, @newbie

Должно быть изменение, даже если это неправильное изменение. Таким образом, либо среда IDE кэширует скомпилированный код и не понимает, что для его перекомпиляции необходимо внести изменения (вероятно, учитывая характер этой библиотеки), либо она не использует драйвер ILI9491., @Majenko

я внес изменения, как вы предложили, также перезапустил среду разработки, я не знаю, почему она не обнаруживает никаких изменений, есть ли что-то, чего мне не хватает?, @newbie

Вы уверены, что изменили его в правильном файле? В этой библиотеке много файлов с одинаковыми именами., @Majenko

я изменил этот файл "\Arduino\библиотеки\UTFT\tft_drivers\ili9481\initlcd", @newbie

В такие моменты мне нравится добавлять "#error foo "где-нибудь в рассматриваемый файл и проверять, не завершится ли компиляция с сообщением "ошибка: foo"., @Majenko

я проверил, и он выдает ошибку при компиляции, что означает, что он компилирует последние изменения, но дисплей все еще отражен, возможно, есть что-то еще, что нужно изменить. ваша помощь будет высоко оценена, и спасибо за то, что вы сделали до сих пор., @newbie

Есть и другие ценности, которые вы можете попробовать. Например, 0x4A, который изменяет порядок адресов столбцов., @Majenko

0x4A работает, теперь текст не отражается, спасибо большое. Не могли бы вы, пожалуйста, обновить свой ответ выше и изменить 0x08 на 0x4A, чтобы я мог отметить ответ., @newbie


2

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

Если вы используете библиотеку UTFT от RinkyDink electronics, откройте их файл initlcd.h. В разделе для управления доступом к памяти (строки 85-86 в моей версии) измените запись на:

LCD_Write_DATA(0x08);

Бит 0 управляет вертикальным переворотом, бит 1 управляет горизонтальным переворотом.

,

0

У меня была проблема с зеркальным дисплеем. ни одно из вышеперечисленных решений не сработало. Я обнаружил, что в строке исходного кода был определен неправильный драйвер. измените строку в исходном коде (имя файла "UTFT_Demo_480x320" строка№ 32 к этому: UTFT myGLCD(CTE40, 38, 39, 40, 41); Новая часть называется "CTE40". Это работает с ILI9486. Вы можете найти все различные номера чипов в файле "UTFT.h'

,