Как заставить ЖК-дисплей отображать китайские и японские иероглифы?

Я делаю проект, который требует от меня отображения китайских и японских иероглифов на ЖК-дисплее. Однако мой ЖК-дисплей 16x2, похоже, не поддерживает отображение китайских и японских иероглифов.

Если я делаю что-то вроде lcd.print("おはよう世界"); или lcd.print("简体中文测试");, это кажется, отображает просто кучу перемешанных случайных символов (я предполагаю, что их значения символов складываются со значениями символов в коде).

Как заставить ЖК-дисплей отображать китайские и японские символы?

Или, если это невозможно сделать без покупки нового, который его поддерживает, где я могу его купить?

, 👍0


2 ответа


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

1

Отображение кандзи или китайских иероглифов выходит далеко за рамки возможностей ЖК-дисплея, отображающего символы размером 5 на 7 пикселей.

Чтобы понять ограничения, возьмите лист миллиметровой бумаги и начертите набор прямоугольников 5x7. Проверьте, сможете ли вы определить ЛЮБЫЕ узнаваемые японские или китайские иероглифы на миллиметровке.

Может пару символов? (Опять же, может быть, и нет.)

Вам нужен дисплей с гораздо большим разрешением, например графический дисплей OLED. Вы также боретесь с микроконтроллером, который не поддерживает Unicode. Это просто не до работы. Вам было бы намного лучше с Raspberry Pi и экраном, похожим на цветной ЖК-экран смартфона. Установите Linux, и вы получите встроенную поддержку Unicode.

Как уже отмечалось, хирагана или катакана были бы более практичными, и есть некоторые ЖК-дисплеи с низким разрешением, которые поддерживают эти символы.

,

Для этих ЖК-дисплеев доступны два ПЗУ. Один имеет латинские расширенные символы в 128-255. На другом японская хирагана (а может катакана, забыл). Эти японские иероглифы могут отображаться нормально. Кандзи, конечно, нет-нет, как и китайский, как упрощенный, так и традиционный. Выберите правильную модель ЖК-дисплея, и вы получите *немного* японца., @Majenko

[Этот] (https://www.sparkfun.com/datasheets/LCD/ADM1602K-NSW-FBS-3.3v.pdf) имеет один ПЗУ, который выглядит как смесь расширенной латиницы, катаканы и греческого языка. Он также может отображать до восьми различных пользовательских глифов., @Edgar Bonet

Хорошее замечание о Катакане/Хирагане, Маженко и Эдгаре Боне. Таковыми намного проще управлять. В своем ответе мне следовало указать, что **кандзи** и китайский язык выходят за рамки ЖК-дисплея 5x7 (и Arduino)., @Duncan C


0

Ваш ЖК-дисплей использует один байт для отображения символа, поэтому есть < Возможно 256 символов. 8 из них определяются пользователем, остальные предварительно заданы в LCD-ROM.

Среда разработки Arduino IDE использует код utf-8, который занимает более одного байта для всех символов, отличных от ascii, например, в "おはよう世界".

Даже если набор символов содержит символы, которые вы хотите отобразить, вам нужна управляющая последовательность, чтобы они правильно отображались в операторе печати.

,