Библиотека для LCD Nokia 1100
- Войдите на сайт для отправки комментариев
Сб, 21/09/2013 - 16:38
Уважаемые форумчане возникла проблема в запуске библиотеки для LCD Nokia 1100
У меня уже есть рабочая библиотека, но она поддерживает только вывод текста одного размера 5х8 пикселей. Эта может выводить дополнительно увеличенный шрифт, а также графику (линию, круги, отдельные пиксели и тд)
http://yadi.sk/d/al17egJJ9e9D7
Но запустить не получается. Для начала хоть запустить настройку портов прописанные в функции в библиотеке
#include <Nokia2.h> #include <NokiaChars.h> void setup(){ Setup(); } void loop(){ }
на что компилятор выдает ошибку
Nokia1100_v3_test.ino: In function 'void setup()': Nokia1100_v3_test:36: error: 'Setup' was not declared in this scope
Просмотрел файлы библиотеки. Функция прописана. Знаю что какая то мелочь. Но незнаю куда точно копать
Может так?
нет. выдает ошибку
да и функции xlcd в библиотеке не нашел
да и функции xlcd в библиотеке не нашел
Потому что это не функция, а имя класса.
да и функции xlcd в библиотеке не нашел
Потому что это не функция, а имя класса.
ошибки перестал сыпать))) спасибо. буду пробовать дальше
прошил ардуину. на экране беспорядочный набор пикселей
есть ли смысл дальше мучать библиотеку или забить на нее?
Дисплей правильно подключен?
да все правильно. нашел код как хотя бы тест вывести этой библиотекой на иностранном форуме
там действительно класс объявлять надо (или как это правильно называется). а вот функция вывода вобще не как в библиотеке. похоже используется функция из print.h
работает))) позже проверю остальные функции. как все проверю выложу код может кому пригодится
Проверил функции. все работает
ну и код для примера 1 картинки
Момжно продублировать ссылку. Не работает, или сверните библиотеку сюда
http://yadi.sk/d/EaFCqVjvA7pZh
да чистил и удалил. еще раз выложил
Благодарю.
Что то теперь я не вьеду. Вы из пример #8 компельруете как есть? у меня чего то was not declared in this scope многовато.
Благодарю.
Что то теперь я не вьеду. Вы из пример #8 компельруете как есть? у меня чего то was not declared in this scope многовато.
да. даже для проверки откомпилировал тот же код в посте 8:
Скетч запускал с одной директории что и библиотека, не получилось. Поместил библиотеку в папку со скетчем, то же самое... Не видит файлов бибы
Теже проблемы с другими бибами на это lcd и на другие. Спрашивал как размещать папки, ответа не последовало.
P.S. пока вопросс снимаю, откомпелировал. Буду пробовать подключать.
Display.Update(); ??? чё за зверь? после него код не работает. Без него печатает как на фото но глючит напропалую... палочки - точечки
Display.Update() нужен для обновления экрана. когда выводите что то и это должно появится точно на дисплее используете эту команду
библиотеку как обычно кидать в папку libraries в папке ардуины иде. палочки точечки возможны просто перезагрузите ардуину через ресет если отключали питание
вот так должно выглядеть
Да, библиотеку так и расположил. Физня в том что или печатает нормально фигуры или текст (или значения переменных). Если в коде и то и другое, глюкает (((
Я с ,вашего позволения, выложу дополненый (*) или уточнённый список функций бибы
P.S. не нашёл инверсный режим
да. не использовал некоторые функции. спасибо что дописали
от себя добавлю
если обозвать класс например просто буквой G функции короче писать можно
а насчет глюка незнаю. у меня норм работает и такого не встречал
в смысле инвесный режим? инверсный режим дисплея целиком? или текста?
Да, я имел ввиду целиком дисплей, но в этой библиотеке он не актуален т.к. цвкт задаётся в каждой функции. можно просто цвет задавать двумя переменными и одновременно менять их значении, получиьтся то же самое.
Что то не могу я разобраться с этим .Update() lcd живёт своей жизнью. На колько я понял .Update() очищает память lcd. Не могу угадать куда вставлять.
вставляй его после всех выводов теста графики один раз
например я вывожу все цифры, пишу текст, рисую линию и прямоугольник и в конце все обновляю на дисплее
Бред какой то. Дисплей живёт своей жизнью. Точечки, палочки, хочет печатает, хочет, тупо молчит. Из вашего скетча (№8) выполняет только Display.print и всё. Пытаюсь вывести значение переменной - точечки/палочки... Попробовал другой экранчик на этом же контроллере. Один в один тоже поведение... Это уже четвёртая биба. Первые две ворбще не компелирует, третья только печатает текст, с этой тоже всё ясно. Пойду дальше искать.
странно. давайте начнем сначала. дисплей 1202?
как подключаете?
согласующие резисторы какие?
стабилизатор на 3.3В используете или внутренний?
просто у меня таких проблем нет. только бывает когда питание выключишь у дисплея, надо перезагрузить ардуину чтобы инициализация повторно прошла
Нет, дисплей 1100. Тема ведь так называется. Видимо я где то был невнимателен. Вот я и подключал 1100 и ещё один, идентичный только не на 9 выводов, а на 8. (в остальном не отличаются)
1100 тормоз и насколько я понял с 1202 он этим и рознится, что нужна задержка при передаче данных в контроллер дисплея. Где она корректируется, в библиотеке не нашёл.
Подключаю к Atmega 168 и витаю всё от 3,3в.
Хрень в том что по отдельности выводит всё (кроме значений переменных) а в куче глутомат получается
Жаль, библиотека достаточно функцианальная. У меня в ящике есть 1280 глючный(эквивалент 1202) выну дисплей как нибудь, есть чем запускать хотябы.
с 1100 не проверял. у них в принципе насколько помню чип один. еще можете попробовать 1110 или 1110i, если вы с москвы поделюсь одним не жалко. только паять тяжеловато. именно с 1100 не проверял. но проверю на днях. валяется один еще когда на пиках начинал баловаться. помню какие то дисплеи тормознутые, но какие не помню
Спасибо конечно, но я от Москвы далековато, я вобще из Украины. Если запустите эту бибу на 1100, поделитесь опытом, буду признателен.
думаю в выходные запущу и проверю. может заодно проверю 1110 на всякий случай
проверил 1100 с мегой 8. также как у вас. даже хуже. текст если только оставить то сначала мусор, потом воявляется на долю секунды текст и все. странно. 1202 подцепил к меге8 таже фигня. только текст не пропадает. тот же скетч на ардуине нано с 1202 прекрасно работает. позже подцеплю к нано 1100 и посмотрю
Подключение к нано 1100 паралельно 1202 ничего не дало. 1202 показывает, 1100 не показывает вообще ничего. странно
Хм, контроллеры то у них на сколько я знаю одинаковые.
Хм, контроллеры то у них на сколько я знаю одинаковые.
да. я не учел одного. возможно нельзя подключать их паралельно. позже проверю. два 1202 подключу паралельно и посмотрю что получится.
проводил тесты 1202 на меге8 на ввнутреннем генераторе. показывает текст либо немного графики: линия и треугольник с тестового. если добавить еще закрашенный круг то начинаются кракозябры: линие писксели, линии, от круга какая то полоса. но в нано и на меге 2 разных дисплея 1202. возможно второй у меня попорченный (уже раза 3 его перепаивал), первый только 1 раз паял на макетку. чтобы отсечь этот вариант поменяю их местами и посмотрю что будет. если дело не в дисплее буду дальше копать
как ни странно на нано или уно все прекрасно работает и такого замечено не было (1 дисплей 1202)
нано работает на частоте 16, я тоже загружаю в 168 от кварца на 16. 1100 и 1202 всёж немного отличаются. Другой библиотекой вобще не запустил 1100, даже пиксель не зажёг. Сказали она не под дуину писалась. У меня пока идеи закончились.
я сделаю может завтра макетку для меги 8
и проверю 1 дисплей сначала на нано (хотя и так работает), а потом к меге8
потом 2 дисплей так же
для второго сделаю макетку также. посмотрим что выдаст
Кварц прицепите. Больше вероятности успеха, да и 1100 повеселее будет, он и так тормозок, от внутреннего на 8,000 ещё медленнее будет.
кварца на 16 пока нет. есть на 12 и 20. да и нужно проверить конкретно без кварца
1202 дисплеи подешевели. стоят уже 30р/шт
http://shop.siriust.ru/product_info.php/products_id/16418?osCsid=57qc1kqhs3ek68rmcdck2hllv4
Ардуина имеет функцию shiftOut() которая выводит последовательно байт
Куски кода для библиотеки 1100
И пример кода на си для пика 628
Второй кусок кода если я правильно понял выполняет туже функцию, стоит счетчик от 0 до 7 и в зависимости от условия выдает 1 или 0 а потом производит сдвиг.
Я правильно понял или нет?
прикупил дисплеев 1202 20 штук)))) прозапас, вдруг пропадут из продаж
Правельно, если уж дешовые. У нас немного подороже, но вот только у меня их коробка всяких, а толку с гулькин Куй.
1202 у вас есть?
Да, 1280, один. ещё с телефона не доставал. Кстати не подскажете как без последствий аккуратно его отщепнуть?
незнаю. я не вынимал. но судя по разъему он из разъема просто вытаскивается, возможно еще пластинку на разъеме надо будет отогнуть. я уже травлю макетку ардуины на меге8 и новая макетка 1202. тащусь от лут на ламинаторе. 100% выход с первого раза. очень качественно. на утюге так ни разу не получалось. хоть и много раз делал. позже выложу фото. админы сори заранее за офтоп
1280 аналог 1202. пробуйте на обычной ардуине а не самодельной. должно работать. а вот на самодельных буду еще ломать голову как заставить
Там не разьём, "коннекшин" или приклеен электропроводящим или припаян. А на самодельной чем проще, напряжение накренил на 3,3 В на МК, и согласовывать не надо.
да. но магазинная точно рабочая и ты в ней уверен чтобы отсеять элементы которые могут сбоить. также отбросить переходник usb-uart например (мой периодически глючит) и тогда можно тестировать уже новое что нибудь. а если все новое неотработанное то начинает ловля блох в железе, это еще не считая ловлю блох в программе. зачем лишний гемор
поэтому отрабатываю на полностью рабочем и стабильном а потом уже перехожу на самодельное. это лично мое мнение, вы можете делать как хотите
вот и дотравилось. спаяю макетки буду проверять
плата местами черная потому что тонер при стирании ацетоном частично впитывается в текстолит и больше не стирается. это еще кисточкой. ватой еще хуже
Ну аккуратно, не спорю. Мне удобней фоторезистом. Я наверное тоже выну 1280 и на платку. Просто хочется травить под конкретный проэкт и зараннее расположить нужные элементы, а не просто для потэстить.
сделал макетку для 1202. проверил. можно одновременно подключать паралельно. изображение одинаковое
из старой партии подсветка розоватая, из новой бело-голубая
цифры милисекунд разные изза наводок. датчики не подключил, а скетч хронометра
тестирую дальше
Как вы прописали такой шрифт. Я нарисовал а всунуть не могу. И как прописать тут:
???
А выводить, как мне кажется, лучше поочереди.
какой такой? верхние цифры уже внесены. а большие как у семисегментного это не шрифт а залитый прямоугольник со скругленными сильно краями. шрифт такого размера много займет места, поэтому так и сделал. вот код. библиотеку замените на свою. это моя урезанная чтобы в мегу нормально влезало
Да и любой другой шрифт будет выглядеть неочень изза рубленных краев, поэтому оптимальнее для внешнего вида (правда только цифры) сделать так. на глаз намного лучше выглядит чем многие какие я попробовал
Кстати то что вы собираетесь править по коду поддерживается только шрифт 5х8 пикселей. если нужен большой придется библиотеку переписать
Что значит по очереди выводить? не понял
пусть контроллер выводит сначала на один, потом на второй. Лагов меньше будет или вобще не будет.
лагов никаких нет. ну а для того чтобы выводить на 2 дисплея придется библиотеку править. мне 2 дисплей не нужно. просто нужно было проверить возможно ли подключить паралельно
ну ясно