Дисплей 128x64 на контроллере ST7920
Vložit
- čas přidán 6. 09. 2024
- Группа ВК: electro...
Инстаграм: / electronics_in_focus
Исходник проекта для AVR (IAR): bitbucket.org/...
Исходник проекта для STM32 (IAR): bitbucket.org/...
Ссылки на товары:
Дисплей 128x64 на контроллере ST7920: ali.ski/5Y5lkU
Спасибо, за обзор и урок :)
Отдельное спасибо за исходники в AVR и STM32.
Да не за что ;)
+Гасан Аликберов смотрите внимательнее. Кириллицы нет в текстовом режиме. В графическом - можно выводить что угодно
Спокойной ночи друг, я пишу вам с Кубы, чтобы сказать, что вы сняли хорошее видео, я действительно не говорю на вашем языке, но если я использую переводчик Google, я пишу, чтобы спросить вас, возможно ли это Чтобы два ЖК-дисплея работали, первый - это модель 160x32 160321v, другой - wgm-12832, последний я нашел информацию в Интернете, я хотел бы знать, могу ли я запустить его с картинки, например, 16f887, или тот, который не обязательно является ардуино, вы можете мне помочь?
@@rnadyrshin можешь подсказать, такой дисплей используется в приборной панели flash 2?
Не обязательно использовать ножку PSB в этом варианте дисплея ( если вы конечно не используете два режима по переменно) , так как на самом дисплее можно задействовать перемычку JP2 , замыкая средний контакт на "S" или "P" у вас и будет или SPI или Parallel . Видео ваше снято хорошо и очень доходчиво.
о, спасибо, не знал
Максимально удобнопонятно объяснено в отличном формате и структуре подачи инфы, подписка лайки
Very good tutorial - even if i had to use the subtitles :-) Thanks for sharing your knowhow!
Объяснили очень доступно.
По моему ты единственные кто нормальный пример 12864 под stm32 с аппаратным SPI выложил, втч с irq/dma режимами. Спасибо!
Сколько попадалось, у всех самопальный софтовый SPI в блокирующем быдлокоде, в for циклах, на gpio ногдрыге :(( Ардуринщики иопаные....
Не доводилось LVDS дисплеи к stm32 подключать ? 7-10 дюймов 1280*720 LVDS стоят 600-800р !, когда те же 7-10дюймов под FMS/RGB стоят 2000-3000р :((
Не понимаю ST, почему до сих пор LVDS интерфейс не сделают, это снизит стоимость проектов с их контроллерами в ~4 раза !
В STM вроде и есть HDMI (уже бы было проще), но во всей сети не видел ни одного примера, проекта, или намека на его использование кем то...
Из видео я узнал даже то что мне знать и не нужно было, но раз так вышло тогда хочу знать зачем нужен умножитель напряжения?
Вон оно как, понятно что не чего не понятно. Не фига не понял, но очень интересно😂
Благодарю за обзор! Меня самого крайне насторожило описание последовательного протокола, и бит RW в частности) Более того, я решил прикрутить u8g к проекту на STM32 (HAL), а там последовательный протокол для 7920 вообще недопиленный, не считая того, что сама по себе библиотека для ондулино заточена, и для фирменного контроллера, не для китайского. Так что кто будет повторять мой опыт - надо следовать даташиту, и прибудет счастье
На резисторах в посветке написано 680, это означает 68 Ом но ни как не 680 Ом. Два параллельно, получаем 34 Ом.
Его можно подключить к ардуино по i2c через переходник?
Parabéns muito bom...Vendo o vídeo aqui no Brasil. Very good, thanks for this video.
Как кую плату стм взять лучше всего для прототипирования?
Здравствуйте! Не могли бы вы показать как подключить такой дисплей к плате ESP 8266 node mcu
Очень полезно, особенно про SPI, нигде об этом не нашел информации, только тут. Спасибо
А можно разъяснить, по поводу отсутствия miso в SPI, какие данные можно снимать с дисплея и для чего?
Да незачто)
По SPI чтение не доступно, потому и MISO нет.
По параллельному интерфейсу можно читать флаг занятости контроллера (иначе приходится делать паузу на время его занятости с некоторым запасом) и данные из областей памяти st7920 (буфер кадра например вычитать).
я правильно понял что если использовать ДМА для отправки целого видеобуфера по SPI нужно зарезервировать порядка 4кБ оперативки? (раз SPI отправляет 3 байтный пакет ради одного байта на экран)
Спасибо огромное, спасли мне кучу нервов.
Если есть повышенное напряжение на плате жк индикатора, то это для того что бы при низком напряжение питания то есть 3.3в можно контрастность выставить через добавочный резистор.
добрый день, поясните пожалуйста что вы имели в виду? у вас есть идеи как решить проблему с контрастностью при питании от 3.3v ?
Здравствуйте. Подскажите какой oled дисплей подойдёт для замены lcd2004 16pin
а что с логическими уровнями? подключил к 5в и на входах spi 5в... к esp уже не подключишь. на 3,3в текст почти не читаем.
Логический уровень 3v3, толерантный к 5. Питание тоже должно быть 3v3, скорее всего нужно подстроить контрастность на 3v3.
Как прочитать бюзи флаг BF, а то пробую запустить ст7920 с предложенной программой, но результата нет. Может тайминги в delay_us и delay_ms не те, и как их подбирать. Можно пробовать бюзи флаг проверять вместо задержки.Можно напрямую соединить вывод с LCD и PORTD.7(на вход и в каком то высокоимпедансном состоянии) и читать бюзи флаг? Если включить подтягивающий резистор PORTD.7=1 то при BF=0 ток ограничивать нужно или пусть горит.
void busy_flag(){
RS=0;
RW=1;
PORTD.7=0;
DDRD.7=0;
while(PIND.7==1) ;
PORTD.7=0;
DDRD.7=1;
}
Вот такая модификация дисплея 12864BV2.0
Как легко вы запаяли!!! Какая температура паяльника была? Что за флюс? И какой припой?
Доброе время суток. Можно дисплей 128x64, подключить через MCP23017 ? К мега 2560
Есть дисплей МЭЛТ12864А на контроллере х.з. каком (вероятно KS0107,08). Так вот достал я его сдул пыль и жутко обломался - там нет SPI только параллель. Как его присматрячить к STM32? И вообще, долго он пылится, нужно просто тупо на нем сделать погодную станцию, да отдать братану. Пусть созерцает))
Подскажите как подключить графический дисплей PG12864-N на контроллере LH155BA5 по SPI . какие пины дисплея использовать ,CS=CS,.MOSI =WR , ?? -SCK. На этом дисплее (согласно дата шиту) выходы SCL и SDA это подключение по I2C ? Заранее благодарю .
скажите у дисплея питание 5 вольт логические уровень у STM103xxx 3.3в ? Можно использовать SPI на мк с дисплеем не нужно драйвера уровня делать ?
Добрый день. У меня просьба. Могли бы Вы выложить скетч как выводить кириллицу на дисплей ст7920. Спасибо.
0:40 Тут ты не прав, текстовый режим очень полезен! Да и кому нужна кириллица в приложениях ?!, это редкость.
Обычно то выводишь цифры и лат сокращения, а в 12864 в тексте влазит куда больше текста, чем на 2004 !
Да и дисплей хорош тем, что имеет "промышленный" вид. Кого удивишь цветным LCD ? :)) (у заказчика обывателя реакция - "да ну, это же смартфон, подумаешь...") :))
у меня не показывает текст, разные схемы пробовал, подсветка есть, хеллоу ворлд нет
Спасибо,многое прояснилось.А где можно 'достать'описание на данный дисплей?
С какой частотой работает spi stm32? Возникла проблема, дисплей отказался работать на частоте больше чем 60kbit
Здравствуйте, может кто в курсе назначения и номинала конденсаторов с6-с8? На моём дисплее их нет, также как и на подсветку стоит один резистор на 30 Ом. Вот и думаю, может стоит немного допилить паяльником?
Кто-нибудь занимался этим проектом для msp430?
Спамибо за видео!
Большое спасибо за видео. Мне сейчас предстоит задача подключения дисплея RG12864. Необходимо выводить как и текст так и графику. Подскажите где искать информацию о графическом интерфейсе? Буду очень благодарен.
Как актевировать текстовый генератор ? Скиньте пожалуйста ссылку на инфу
Здравствуйте!
А как для него меню делать?
Сними, пожалуйста, как выводить анимацию на дисплеи, картинки всякие, рисовать интерфейсы: кнопочки, значки, пункты меню и т.д.
А зачем, что то читать с дисплея?
И что там можно вычитать?
может надо подкрутить контрастность что бы не выцветал так сильно
Можно ли к нему подключить iis адаптер от текстовиков ?
Подскажите пожалуйста как использовать эту библиотеку через ArduinoIDE? как ее поставить и использовать ?
Просто я только начал изучать STM32 и кеил и тд, и для меня там очень все сложно, ардуино гораздо понятнее
, упрощеннее
К сожалению ее не получится использовать в Arduino ide. Ее нужно туда портировать, для начинающего слишком сложно
@@rnadyrshin Жаль, а то дисплеев много таких, а скетчи большие и библиотеки занимают почти все место, сделал меню и место закончилось, пришлось многое урезать.
А разобраться как писать библиотеки так и не научился
@@rnadyrshin А вас как-нибудь попросить можно это сделать ?
Блин, няшный дисплей. )))) Разрешение маловато тока ((((
Можно ли к нему припаять I2C модуль дисплея 1602. Или для него есть специальный переходник...
Спасибо.
Можно. К любому дисплею с синхронным интерфейсом можно подключиться через GPIO-расширители типа PCF8574. Но скорость обновления экрана уменьшится раз в 20
@@rnadyrshin Экономия пинов того стоит
Спасибо за урок! Что значит в заголовочном файле st720.h " #define ST7920_Data_Shift 0 // Битовый сдвиг параллельной шины влево по порту МК"
Если вы подключаете линии данных начиная с бита 0 порта, то сдвиг = 0, если с бита 1 - то сдвиг 1, если с бита 2, то сдвиг = 2 и т.д.
@@rnadyrshin Объясните пожалуйста что это за сдвиг и зачем он нужен? Просто насколько я понимаю в 4-х битном режиме байт данных или команда передаются так-сначала старший полубайт, а потом младший. А тут сдвиг какой то. Можете объяснить?
Спасибо за ролик 👍
Подскажите, в какой программе генерировали шрифт?
Спасибо за ролик, но не понял где брать скейч
Если сильно туплю, не сердитесь. Я не программер.
Во-первых, по ссылке в описании
Во-вторых, ты явно не "программер*, если вообще используешь это слово и говоришь "скейч" вместо "скетч"
@@enchart так я и не понял, где скетч INO для загрузки из ардуиновского софта, а не AVR?
подскажите что за девайс к которому вы подключаете LCD. не могу разобраться, как дисплей подключить к DFRduino RoMeo V1.0 (atmega328p ). Какая плата ( ДатаШит) у вас? . Пытаюсь найти точки входа для своего варианта. Не могу понять куда кидать RS(CS),RW(MOSI), E(SCK). Две последние ,мне кажется , я нашел у микросхемы, а вот первая для меня загадка(предполагаю , что 5V )...
Это STM32
проект на атмел студии не открывается
Я что то не понял а к какому питанию дисплей подключили? Он ведь на 5 вольт а STM32 на 3.3. Если у каждого свое питание то как согласуются логические уровни . Или дисплей подключен к входам МК толерантным к 5 вольт ? Как то автор пропустил этот момент. Хотелось бы услышать ответ. Подробно видео не смотрел, может там об этом упоминалось. И еще один вопрос, может автор или кто из тут присутствующих покупал на алиэкспресс LCD модули чтоб там была прошита и кирилица? Если есть такие, дайте ссылку пожалуйста.
Дисплей пришлось запитать от 5В, т.к. при питании от 3.3В не удаётся выставить контрастность. Вообще планировал ставить преобразователь лог. уровней, но на практике дисплей стабильно заработал с 3.3В логическими уровнями STM32, поэтому оставил подключение напрямую. Чтение из дисплея не используется.
Насчёт дисплеев с кириллицей - я таких не встречал, самому интересно.
а для чего нужны исходники, и что с ними делать?... извините заранее.. я начинающий))).. паяю с детства.. но программы... это пока еще лес... но хочу ослик сделать на ардуинке.. дисплей 128*64 лед.. такой же .. помогите пож..ста!.. заранее благодарен за понимание..
При всём уважении, осциллограф это слишком сложно для начинающего. Лучше для начала повторите какой-нибкдь готовый проект. А исходники, которые я выкладываю, открываются в IAR и там компилируются в прошивку
Супер!
резисторы отграничения тока не 680 Ом, а 68.....)))
А что со светом? Это сьемки из рая? :)
Эти исходники написаны вручную? Там нереально много текста. А откуда на индикаторе русский текст если китайцы его не прошивают?
Кириллицы нет в текстовом режиме, а в графическом - рисуешь что хочешь.
Ну исходники не очень большие как по мне)
А про яркость картинки - это работа фильтра в фотоаппарате. Уже много раз порывался его отключить, но в итоге всё равно включал, т.к. картинка получается лучше. Без него картинка жёлтая и тёмная (лампы у меня теплые). А вообще освещение пора усовершенствовать.
Есть там и кириллица ))
Вообщем
цитата из своего драйвера для avr))
HCGROM- ПЗУ шрифты 16х16 , если сначала отправить (ST7920_DATA) в дисплей число от A0 до А9, а затем второе число от 00-7F. будут символы)))
А7- это кириллица,
А1- различные символы
А2- цифры с точками и т.д.
А3- английские 16х16
А4- китайский
А5- японский
А6- греческий
А8- не помню)))
А9- рамки для таблиц
Руслан, а если к этому дисплею подключить I2C адаптер для графического LCD. Примерно такой www.yourduino.ru/product/i2c-adapter-dlya-graficheskogo-lcd-ekrana-128x64 , то в каком режиме будет работать LCD?
Фиг библиотеку найдешь. уже месяц ищу.
Я понимаю что вопрос чайника, но все же. Пытаюсь написать код на СИ для LCD - AVR, вроде казалось вопрос избитый но как оказалось хороший библиотеке рабочей нет, то распиновка не подходит, всякая фигня в виде ошибок или вообще не работает. Читая всякие сайты я не смог понять как происходит передача числа из переменной если значение более 9. В памяти lcd нет числа 124 или 234 значит либо это происходит программно или аппаратно в самом lcd. Но судя из того кода в библиотеках которые я смог найти и понять, идет просто отправка байта, значит это происходит аппаратно в lcd?
Выводить числа и текст на графический дисплей - задача текстового генератора. Он может быть встроенным в контроллер дисплея (ему передаются коды символов) или программным в прошивке МК (в контроллер дисплея передаётся массив байт, представляющий собой графическое представление символа).
Разбиение чисен на цифры делается при подготовке перед выводом, обычно это завернуто в строковых функциях форматированного вывода текста из стандартной библиотеки си (printf, sprintf и т.д.)
Спасибо, Буду копать в эту сторону
Здравствуйте может ваш код под атмел студию.
А его можно к ардуино по I2C подключить? переходник подходит?
такой подходит для 1602, 2004, 12864 ru.aliexpress.com/item/32882288541.html?spm=a2g0o.cart.0.0.40c93c00hdBmtL
@@nighthunter28 Здравствуйте, это точно подходит?
что за музыка в интро
В ютюбе красиво, пытаюсь перенести вашу красоту в хал, на Ф4. кошмар. а там все функции нужны? и дма и в прерывании да?
Нет, используется только поллинг регистров. Ни DMA, ни прерывания не используются. Посмотрите какие функции вызываются в st7920.c
Запустил на ф4 дисплей в хале и хочу поделиться проектиком он конечно тупокопипастерный и на всяких вешалках но экран светится. Проблема такая. хотел микросекунды таймером Т6 но как ни выковыривал ежа из черепашего панциря чёта не пошло. значения в тиках считал но пришлось подбирать всё равно тыком. Помогите разобраться с Т6 ну и выкладывайте под своей редакцией. Экран конечно замануха но надо расти и отправлять данные на планшет и через jquery управлять. Вот такую идею задумал yadi.sk/d/2QJDVSnD38YShQ фото yadi.sk/i/fpAG6HHZ38YVxE
Совместим ли с ардуино уно р3?
Аппаратно - да, с любым микроконтроллером совместим.
Как его включать и выключать программно, кто-нибудь знает?
Лень даташит открыть? Google>ST7920 pdf> Instruction set 1: (RE=0: basic instruction) > DISPLAY
ON/OFF
Такой вот вопрос интересует, почему Вы пишите на СПЛ, а не на ХАЛ? Все говорят мол надо ХАЛ учить, но пишут на СПЛ. ХАЛ более громоздко, но намного быстрее сгенерировать код в кубе, чем на СПЛ писать.
За видео спасибо, всё рассказано и показано и даже исходники есть.
Исторически сложилось так, что я выкладываю одинаковые проекты для STM32 и AVR. Но в реальности я отлаживаю код только на STM32, а потом переношу его на AVR и просто проверяю, что ничего не сломалось. И это мне сделать очень легко, потому что у меня свой HAL (универсальный для STM32F1 и AVR) и затачиваться под HAL STM мне просто бессмысленно.
Электроника в объективе всё ясно, спасибо за ответ.
"для инициализации дисплея необходимо дернуть ножку RESET вниз, потом вверх и выдать последовательность команд 0×30, 0×01, 0×06, 0x0c" -- где это в вашем коде?
Вся инициализация дисплея в процедуре ST7920_Init() и вызываемых из неё функциях
ну я то это понял, вижу что откуда вызывается. Но там нету записи 0×30, 0×01, 0×06, 0x0c команд. там другие команды у Вас. Точно этот код демонстрируется на видео?
смотри макросы
Какой серьезный совет_)))))
Не переживайте, я дисплей уже давно подключил. Но код пришлось поменять (в частности инит). Хотелось бы только понять это подстава такая или недоразумение?
Пайка хорошая, какой флюс используете, и жало удобное))
hi how i can have source filo of projects
?
bitbucket.org/nadyrshin_ryu/st7920_avr/downloads/
Скиньте пожалуйста даташит.
А что это за черточки в массиве?
// Таблица содержит латинские и русские символы (cp1251) и большинство спец. символов
// Первые 2 байта символа - ширина и высота (для моноширинных шрифтов - константы)
const uint8_t f10x16f_table[f10x16f_NOFCHARS][32 + 2] = {
// 0x00
{
2,
f10x16_FLOAT_HEIGHT,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________}
// 0x01
,{
2,
f10x16_FLOAT_HEIGHT,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________,
________,________}
// 0x02
Это константы такие, определены с помощью define. Нужны они просто чтобы можно было в исходниках понять как будет выглядеть символ.
Понятно. А функции вывода изображения нету? Оцифровал рисунок и в массив
Не эта ли это функция? Влюбом случае- как ее использовать? Можно примерчик?
// Процедура заполняет буфер графического режима дисплея в соответствии с буфером pBuff
void ST7920_DisplayFullUpdate(uint8_t *pBuff, uint16_t BuffLen);
Вобщем вывел я изображение на весь экран,оцифровав программой LCDAssistant
Нет, такую функцию я не реализовывал
А можно попроще, просто пару букв на дисплей вывести, и без этих выкрутасов типа avr и stm32 - в обычном ардуиновском софте, в виде INO-файла???!
Я вообще прошивку найти не могу у меня страницы не найдены (404)
Не копируйте ссылку, а просто переходите по ней
Ссылки на исходники рабочие
Люди добрые помогите подключить этот дисплей к esp 8266
Can you send me project to learn. Thank!
you can download it by link in video description
А існують більш-менш просунуті дисплеї (хоча б десь як у атаріка)?
в AtmelStudio всё компилируется четко, но Ваши шрифты выводят всякий бред. что захерня не понятно
Толку в нем нет! Разве что не дорого потренироваться!
а какой от него должен быть толк, по-вашему?
@@SaLaGaDH Никакого!
@@samdrink7185 впечатление что вьі случайно на этот канал забрели
@@SaLaGaDH Я, такой индикатор первый раз натурально увидел 2006г. на выставке оборудования в швейцарском твердомере, это было -да! Мы тогда выпускали торговые весы в которых стоял на ноге двусторонний дисплей с 36 знакоместами. (семисегмент. кингбрайтен) Не нужно меня тянуть за язык. У этого ЛСД угловой обзор и поляризация до ЛЕД дисплеев или ОЛЕД не дотягивает. Графика нужна только тогда ее контрастно видно и читать не нужно. Этот дисплей для потуг ардуинщиков что бы на спайсы не сели!
Ссылки поправьте я дизлайк уберу
Мне лайки и дизлайки погоды не делают.
Ссылки рабочие
нда, прикол.. пахнуло кое-чем