Не компилируется пример для библиотеки LiquidCrystalRus.h
- Войдите на сайт для отправки комментариев
Вс, 29/03/2015 - 17:18
Помогите начинающему. Начал читать книгу Виктора Петина: Проекты с использованием контроллера arduino. Книга неплохая, но по неопытности возникли проблемы с первым же практическим примером.
К книге прилагаются примеры. Первый пример - работа с LCD и русскими символами. Скетч который был в примере не компилируется - выдает ошибки:
In file included from Display.ino:3:0:
D:\Documents and Settings\User\Мои документы\Arduino\libraries\LiquidCrystalRus/LiquidCrystalRus.h:87:16: error: conflicting return type specified for 'virtual void LiquidCrystalRus::write(uint8_t)'
virtual void write(uint8_t);
^
In file included from D:\Documents and Settings\User\Мои документы\Arduino\libraries\LiquidCrystalRus/LiquidCrystalRus.h:5:0,
from Display.ino:3:
D:\Documents and Settings\User\Application Data\Arduino15\packages\arduino\hardware\avr\1.6.2\cores\arduino/Print.h:48:20: error: overriding 'virtual size_t Print::write(uint8_t)'
virtual size_t write(uint8_t) = 0;
^
Ошибка компиляции.
Библиотеку LiquidCrystalRus подключил вручную. Скетч не компилируется. Скачал и установил новую версию IDE 1.6.2 тоже не помогло. Думаю проблема с библиотекой. Кто с ней работал помогите разобраться.
Для этой библы IDE должно быть ниже 1.0.
Попробуй использовать библиотеку <LiquidCrystal.h> я не уверен, но возможно <LiquidCrystalRus.h> у тебя просто на диске нету и IDE не может её найти, возможно данную библиотеку можно где-то скачать.
Проверил, в файлах IDE нет библиотеки <LiquidCrystalRus.h> есть только <LiquidCrystal.h> так что придется качать.
Библиотеку LiquidCrystalRus.h скачивал отдельно и устанавливал вручную.
Если для LiquidCrystalRus.h IDE должно быть ниже 1.0. то подскажите пожалуйста какой библиотекой можно вывести русские буквы на LCD. в IDE 1.6.2. Хотя в книге указывается версия IDE 1.5. Заранее благодарен.
Если для LiquidCrystalRus.h IDE должно быть ниже 1.0. то подскажите пожалуйста какой библиотекой можно вывести русские буквы на LCD. в IDE 1.6.2. Хотя в книге указывается версия IDE 1.5. Заранее благодарен.
Так и поставьте 1.5, по 1.6 нареканий много по форуму. Ниже 1.0 возможно был неправ.
Пробовал 1.5 r2. Эффекта нет. Я думал, что каждая новая версия IDE только увеличивает возможности и исправляет ошибки. Мне нужно, чтобы я писал в посленей версии IDE. А то получится эта библиотека работает на старой версии, а другая на новой. Это не позволит их совмещать. :-( Подскажите как вывести русские символы на LCD. Кто как делает?
Еще одна проблемка. Наверно аппаратная. Не могу запитать подсветку на 2004 LCD от UNO. Откуда брать 5В?
В некоторых случаях помогает
но не во всех(((.
А 1.6.* здесь оплевана не знаю как. У многих с ней проблема.
Пять вольт на подсветку и брать от 5В на UNO, ток даташит гляньте, там вроде резистор нужен.
С подсветкой разобралься. Почему-то на ней КЗ. Взял другой дисплей вроде подсвечивает. Но символы упорно не выводит.
Хотя заливаю скетч с библиотекой LiquidCrystal.h.
Пример скетча.
По вашим рекомендациям буду откатываться на 1.5 версию.
Подключение уже несколько раз перепроверил.
А что он вообще выводит? Контрастность крутили? Для кириллицы, она еще в знакогенератор должна быть зашита, иначе кракозябры будут.
Чтобы нормально разобратся, залейте стандартный пример идущий с библиотекой. Это самое надежное для начала.
Дисплей просто подсвечивается т.е. работает подсветка. Иногда при включении выводит квадратики, но не во всех ячейках. Никакие символы не выводит. Уже заливал скетч приведенный выше т.е. стандартный и без кирилицы. Результат плачевный. С миром так и не поздоровался. Вспоминаю откуда у меня эти дисплеи. Может с ними что-то не так. Они не новые 100%. Завтра буду искать 100% рабочие.
А переменный резистор контрастности там распаян? Без него ничего не увидите.
Еще вопросик по поводу подсветки. Дисплей у меня АСМ 2004. У него максимальный ток подсветки 600 мА. т.е. теоретически его от USB порта ПК запитать можно не всегда. От чего его запитывать? Ведь схема должна быть с запасом.
Резистор я припаял. Правда по даташиту 10-20 кОм. У меня был 5кОм. Яркость подсветки подстроить сложно если не выводятся символы. Но вроде она меняется от переменного резистора.
Еще вопросик по поводу подсветки. Дисплей у меня АСМ 2004. У него максимальный ток подсветки 600 мА. т.е. теоретически его от USB порта ПК запитать можно не всегда. От чего его запитывать? Ведь схема должна быть с запасом.
Тады только отдельный БП или ток до 200-250мА ограничивать.
Еще раз прогнал резистор от щелчка до щелчка. При определенном положении резистора высветились черные квадратики, но не во всех ячейках (при этом в каждой строке). После чего произошло странное явление. Эти квадратики начали растворяться и экран снова стал монотонным. При этом положение резистора я уже не менял.
А как ограничить ток? Дайте ссылочку на схемку пожалуйста.
Вы бы с ACM2004 и начинали, контроллер там другой. Не факт, что с этими библами будет работать. Сравнивайте систему команд.
Как я понял контроллеры поддерживаются этой библиотекой.
http://arduino.ru/forum/obshchii/lcd-indikator
А как ограничить ток? Дайте ссылочку на схемку пожалуйста.
Да обычный резистор. Мощность только посчитайте. Правда будет греть.
Хотя, если ток в три раза уменьшить, смысла в этой подсветке не будет. Слишком темно. Лучше или вовсе не включать, или БП с достаточной мощностью. ИМХО.
А куда ставить резистор? В цепь питания подсветки?
Да, последовательно.
Спасибо.
Буду завтра добывать новый дисплей. И учиться на нем. Думаю что сам дисплей не совсем хорошо себя чувствует. Или хуже - руки кривые. Чтобы ни было буду исправлять.
IDE 1.6.0 несовместима с библиотекой LiquidCrystalRus (именно Rus) - программисты Arduino выкинули из новой версии одну функцию, которая используется в этой библиотеке для обработки кириллицы.
Сегодня заработала LiquidCrystalRus на версии 1.5.8 , а на 1.6 не хочет. Помогла статья http://robocraft.ru/blog/arduino/503.html
Правда нужно подключать аж три библиотеки и будут выводиться русские буквы. Выводит как-то кривовато - но хоть как-то. Кто знает подсветка LCD - это светодиоды с резистором?
Подскажите пожалуйста, что может так влиять на вывод символов на экран. Битый час уже бьюсь над проблемой.
Вывожу в каждую строчку одинаковую последовательность символов. Корректно выводится только первая строка далее идет какое-то смещение.
а почему lcd.setCursor(0, 1); ? Это же 1-й символ и ВТОРАЯ строка (отсчет идет от нуля). По крайней мере, в моей библиотеке LiquidCrystalRus.h это так.
Получается, 4-ю строку ты загружаешь в 5-ю физически (которой нет), вот библиотека (или контроллер дисплея) разраливает это "как могу, так и делаю".
Извиняюсь это я по всякому пробовал и не тот код вставил.
Вот как реагирует на следующий код:
При этом, если использовать библиотеку LiquidCrystal, то результат адекватный.
а что вообще делают LineDriver.h и LiquidCrystalExt.h? Без них никак? Похоже, что как раз что-то из них работает в режиме 16х4, а не 20х4.
Без них скетч вообще не компилируется.
Делаю по этой статье http://robocraft.ru/blog/arduino/503.html
Как я понимаю стандартно русский язык не поддерживается. Написали для русификации библиотеку LiquidCrystalRus.h. Но она работает не во всех версиях IDE. Поэтому писать код с русскими символами не очень удобно. Подскажите кто чем пользуется для русификации.
LiquidCrystalRus.h прекрасно работает с IDE 1.0.5
IDE 1.6 - вообще глюкалово.
Я просто начинающий. И чисто интуитивно подозреваю, что 1.0.5. имела какие-то глюки, которые потихоньку исправляют и выпускают новые версии IDE. Вот и получается, что часть кода будет хорошо работать в 1.0.5. а часть например в 1.6.1. Как в таких условиях быть начинающему да и вообще как работать с такими нюансами?
Возьми 1.0.6 - она стабильная и на данный момент в ней меньше всего глюков. А 98% кода будет одинаково работать во всех IDE.
Спасибо за совет.
Судя как вы этим заморочились, так вы поэмы писать будете на нем. Берите стандартную латиницу, а недостающие символы сами нарисуйте, вроде 8 штук допускается. И компонуйте из них, что вам требуется. Слов синонимов, в великом и могучем, вдоволь.
Очень люблю русский язык. Думал что просто подключу библиотеку LiquidCrystalRus.h и будет счастье. А извращаться с 8-ю буквами это в 21 веке не камильфо. Лучше их использовать на какую-то информативную графику. Просто не могу понять, почему нет встроенной поддержки различных языков, если платформа arduino хочет завоевать весь мир, то локализация это первое дело.
А те, которые по написанию сходны с латиницей, чем вас не устраивают? Тем более, что дисплеи с зашитой кирллицей в два раза дороже обычных, да и поискать надо.
Очень люблю русский язык поэтому хочу свои девайсы делать с приятным для себя интерфейсом. Ценное уточнение по поводу встроенной поддержки кириллицы. Когда буду покупать дисплей буду брать с кириллицей. Может подскажите: подсветка на LCD это светодиоды с резистором?
нет, там только светодиод, резистор надо подключать самостоятельно.
При этом резистор будет греться. Можно ли вместо резистора поставить диод, чтобы на нем упало 0,6В и соответственно подсветка светила слабее. И будет ли он греться?
LiquidCrystalCyr_I2C.h , я такой пользовался, она под I2C, на IDE 1.0 и выше не проверял. Дисплеи с кириллицей на али не смог обнаружить, а в России цена больно не гуманная. Так что я за синонимы))))
LiquidCrystalCyr_I2C.h для не нужен переходник?
LiquidCrystalCyr_I2C.h для не нужен переходник?
Я сам паяю, хотя по цене эквивалентны выходят. У I2C плюс, что надо всего два вывода без учета питания.
При этом резистор будет греться. Можно ли вместо резистора поставить диод, чтобы на нем упало 0,6В и соответственно подсветка светила слабее. И будет ли он греться?
Можно, грется не будет.