LiquidCrystalRus.h

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012

в ардуино новичек, осваиваю по чуть-чуть, добрался до LCD,

делаю по этой статье http://robocraft.ru/blog/arduino/503.html

Латиницу все отлично выводит, но вот с русским проблема, скачал оттуда же библиотеку LiquidCrystalRus.h

Скетч

#include <LiquidCrystal.h>
#include <LiquidCrystalRus.h>

LiquidCrystalRus lcd(12, 11, 5, 4, 3, 2);

void setup()
{
  lcd.begin(16, 2);
  lcd.print("Здравствуй, мир!");
}

void loop()
{
  lcd.setCursor(0, 1);
  lcd.print(millis() / 1000);
}

Но не получается скомпилить, получаю следующие ошибки

In file included from sketch_jul02b.cpp:2:
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:30:24: error: LineDriver.h: No such file or directory
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:31:30: error: LiquidCrystalExt.h: No such file or directory
In file included from sketch_jul02b.cpp:2:
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:43: error: 'LineDriver' has not been declared
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:47: error: 'LineDriver' has not been declared
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:50: error: 'LineDriver' has not been declared
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:53: error: 'LineDriver' has not been declared

Может, кто подскажет как заставить его писать по-русски?

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012

Удалось уменьшить ошибки до



In file included from E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalRus.h:31,
                 from sketch_jul02a.cpp:2:
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystalRus/LiquidCrystalExt.h:111: error: redefinition of 'class LiquidCrystal'
E:\Учебники\Arduino\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystal/LiquidCrystal.h:45: error: previous definition of 'class LiquidCrystal'

 

vworld
vworld аватар
Offline
Зарегистрирован: 26.09.2011
#include <LiquidCrystal.h>

попробуйте не подключать для начала эту библиотеку

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012

Без

#include <LiquidCrystal.h>

Скомпилил, но русского, нету, очень похоже на японские иероглифы

dedefisheo
Offline
Зарегистрирован: 16.03.2012

у меня были подобные проблемы, но из-за кириллического названия папки в адресе к библиотеке, изменил название, все стало работать..

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012

Не помогло:(

Serega7411
Offline
Зарегистрирован: 06.04.2012

Не во всех LCD прошиты русские буквы. Попробуйте вывести символы с 0 по 255 и посмотрите есть ли там вообще русские буквы.

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012

Мне еще не по силам подставлять переменную в кавычки

lcd.print("\255");

Что то в голове крутиться, а как переменную в переменную, не могу осилить:)

Serega7411
Offline
Зарегистрирован: 06.04.2012
void setup()
{
lcd.begin(16, 2);
for(byte i = 0; i <32 ;i++)//т.к. экран 16х2, то больше 32 не выведешь
lcd.print(i);
}

void loop()
{
}

 

потом for(byte i = 32; i <64 ;i++), и так до 255, больше 32 символов за раз не вывести

может вместо lcd.print(i) нужно использовать lcd.write(i), под рукой сейчас нет проверить

/p

Tamer
Tamer аватар
Offline
Зарегистрирован: 24.06.2012
for(byte i = 0; i <32 ;i++)//т.к. экран 16х2, то больше 32 не выведешь
lcd.print(i);

Такой метод выводит числа, от 0 до 31

А вот write пишет символы, сейчас все просмотрю

ЗЫ Да к сожалению русского не обнаружено

Android55529
Offline
Зарегистрирован: 23.07.2012

Почитайте на freeduino.ru про LCD Keypad Shield там есть библиотека с русским, только сегодня писал и все понятно на русском. Она чуть больше стандартной зато с русским. Там на сайте в товарах далее подробней.