Jlx12864g 086 подключение к ардуино

Jlx12864g 086 подключение к ардуино

В продаже встречаются два варианта дисплеев, со встроенным потенциометром (крутилка для регулировки контраста) и без него.

На дисплее потенциометр выглядит вот так:

Маркировка контактов на дисплеях может различаться, но расположение одинаково для всех:

Vss или GND — GND.
Vdd или VCC — 5 вольт.
Vo — потенциометр.
D/I или IRS — пин 12 (ардуина).
R/W или IR/W — пин 11 (ардуина).
E или IE — пин 10 (ардуина).
CS1 или PSB — GND.
A или BLA — 3.3 вольта (подсветка дисплея).
K или BLK — GND (подсветка дисплея).

Пины ардуины можно использовать любые.

Подключение дисплея с встроенным потенциометром:

Без встроенного потенциометра:

Потенциометр можно использовать любой от 2кОм до 20кОм.

Скачайте и установите библиотеку u8glib, и запрограммируйте в ардуину скетч:

U8GLIB_ST7920_128X64 u8g ( 10 , 11 , 12 , U8G_PIN_NONE ); // настройка пинов

int val = 2015 ;
char val_to_char [ 5 ]=< 0 ,>;

void setup ()
<
u8g . setFont ( u8g_font_6x10 ); // Выбор шрифта
>

void loop ()
<
sprintf ( val_to_char , «%d» , val ); // функция sprintf переведёт число в строковый массив

do
<
u8g . drawStr ( 2 , 10 , «cyber-place.ru» ); // выведет надпись cyber-place.ru
u8g . drawStr ( 2 , 27 , val_to_char ); // выведет число 2015
>

Выбор шрифта в файле (из библиотеки) utility/u8g.h.

Находим блок /* font definitions */, копируем строку в кавычках и вставляем её в void setup().

.
/* font definitions */
extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5 [] U8G_FONT_SECTION ( «u8g_font_m2icon_5» );
extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7 [] U8G_FONT_SECTION ( «u8g_font_m2icon_7» );
extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9 [] U8G_FONT_SECTION ( «u8g_font_m2icon_9» );

extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4 [] U8G_FONT_SECTION ( «u8g_font_u8glib_4» );
extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r [] U8G_FONT_SECTION ( «u8g_font_u8glib_4r» );

extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r [] U8G_FONT_SECTION ( «u8g_font_6x12_75r» );
extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r [] U8G_FONT_SECTION ( «u8g_font_6x13_75r» );
.

Источник

LCD 128×64 — Arduino

Подключение монохромного дисплея 128×64 к Ардуино.

Схема подключения

В продаже встречаются два варианта дисплеев, со встроенным потенциометром (крутилка для регулировки контраста) и без него.

На дисплее потенциометр выглядит вот так:

Маркировка контактов на дисплеях может различаться, но расположение одинаково для всех:

Vss или GND — GND.
Vdd или VCC — 5 вольт.
Vo — потенциометр.
D/I или IRS — пин 12 (ардуина).
R/W или IR/W — пин 11 (ардуина).
E или IE — пин 10 (ардуина).
CS1 или PSB — GND.
A или BLA — 3.3 вольта (подсветка дисплея).
K или BLK — GND (подсветка дисплея).

Пины ардуины можно использовать любые.

Схема подключения дисплея с встроенным потенциометром:

Схема подключения дисплея без встроенного потенциометра:

Потенциометр можно использовать любой от 2кОм до 20кОм.

Ардуина

Скачайте и установите библиотеку u8glib, и залейте в ардуину нижеприведённый скетч:

Для выбора шрифта необходимо обратиться к файлу (из библиотеки) utility/u8g.h.

Находим блок /* font definitions */, копируем строку в кавычках и вставляем её в void setup().

Координаты начала строки устанавливаются в функции u8g.drawStr(2, 10, «istarik.ru»);, первая цифра — отступ слева, вторая — отступ сверху.

Вот и всё )))

Вступайте в Telegram-группу Arduino

Источник

Arduino.ru

Подключение дисплея GMG12864-06D на ST7565R

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Да, буфер на половину экрана, а не половина буфера на экран.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

khusamov, судя по маркировке, Ваш дисплей имеет разрешение 128*64 пикселя. А, судя по занимаемому библиотекой объему, используется экранный буфер (ничем другим объяснить расход более 1000 байт нельзя). Так вот, OLED дисплей, который здесь упоминается, имеет такой же по разрешению экран и такую же (или очень сходную) организацию видеопамяти. Но гораздо более распространен, чем Ваш. Поэтому Вам и посоветовали воспользоваться наработками именно для него.

Я понял. Но это пока не реально сделать. О чем собственно и написал выше.

По поводу половины буфера спасибо! Сейчас посмотрю что можно сделать в этом направлении.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

По поводу половины буфера спасибо! Сейчас посмотрю что можно сделать в этом направлении.

Там можно сделать даже не «половину буфера», а подвижный буфер на фигура+одна_ячейка. Т.к. самая длинная фигура занимает 4 ячейки, то буфер можно сделать на 5 ячеек в высоту и отображать на экран только его, т.к. в остальных местах экрана будет сохраняться неизменное изображение.

PS. Заказал себе сегодня такой дисплей — попробую с ним немного поковыряться.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Там можно сделать даже не «половину буфера», а подвижный буфер на фигура+одна_ячейка. Т.к. самая длинная фигура занимает 4 ячейки, то буфер можно сделать на 5 ячеек в высоту и отображать на экран только его, т.к. в остальных местах экрана будет сохраняться неизменное изображение.

Опять вы за свое. Понятное дело, если свою библиотеку писать, то можно хоть черта в ступе сделать. Вот дайте ссылку на библиотеку с подвижным буфером? ))))

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я, честно говоря, не понимаю Вашей мотивации.

Если хотите научиться программировать, то написание своей библиотеки — один из лучших вариантов.

А если Вам просто нужно готовое устройство — проще всего заказать прошивку в разделе Ищу исполнителя.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я, честно говоря, не понимаю Вашей мотивации.

Если хотите научиться программировать, то написание своей библиотеки — один из лучших вариантов.

А если Вам просто нужно готовое устройство — проще всего заказать прошивку в разделе Ищу исполнителя.

Я уже несколько раз написал что мне нужно (в двух постах ранее описывал что конкретно нужно). Из того что вы перечислили ни то, ни другое не нужно.

Я когда помогаю по реакту новичкам, то не заставляю сразу сходу писать низкоуровневые библиотеки. А предлагаю конкретные решения. Не хватает ОЗУ, вот пожалуйста, можно выкрутиться так и сяк. Покажу конкретную страницу документации в библиотеке где описано то что требуется. Ведь многое для новичков не очевидно. Предлагаю краткие куски кода, как я ранее решал эти проблемы.

А вы сразу — пишите свою библиотеку и точка. Шаг влево, шаг вправо — сразу расстрел.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

В общем по поводу половины буфера спасибо! Кое-что на эту тему в документации нашел. Завтра опробирую.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Я уже несколько раз написал что мне нужно (в двух постах ранее описывал что конкретно нужно). Из того что вы перечислили ни то, ни другое не нужно.

Вот специально просмотрел всю тему, начиная с первого поста, но из того, что Вам нужно, нашел только один конкретный вопрос в сообщении №31 — как включить подсветку? И, вроде, этот вопрос был решен (судя по сообщению №33).

Далее идут туманные рассуждения, якобы маловато остается памяти. Но эти рассуждения не подкреплены никакими аргументами. В самом деле, почему Вы решили, что 250 байтов для Тетриса это мало? Я, вроде, привел оценки (в сообщении №39), что этого более чем достаточно. Никакого вразумительного возражения с Вашей стороны не последовало, были отмечены лишь Ваши сомнения (немотивированные) и замечания, что нужно еще хранить счет (это максимум 2 байта) и обрабатывать джойстик (еще 1-2 байта). Куда Вы собираетесь потратить еще целых 250 байтов?

Я когда помогаю по реакту новичкам, то не заставляю сразу сходу писать низкоуровневые библиотеки. А предлагаю конкретные решения. Не хватает ОЗУ, вот пожалуйста, можно выкрутиться так и сяк.

Так ведь Вам и было предложено конкретное решение — начать проектирование с оценки объема требуемой памяти и ее распределения (сообщения №42 и №46). И это единственный разумный совет в данном случае.

А вы сразу — пишите свою библиотеку и точка. Шаг влево, шаг вправо — сразу расстрел.

Насчет «писать свою библиотеку», вероятно, такой подход и просвечивает в моих сообщениях, но лишь потому, что я опираюсь на собственный опыт: как правило, когда я начинаю ковырять какую-либо библиотеку, оказывается, что мне не нравится, как она написана и появляется желание переписать все с нуля. Но вообще речь шла о том, что в любой существующей библиотеке надо добавить одну переменную и внести изменения в 2-3 функции, чтобы обеспечить ее работу с «подвижным» буфером.

Но в любом случсе:

— работа с любым проектом начинается с проектирования,

— один из первых этапов проектирования — оценка требуемого объема памяти,

— а для этого нужно заранее расписать, сколько памяти на какие переменные необходимо выделить.

Без этого — никак.

Я ведь спрашивал Вас, куда уходит память. Вы мне не ответили.

А на мой взгляд, память в тех примерах, о которых Вы говорите, распределена примерно так:

— около 1040 байт использует библиотека,

— около 700 байт использует скетч,

— около 300 байт остается свободными.

Т.е. если Вы вибросите те 700 байтов, что использует скетч, и вместо них разместите свой тетрис, то памяти Вам будет вполне достаточно.

Источник

Arduino.ru

Подключение дисплея GMG12864-06D на ST7565R

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Помогите подключить дисплей на ST7565R

ТТХ:

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

залазим в комменты и видим что подключается 5 пинами (кроме питания)

в библиотеке они определяются как /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8); только что куда подключать?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Во первых, мусью, представьте ссылку на библиотеку и Ваш контроллер. Во вторых — прочитайте про SPI — там как раз пять — «дата туда», «дата обратно», «синхро», «признак передачи», «выбор устройства». Кстати MOSI и MISO могут быть в полудуплексе.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

«представьте ссылку на библиотеку»

на контроллер выше писал

пины расписаны на 20 стр., но там нет таких обозначений, как на плате

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Нашел в faq, что dc пин часто обозначается как rs

rse пин, судя по схеме — это просто ошибка, должно быть rst

clock это скорее всего scl

осталось найти пин data, причем если использовано 5 пинов с конца платы, то остается только si

пойду включу паяльник

upd: картинка появилась, но сдвинута на 3 пикселя и шрифты отзеркалены. В библиотеке есть функция flip, но не помогает

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Запустил уже в новом году, библиотека u8g2

работает через настройки для U8G2_ST7565_ZOLEN_128X64_F_4W_SW_SPI u8g2

но надо выставить контрастность u8g2.setContrast (80);

русские ищутся по названию cyr в имени шрифта. Памяти только жрет много, в меге 18 процентов динамической отьело сразу ( с двумя добавленнми шрифтами)

Тему можно закрывать.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

А кто подскажет как запустить ее на тестере маркуса ESR метре транзистортестере ?

Там задействовано меньше линий и названия не те.

В скетче FPS написано раскоментируйте строку конструктора, я раскоментировал и получил ошибку.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Как ошибка переводится?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

сообщает что ожидается закрывающая кавычка но ее не появилось до ;

Я уже увидел, причем здесь.

В среде цвета вырви глаз ничего не видно нормально.

библиотека чрезмерно большая и кто-то делал без зацикливания ?

Кстати на тестере маркуса сносно запускается вариант: U8G2_ST7565_ZOLEN_128X64_F_4W_SW_SPI

Можно использовать как заготовку для поделок :)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

В ней есть какой-то «чисто текстовый режим». А «зацикливание» — экономит RAM под буфер. Без этого ещё меньше ресурсов остаётся.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

сообщает что ожидается закрывающая кавычка но ее не появилось до ;.

Ух ты оказывается это кавычка! А я её скобочкой называл :-(

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Эти дисплеи только в режиме записи работают ? Внутреннюю память контроллера считать нельзя ?

Я думаю что мешает просто записать на дисплей текст как в 1602 текстовый и все, у него че конденсаторная память и все забудет если не обновлять ?

А еще вопрос есть ли в библиотеке опция переворачивания изображения, у меня получается тестер маркуса наоборот надо переворачивать. ((

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Еще вопрос, кто-то запускал скетч iconmenu ?

У меня на экране вообще ничего не отображается.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Библиотека всегда использует буфер в RAM ?

Почему нельзя просто передать в память экрана содержимое моей переменной строковой ?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Тут же написано черным по белому:

U8g2 also includes U8x8 library. Features for U8g2 and U8x8 are:

  • U8g2
    • Includes all graphics procedures (line/box/circle draw).
    • Supports many fonts. (Almost) no restriction on the font height.
    • Requires some memory in the microcontroller to render the display.
  • U8x8
    • Text output only (character) device.
    • Only fonts allowed with fixed size per character (8×8 pixel).
    • Writes directly to the display. No buffer in the microcontroller required.
  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Тут же написано черным по белому:

Спасибо ,я почему-то искал по слову buffer и ничего внятного не нашел поиском о методах передачи. Хорошо что есть люди которые читают полностью текст описания :)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Библиотека описана просто ужасно.

clearDisplay

  • C++ Prototype:
  • C Prototype:
  • Description: Clears all pixel on the screen. This procedure is also called from begin.
  • Arguments:
    • u8x8 : A pointer to the u8x8 structure.
  • Returns: —
  • See also: beginclear

В каком месте здесь, я (или прочий начинающий и не очень) должен догадаться что надо вставить в код ?

Мне пришлось пошариться в сети что бы через 5 минут написать правильно

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Библиотека описана просто ужасно.

Напиши автору своё громкое «ФИ». Можешь прислать ему мешочек овечьих какашков.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Напиши автору своё громкое «ФИ». Можешь прислать ему мешочек овечьих какашков.

Обязательно ему напишу.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

На экране появляется какой-то мусор, может есть у кого идеи как его убрать и в чем причина ?

( если повернуть изображение то токи меняют место но все так же в 0 и 3 колонках, хаотично появляются при каждом включении после вывода строчки)

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

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

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

но это же не эстетично, неправильно,что-то надо делать, как-то решать, с этим нельзя жить, нельзя смириться!

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Библиотека допиленная под этот тестер, есть пример с демкой.

Все уже настроено, без правки кода, после компиляции все выводит на экран.

Только режим с буфером, весит 6кб +1кб буфер + переменные.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Отписался автору U8x8

По-моему адрес начала памяти экрана указан неверно, поэтому пиксели эти есть и не стираются.

И u8x8.drawString(0,0,»Hello World!»); начинается не с первого столбца.

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Подскажите, как подключить этот экран:

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Здравствуйте! А кто подскажет, как этот дисплей переваривает логические уровни 5V той же Arduino Nano? Ведь питается модуль от 3.3V. Или ставить делители/преобразователь уровней?

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Всем привет. Купил один дисплейчик GMG12864-06D ver. 2 на пробу, столкнулся с такой же проблемой, как в посте 22.

У меня был готовый код для работы с WO12864A1-TFH, использовал в старом проекте. И один экземплярчик в наличии, работает беупречно. Не понимаю, в чем проблема, контроллер вроде одинаков, либо ST7565R точно, как пишут китайцы, ибо с другой буквой, но система команд у всей группы ST7565 идентична. В первые 4 левых столбца каждой страницы не записываются данные. Следовательно, там остается мусор в ОЗУ, который выводится в ввиде хаотических точек. Кто подскажет, что не так, почему такое различие Winstar и китая? И это, кстати, еще не все проблемы. Если первая проблема выглядит системно, поскольку уже встречалась, то вторая совсем непонятна. Периодически на дисплее пропадают части изображения, затем восстанавливаются. Тут я не могу сказать, самопроизвольно ли восстанавливаются, поскольку раз в сек обновляю статическую картинку, возможно восстанавливается и повторной записью. Также участки изображения меняются местами, затем опять же восстанавливаются. И последнее, иногда, не каждый раз, через некоторое время после начала работы изображение становится практически невидимым. Как будто контрастность уменьшается, изображение еле различимо. Через некоторое время бывает пропадает вовсе. Что это, дефектный экземпляр? Второго такого пока нет, с чем сравнить. Да и желание покупать пропало.

Источник

Adblock
detector