Бибилиотека LCD Nokia 1616 (SPFD54124B)
- Войдите на сайт для отправки комментариев
Пнд, 05/01/2015 - 17:44
Не могу добиться инициализации. Мусор есть, нормальной инициализации нет. Есть у кого библиотека?
Не могу добиться инициализации. Мусор есть, нормальной инициализации нет. Есть у кого библиотека?
Дописал библиотеку. Новая проблема. Подключаю к Arduino Nano V3, дисплей пересвечен, тянучки за цветными пикселями, странные полосы в пересвете. Библиотека написана на основе статей в интернете и библиотеки HX8340B. Всё вроде стандартно. Думал уровни высокие 5В, все шины кроме CS на ограничительный резистор ни как не реагируют. Как только по линии CS фронт сигнала падает ниже 4,5В - изо пропадает, но ближе к этому напряжению пересвет почти порпадает, появляется нормальный чёрный.
В чём я ошибся? Напряжение питания дисплея 3,3В. Перебрал 3 дисплея всё то же.
там и питание и сигналы все 3.3В. может попалил уже контроллер дисплея
http://yadi.sk/d/CXjuENmaEEwun
в папке дисплеи смотри. софтварный и хардваный spi для 1616
Легко мог спалить, эти дисплеи не живут долго если на них подавать больше 3.3в
Хардверный? Наверно все таки комбинированный потому как у атмеги нет 9ти битного Spi в железе
ну да комбинированный. первый бит софтварно. но остальное хардварно, поэтому гораздо быстрее
Вряд ли попалил. Инициализация есть, графику символы выводит, на команды реагирует. Пробовал новый дисплей запускать сразу через согласователь уровней, который сделал на 74LVC08- инициализации нет. Если линию CS пустить без согласования, то инициализация естьЮ но с такой вот какой. Ну соответвенно изо становится нормальным при снижении уровня сигнала CS.
Может дисплей на другом контроллере, либо с напряжениями при инициализации поиграть нужно?
JXD-SYXB006
WD-F1216XZ-6FLWd 4850266
S3159060003A0015S005
кстати я reset не использовал. ну вообще. вроде к 3.3В подключен. все управление по 3 пинам
Так же не использую reset
я проверил свой код на 2 дисплеях. не работает сам голову ломай
Возьмите мой код с радиокота в статьях. Чтобы исключить проблему согласования уровней запитайтн МК от 3.3в
Возьмите мой код с радиокота в статьях. Чтобы исключить проблему согласования уровней запитайтн МК от 3.3в
глядя на ваш код и дописывал библиотеку под графику Adafruit
питать от 3,3в пробовал в первую очередь, нет инициализации, данные бегут, проверял осцилографом
я проверил свой код на 2 дисплеях. не работает сам голову ломай
ваш код смотрел с ним работает так же как и с моим
значит пожгли немного контроллер дисплея. надо было сначала в интернете посмотреть что нужно согласовывать уровни
да то что согласовывать нужно я и так знаю, уже не один дисплей пробовал, начиная со второго через ограничительные резисторы 4,7Ком
3 дисплей сразу включал через логику И (что под рукой было), тоже нет инициализации. странная ерунда с этой линией CS, поеду за 4 дисплеем
ограничительные резисторы 4,7Ком
нужны не ограничительные резисторы, а резистивные делители
ограничительные резисторы это шаманство которое применили в ряде конструкций. но вот не факт, что именно 1616 выживет с ограничительным резистором
когда вы ставите ограничительный резистор вместо делителя, то по сути у вас возникает делитель между вашим резистором и внутренним входным сопротивлением контроллера. Откуда вы знаете какое там сопротивление? А если оно много больше 4.7ком и в результате на вход контроллера попадет напряжение выше нормы?
в тестах о которых я пишу в статье я применял резистивные делители, они там есть на схеме. А в устройстве которое я сделал МК питается от 3.3В. Так что могу утверждать что должно работать и так и так
1616 прекрасно у меня выжил просто с 4.7к. или 5.1к не помню)
1616 прекрасно у меня выжил просто с 4.7к. или 5.1к не помню)
ну хорошо) все равно шаманство)
знаю. просто трассировка с делителями неудобная)))
трассировка вообще не удобна)) мечтаю о большой толстой микросхеме в которой все соединения можно внутри запрограмировать, а не разводить
ПЛИС это уже большой шаг в эту сторону, но не совсем то
включил от 3,3В - нет инициализации
купил ещё один дисплей, включил сразу через 74LVC08 - нет инициализации
постепенно начал поднимать напряжение питание и дёргал резет на контроллере, включение с согласованием - нет инициализации
постепенно начал поднимать напряжение питание и дёргал резет на контроллере, включение без согласования - инициализация примерно на 4,3В, ближе к нормальной, но в пересвет в углах сохраняется и полосы
какой вывод?)))
что ж творится то)
порядок инициализации
0x01
0x11
0x13
0x3A 0xC5
0x29
как рерализовать чтение по SPI 9 bit 3 pin? хочется посмотреть может контроллер другой
В моей статье в конце есть ссылка на универсальную плату для дисплея нокия. В ней есть библиотека с чтением ID контроллера. Попробуйте прочитать. Еще рекомендую свою проблему описать здесь http://radiokot.ru/forum/viewtopic.php?f=61&t=78889&sid=bd6f4e0a31b3de5cc3a78866aa3be72b
NokiaSuperbreakout использует 4 pin spi как я понял :(
мало того, для этого контроллера параллельный интерфейс описан
странная инициализация. у меня такая.
параметры по умолчанию прописывать не обязательно
переустановил ардуино софт, снова переписал библиотеку, ещё раз 20 перешил и вдруг появилась нормальная инициализация - загадка
и ещё одна загадка следом, один раз из 10 смещение гаммы, в инициализации прописывать пробовал, не влияет
Здравствуйте. Подскажите, что за библиотеку вы используете?
Я кусок на чистом си нашёл, попробовал через STK500 управлять - тоже мусор. Пишут что можно по цвету шлейфа посмотреть какой контроллер стоит. У меня - зелёный шлейф.
Подскажите, как посмотреть начало темы, а то у меня только последние ответы отображаются.
Всем доброго времени суток. Пытаюсь запустить LCD nokia 1616 при помощи Arduino но всё тщетно инициализация не проходит, шума ни какого нет дисп молчит. На Bascom всё работает а под ардуиной нет. В качестве примера беру софтовый вариант по ссылке из этого сообщения.
там и питание и сигналы все 3.3В. может попалил уже контроллер дисплея
http://yadi.sk/d/CXjuENmaEEwun
в папке дисплеи смотри. софтварный и хардваный spi для 1616
Дисп цепляю на PORTB (ATMEGA16)
предполагаю что возможно ардуино криво компилит так как в ней нет готового варианта для ATMEGA16.
Но в тоже время примитив с миганием светодиода работает. Прошу направить нужное русло.
"На Bascom всё работает а под ардуиной нет" это один и тот же дисплей? точно пины не перепутал?
Всё один к одному.
Сейчас переткнул на хардовый SPI
Рабочий конфиг Bascom
Конфиг Arduino
Причём Ардуино в хард версии выдёт ошибку lvalue required as left operand of assignment
Вот в этот кусок
Попробовал поставить == в DISP_H = 128 и т д
компиляция проходит, в хард версии происходит сброс диспа, чего не происходит в софт версии.
Хотя оно и понятно на хард висит программатор
попробуй еще раз
Ошибка ушла, но дисп так и не завёлся. Вечерком попробую на atmega328.
Вот видео прошивки из Bascom и Arduino https://youtu.be/y5DQX5haNDA
на 16 меге может там пины другие, или pinmode не те пины на выход настраивает, я не проверял, не использую мегу16. если так то по даташиту посмотри где spi. и проверь наверно для начала 328 меге
Ситуация с мегой328 (arduino pro mini) аналогична. В Баскоме всё работает, а в ардуине нет :(
Сброс дисплея на хардовой версии происходит (светится белым).
дисплей подключил к arduino pro mini
Дисп 100% подключен верно так как в bascom аналогичный конфиг работает
вот что на выходе у баском по SPI
Это на выходе у Ардуины по SPI
странно. ни софтварный ни хардварный у тебя не работают. а ресет дисплея на +3.3В посадил?
да на 3,3. А если не сложно скомпилить и хекс сюда кинуть под aрдуино про мини 328 16mhz
в компиляторе выбираю атмега328 5в 16mhz может это проблема, согласующих резсторов нет, и ардуину запитал от 3,3в но в другой то среде всё работает. Мистика какая то.
https://yadi.sk/d/YpJEqiH4kC6yx
Прошивка не пошла :)
Но получил мусор на LCD оставив в коде только инициализацию.
А дальше при любых действиях получаю белый экранчик.
ну хз. у себя еще првоерить не могу. не помню куда дел дисплей
Здравствуйте. Тоже озадачился подключением дисплея от Nokia1616.
Имею: дисплей от Nokia, рабочий. Кит AVR STK500, AVR Mega16, много других МК от атмела. Также Аrduino 2009 + pro mini + 2560 + discovery. Макетка
Пробовал начать с Bascov-Avr. Но у него оф версия до 4-х кБ. ПОставил кряк, оказалось что вирус.
Поэтому сразу вопрос - подскажите где взять нормальный Bascom-Avr? Файл $lbx - это текстовая библиотека или что это? Как оттуда достать код для Си?
Есть также библиотека NokiaSuperbreakout но там надо чтобы на дисплее MISO был, а на моём нет. Поправил но не заработало.
Кому интересно, киидайте хексы или код буду компилить пробовать зашить. Или ошибки посмотрю если найду.
Посмотрел насчёт:
Function.ino:107:12: error: lvalue required as left operand of assignment
Правильно. Ведь в начале файла:
В файле function.ino надо:
Да и этот кусок:
у кого имеется лог анализатор или осциллограф проверьте как быстрее ногодрыг, так как работает и та и другая конструкция
"так как работает и та и другая конструкция"
Киньте пожалуйста код, чтобы проверить. Есть и ардуины и STK50 для меги16.
Куда какие разъёмы цеплять?
Осциллограф есть. Хороший.
STK500 т.е.
Смотрю код который ARDUINO_SOFT. Несоответствие:
на нормально там все. тестил же. просто на выход настраивал не черзе ddrb а через pinMode. мудрено выгядит, но как говорится я художник, я так вижу)))
хорошо 11 пин. прошу отвечать также вариант - частота
1 вариант:
2 вариант
3 вариант заодно
4 вариант (урезанная digitalWrite)
5 вариант. максимальная частота spi. смотреть 11 и 13 пины
пока хватит
Как я понимаю, речь идёт об SOFT версии?
Попрбобую на ардуино2560, там есть переключение на 3.3 В.
Какие разъёмы куда цеплять? Если можно в терминах ардуино или для PORTB.
нет. обычная уно например. и без дисплея. просто осциллографом посмотреть
так в самом начале написал 11 пин ардуины. в последнем коде еще 13