LCD 16x2 и русский алфавит
- Войдите на сайт для отправки комментариев
      Чт, 10/04/2014 - 20:10
          
      Приобрел LCD в формате 16x2, но как оказалось без "вшитой" кирилицы. Дисплей на базе HD44780.
Пытался подружить его с LiquidCrystalRus.h, но рисуются иероглифы. Есть ли библиотека, которая "прорисовывает" русский алфавит?
 
          
ну, и всё - так и будешь ходить, весь в латинице, нерусский.
можно использовать до 8-ми заказных символов, но оно не решит проблему полностью.
забей и пользуй латиницу... или меняй индикатор.
Грусть-тоска, а нельзя поточечно вырисовать буквы
не - аппаратно, только посимвольно.
заказные символы, до 8-ми штук, тоже аппаратное ограничение памяти индикатора http://arduino.cc/en/Reference/LiquidCrystalCreateChar
byte smiley[8] = { B00000, B10001, B00000, B00000, B10001, B01110, B00000, };есть библиотека http://playground.arduino.cc/Code/LCDBitmap , можно точки рисовать, но это костыль из 8-ми штук заказных символов.
А есть какая-нибудь вспомогательная прога, чтобы рисовать 5х8, а она переводила в символы
А есть какая-нибудь вспомогательная прога, чтобы рисовать 5х8, а она переводила в символы
я находил типо "проги", но затем повыбрасывал, т.к. понял, что проще руками нарисовать любой символ - там же просто "0" - пусто, "1" - рисуем пиксель.
Вот неплохая "программа" html страничка, очень удобно рисовать, на выходе готовый массив
http://yadi.sk/d/2RAgbPlDMCWDe
Вообще говоря, среди этих "иероглифов" есть некоторые зачатки русских букв. Ну и часть латиницы похожа на русские... Остается приложить интеллект и наделать интуитивно понятных сокращений...
http://www.quinapalus.com/hd44780udg.html
arssev1, а ещё бывают индикаторы с русским шрифтом, но расположенным в нестандартных адресах. Мне такой попадался от производителя PowerTip. Что-бы точно узнать что в вашем нет русского, нужно перебором вывести поочереди всю таблицу символов.
А есть какая-нибудь вспомогательная прога, чтобы рисовать 5х8, а она переводила в символы
http://www.geocities.com/dinceraydin/lcd/charcalc.htm
arssev1, а ещё бывают индикаторы с русским шрифтом, но расположенным в нестандартных адресах. Мне такой попадался от производителя PowerTip. Что-бы точно узнать что в вашем нет русского, нужно перебором вывести поочереди всю таблицу символов.
А как вывести всю таблицу символов?
А как вывести всю таблицу символов?
Можно так:
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 10, 5, 4, 3, 2); const int numRows = 2; const int numCols = 16; void setup() { lcd.begin(16, 2); } void loop() { int currentRow = 0; int currentCol = 0; for (int letter = 0; letter <= 255; letter++) { lcd.setCursor(currentCol, currentRow-1); lcd.print(char(letter)); currentCol++; if (currentCol > numCols) { currentCol = 0; if (currentRow < (numRows - 1) ) { currentRow++; } else { delay(5000); lcd.clear(); currentRow = 0; } } } }Код не мой.
Попробуйте http://mk90.blogspot.ru/2012/01/liquidcrystalrus-10.html
Попробуйте http://mk90.blogspot.ru/2012/01/liquidcrystalrus-10.html
Я же говорил - не работает
Нашел две ошибки в коде вывода таблицы символов который был выше, вот исправленный мною код
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 10, 5, 4, 3, 2); const int numRows = 2; const int numCols = 16; void setup() { lcd.begin(16, 2); } void loop() { int currentRow = 0; int currentCol = 0; for (int letter = 0; letter <= 255; letter++) { lcd.setCursor(currentCol, currentRow); lcd.print(char(letter)); currentCol++; if (currentCol == numCols) { currentCol = 0; if (currentRow < (numRows - 1) ) { currentRow++; } else { delay(5000); lcd.clear(); currentRow = 0; } } } }