Как заставить ЖК-дисплей отображать китайские и японские иероглифы?
Я делаю проект, который требует от меня отображения китайских и японских иероглифов на ЖК-дисплее. Однако мой ЖК-дисплей 16x2, похоже, не поддерживает отображение китайских и японских иероглифов.
Если я делаю что-то вроде lcd.print("おはよう世界");
или lcd.print("简体中文测试");
, это кажется, отображает просто кучу перемешанных случайных символов (я предполагаю, что их значения символов складываются со значениями символов в коде).
Как заставить ЖК-дисплей отображать китайские и японские символы?
Или, если это невозможно сделать без покупки нового, который его поддерживает, где я могу его купить?
@LittleWhole, 👍0
2 ответа
Лучший ответ:
Отображение кандзи или китайских иероглифов выходит далеко за рамки возможностей ЖК-дисплея, отображающего символы размером 5 на 7 пикселей.
Чтобы понять ограничения, возьмите лист миллиметровой бумаги и начертите набор прямоугольников 5x7. Проверьте, сможете ли вы определить ЛЮБЫЕ узнаваемые японские или китайские иероглифы на миллиметровке.
Может пару символов? (Опять же, может быть, и нет.)
Вам нужен дисплей с гораздо большим разрешением, например графический дисплей OLED. Вы также боретесь с микроконтроллером, который не поддерживает Unicode. Это просто не до работы. Вам было бы намного лучше с Raspberry Pi и экраном, похожим на цветной ЖК-экран смартфона. Установите Linux, и вы получите встроенную поддержку Unicode.
Как уже отмечалось, хирагана или катакана были бы более практичными, и есть некоторые ЖК-дисплеи с низким разрешением, которые поддерживают эти символы.
Ваш ЖК-дисплей использует один байт для отображения символа, поэтому есть < Возможно 256 символов. 8 из них определяются пользователем, остальные предварительно заданы в LCD-ROM.
Среда разработки Arduino IDE использует код utf-8, который занимает более одного байта для всех символов, отличных от ascii, например, в "おはよう世界".
Даже если набор символов содержит символы, которые вы хотите отобразить, вам нужна управляющая последовательность, чтобы они правильно отображались в операторе печати.
- Как отобразить символ º на ЖК-дисплее?
- Потенциометр 10 кОм против резистора 10 кОм на ЖК-дисплее
- Wemos: дисплей 16x2 ничего не показывает
- Запись значения на 7-сегментный дисплей max7219
- Адресация HD44780 DDRAM по второй линии
- Чтение текста с SD-карты возвращает странные символы
- Как подключить этот последовательный дисплей SPI к Arduino?
- Serial.print печатает, а lcd.print - нет.
Для этих ЖК-дисплеев доступны два ПЗУ. Один имеет латинские расширенные символы в 128-255. На другом японская хирагана (а может катакана, забыл). Эти японские иероглифы могут отображаться нормально. Кандзи, конечно, нет-нет, как и китайский, как упрощенный, так и традиционный. Выберите правильную модель ЖК-дисплея, и вы получите *немного* японца., @Majenko
[Этот] (https://www.sparkfun.com/datasheets/LCD/ADM1602K-NSW-FBS-3.3v.pdf) имеет один ПЗУ, который выглядит как смесь расширенной латиницы, катаканы и греческого языка. Он также может отображать до восьми различных пользовательских глифов., @Edgar Bonet
Хорошее замечание о Катакане/Хирагане, Маженко и Эдгаре Боне. Таковыми намного проще управлять. В своем ответе мне следовало указать, что **кандзи** и китайский язык выходят за рамки ЖК-дисплея 5x7 (и Arduino)., @Duncan C