Дисплей 128х64 для ардуино

Содержание

Графический дисплей 128×64 / I²C: инструкция, примеры использования и документация

Используйте графический дисплей 128×64 / I²C для вывода текста, отрисовки графиков и отображения простых картинок. Монохромный экран выполнен по технологии LCD c разрешением 128×64 пикселей.

Графические дисплеи применяются в домашних охранных системах, робототехнике, МФУ-устройствах, вендинговых автоматах и турникетах общественного транспорта.

Дисплей похвастается интерфейсом I²C, а это значит можно забыть про вермишель из проводов. Для общения с микроконтроллером понадобится всего два сигнальных провода.

Примеры работы для Arduino

Мозгом для проекта выступит платформа Arduino Uno.

Подключение и настройка

Для начала необходимо собрать железо и выполнить программную настройку.

Что понадобится

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

Контакт дисплея Контакт Arduino
1 VCC 5V
2 GND GND
3 SCL SCL
4 SDA SDA

Программная настройка

Вывод изображений

Выведем на экран дисплея монохромное изображение. Для этого воспользуйтесь графическим редактором GIMP и преобразуйте исходную картинку в текстовый массив чисел .h .

Основные правила при конвертации изображения:

Элементы дисплея

Дисплей

Дисплей MT-12864K выполнен на монохромной жидкокристаллической матрице с разрешением 128×64 пикселей. Каждый пиксель поддерживает только два состояния: включён или выключен, 1 или 0, true или false.

Матрица экрана подключена к драйверу дисплея, который выполняет роль посредника между экраном и управляющим микроконтроллером.

Драйвер дисплея

В систему драйвера входит три чипа: два контроллера RW1065I и один регистр управления INF8475A.

Контроллер RW1065I

RW1065I LCD Segment Common Driver — это контроллер сегментов с драйвером общих линий для управления матрицей дисплея с разрешением 64×32 пикселя. Для управления графическим дисплеем разрешением 128×64 пикселей, требуется два таких чипа. Первый RW1065I для управления левой половиной сегментов SEG1–SEG64 с общими линиями COM1–COM32, а второй RW1065I для управления правой половиной сегментов SEG65–SEG128 с общими линиями COM33–COM64.

Доступ к каждому контроллеру осуществляется по интерфейсу I²C с заданными I²C-адресами. На плате дисплея есть возможность сменить адреса контроллеров RW1065I. Это даёт возможность подключить к управляющей плате два дисплея одновременно и выводить на каждый экран различные данные, при этом количество занятых пинов останется прежним.

Для смены адресов контроллеров RW1065I на обратной стороне дисплея установлен переключатель Addr1 с контактными площадками R5 и R6 .

Капнув припоем на соответствующие контактные площадки, можно получать две разных группы I²C-адресов:

Addr1
R5 R6 Адрес RW1065I #1 Адрес RW1065I #2
L H 0x3C (по умолчанию) 0x3D (по умолчанию)
H L 0x3E 0x3F

Для управления контрастности и яркости на двух дисплей отдельно, необходимо также сменить адрес вспомогательного контроллера INF8475A.

Регистр управления INF8475A

INF8475A Driver — это вспомогательный контроллер для программной регулировки контрастности дисплея, яркость подсветки и других вспомогательных функций.

Доступ к вспомогательному контроллеру осуществляется по интерфейсу I²C с заданными I²C-адресом. На плате дисплея есть возможность сменить адрес регистра RW1065I. Это даёт возможность подключить к управляющей плате два дисплея одновременно и управлять контрастностью/яркостью каждого экрана отдельно, при этом количество занятых пинов останется прежним.

Для смены адреса вспомогательного контроллера INF8475A на обратной стороне дисплея установлен переключатель Addr2 с контактными площадками R17 и R18 .

Капнув припоем на соответствующие контактные площадки, можно получать два разных I²C-адреса:

Addr2
R17 R18 Адрес INF8475A
L H 0x3B (по умолчанию)
H L 0x3A

Для вывода на каждый экран различных данных, необходимо также сменить адреса контроллеров RW1065I.

Контакты подключения

На плате дисплея выведено 4 контакта для подключения питания и взаимодействия с управляющей электроникой.

Источник

Графический дисплей 128×64: инструкция, примеры использования и документация

Используйте графический дисплей 128×64 для вывода текста, отрисовки графиков и отображения простых картинок. Монохромный экран выполнен по технологии LCD c разрешением 128×64 пикселей.

Графические дисплеи применяются в домашних охранных системах, робототехнике, МФУ-устройствах, вендинговых автоматах и турникетах общественного транспорта.

Примеры работы для Arduino

Мозгом для проекта выступит платформа Arduino Uno.

Подключение и настройка

Для начала необходимо собрать железо и выполнить программную настройку.

Что понадобится

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

Контакт дисплея Контакт Arduino
1 VCC 5V
2 GND GND
3 VO К потенциометру, подробности ниже.
4 DB0 13
5 DB1 12
6 DB2 11
7 DB3 10
8 DB4 9
9 DB5 8
10 DB6 7
11 DB7 6
12 CS1 5
13 CS2 4
14 RST
15 RW GND
16 DC 3
17 EN 2
18 VEE К потенциометру, подробности ниже.
19 LED A 5V
20 LED K GND

Центральный контакт потенциометра подключите к контакту дисплея VO, а два крайних — к контактам дисплея VEE и земле GND.

Программная настройка

Вывод текста

Для старта выведем на дисплей приветствующую строку Hello World.

В отличии от текстовых дисплеев, графический экран не хранит в себе алфавиты и типографические символы. Шрифты загружаются в контроллер вместе с пользовательской программной. Библиотека U8g2 предоставляет широкий список шрифтов на любой вкус и цвет..

Вывод текста: шрифты

Внесём немного красок в проект, выведем текст на экране различными шрифтами.

Вывод текста: кириллица

В продолжении выведем на дисплей текст в кириллице. Для вывода кириллицы используйте соответствующие шрифты.

Вывод геометрических фигур

Далее отрисуем на дисплее геометрические фигуры.

Вывод символов Unicode

А ещё графический дисплей позволяет выводить символы из кодировки Юникод. Для вывода Unicode используйте соответствующие шрифты.

Вывод изображений

В завершении выведем на экран дисплея монохромное изображение. Для этого воспользуйтесь графическим редактором GIMP и преобразуйте исходную картинку в текстовый массив чисел .xbm .

Основные правила при конвертации изображения:

Элементы дисплея

Дисплей

Дисплей MT-12864J выполнен на монохромной жидкокристаллической матрице с разрешением 128×64 пикселей. Каждый пиксель поддерживает только два состояния: включён или выключен, 1 или 0, true или false.

Матрица экрана подключена к драйверу дисплея, который выполняет роль посредника между экраном и управляющим микроконтроллером.

Драйвер дисплея

В систему драйвера входит три чипа: два контроллера сегментов KS0108 и один контроллер общих линий KS0107.

Контакты подключения

На плате дисплея выведено 20 контактов для подключения питания и взаимодействия с управляющей электроникой.

Источник

OLED I2C 128 x 64 px – схема подключения к Arduino

В небольших устройствах тоже бывает нужно вывести какую-либо полезную информацию, сохраняя компактные габариты. Обычные экраны, вроде Nokia 3310, не обеспечивают достаточного разрешения, к тому же их не видно в темноте. В различных плеерах, электронных сигаретах и прочем давно уже используют компактные OLED-дисплеи с большим для их габаритов разрешением – так чем наши проекты хуже?

Краткий обзор модуля

OLED-экраны на базе контроллера SSD1306 популярны благодаря простому подключению, относительно низкой цене и высокому разрешению – для экрана диагональю 0.96 дюйма разрешение составляет аж 128×64! У того же Nokia 3310 разрешение составляет 84×48 пикселей при диагонали 1.5”.

Важным плюсом OLED-экранов является работа без подсветки – каждый пиксель – сам себе подсветка. За счёт такой системы, экран потребляет крайне мало тока (фактически, его можно запитать от пина Arduino). Есть и один минус – при постоянном использовании отдельные пиксели начинают выгорать и терять яркость, но до наступления этого состояния вы успеете отладить и вывести всё, что только можно.

Дисплей подключается по высокоскоростному интерфейсу I2C (относительно высокоскоростному – до 400Кбод) и использует всего 2 сигнальных провода. Это ещё один неоспоримый плюс! Несмотря на то, что интерфейс последовательный, да ещё и данные в обе стороны идут по одной линии, на рядовой Arduino можно достичь порядка 15-20fps, чего более чем достаточно для проектов.

Стоит заметить, что дисплей монохромный – цветные картинки на него не выведешь, а для текста или графика хватит и двух цветов.

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

Всего у дисплея 4 пина – VCC, GND, SDA, SCL. VCC и GND подключаются к VCC и GND Arduino соответственно (чтобы перестраховаться, лучше питать дисплей от пина 3.3В – не на всех модулях стоят понижающие преобразователи), а линии данных находятся у каждой версии Arduino на разных пинах. У Uno (Nano, Pro Mini и других платах на ATMega328/168) SDA – A4, SCL – A5. У Mega – SDA – 20, SCL – 21.

На платах 3 ревизии контакты интерфейса выведены перед 13 пином на гребёнке и подписаны соответственно.

Источник

Как подключить OLED I2C дисплей к ARDUINO

Привет! Будучи любителем — энтузиастом электроники, я уверен, что всё что мы делаем – радиоэлектронные игрушки – самоделки, или большие проекты, все это от любопытства и лени. Любопытство стремится понять и постичь необъятное, не познанное, разобраться, как оно там работает, чего делает, как двигается. А лень изобретает, чтобы такого придумать, чтобы не вставать, не подходить, не поднимать, не запачкаться или еще чего ни будь важное.

Так как видеть информацию, это лучше, чем разбираться чего там сейчас должно произойти в нашем устройстве, или уже произошло, или происходит, мы обязательно захотим получить эту самую полезную информацию от наших микроконтроллеров, датчиков, или прочих устройств. А получать, я во всяком случае, хочу какие-либо сообщения, вроде вопросов, предупреждений, напоминаний, смайликов, звездочек, сердечек и тому подобное.

Для тех, у кого тоже возникло подобное желание, — вот краткое руководство по подключению и проверке маленьких и не дорогих дисплеев OLED.
Далее речь пойдет об одной из широко доступных для радиолюбителей моделях OLED дисплеев, управляемых чипом SSD1306, с размером экрана 0,96-дюймов и разрешением 128*64 или 128*32 точки. Эти дисплеи идеально подходят для не больших радиолюбительских конструкций и самоделок.

Шаг 1: Основные понятия

Шаг 2: Комплектующие

Шаг 3: Подключение дисплея

Шаг 4: Сканер I2C

Каждое устройство на шине I2C имеет шестнадцатеричный адрес, поменять нельзя, он вшит намертво, каждый ответственный производитель должен где-то на корпусе или в инструкции указать его. Бывают модули с переключателями и перемычками, которыми можно изменить адрес, но… если устройства дешевые, до безобразия, то производитель может и не удосужиться заниматься такой мелочью, поэтому его придется определять самостоятельно.

Всего на шине может использоваться до 127 адресов — 119 для устройств и 8 адресов служебных. Общение ведется по этим адресам. Есть главный, он же Master, а есть ведомый, он же Slave, — Мастера запрашивают, ведомые отвечают, все просто.
Поскольку на нашем OLED-дисплей используется протокол связи I2C, а адрес может быть и не указан, мы сами попробуем узнать этот самый адрес.

Это можно сделать, загрузив коротенький скетч на свою плату Arduino с подключенным OLED. НО!
Не торопитесь сразу заливать скетч в Arduino! Давайте для начала загрузим «драйвера», т.е. подключим библиотеки, а для этого сразу перейдем к «Шагу №5», а затем вернемся и продолжим.

Шаг 4: Продолжение:

Шаг 5: Загрузка и подключение библиотек

Шаг 6: Тестирование дисплея

Откройте файл Adafruit_SSD1306.h в текстовом редакторе и найдите строки:

Должно получиться так:

Если снова ошибка – необходимо проверить правильность соединений.
После окончания загрузки вы увидите тестовую анимацию на экране, это означает, что вы успешно настроили свой OLED дисплей.

Когда вы вдоволь насладитесь сей анимацией, можете переходить к следующему шагу.

Шаг 7: Пишем свое собственное сообщение

Для написания собственного сообщения, сначала создадим новый скетч в среде программирования ArduinoIDE.
В заголовке мы подключаем 4 библиотеки:

Затем пишем протокол сброса:

В VOID SETUP указываем шестнадцатеричный адрес нашего дисплея 0x3C, который мы узнали на «Шаге №4».
Затем, инициализируем дисплей и очищаем его:

Далее в VOID LOOP пишем основной код, то есть наше сообщение, которое хотим отобразить на дисплее.
Для этого описываем размер текста, цвет текста, позицию курсора, и наконец, выводим сообщение с помощью команды println:

Источник

Дисплей 128х64 для arduino

Содержание

Графический дисплей 128×64 / I²C: инструкция, примеры использования и документация

Используйте графический дисплей 128×64 / I²C для вывода текста, отрисовки графиков и отображения простых картинок. Монохромный экран выполнен по технологии LCD c разрешением 128×64 пикселей.

Графические дисплеи применяются в домашних охранных системах, робототехнике, МФУ-устройствах, вендинговых автоматах и турникетах общественного транспорта.

Дисплей похвастается интерфейсом I²C, а это значит можно забыть про вермишель из проводов. Для общения с микроконтроллером понадобится всего два сигнальных провода.

Примеры работы для Arduino

Мозгом для проекта выступит платформа Arduino Uno.

Подключение и настройка

Для начала необходимо собрать железо и выполнить программную настройку.

Что понадобится

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

Контакт дисплея Контакт Arduino
1 VCC 5V
2 GND GND
3 SCL SCL
4 SDA SDA

Программная настройка

Вывод изображений

Выведем на экран дисплея монохромное изображение. Для этого воспользуйтесь графическим редактором GIMP и преобразуйте исходную картинку в текстовый массив чисел .h .

Основные правила при конвертации изображения:

Элементы дисплея

Дисплей

Дисплей MT-12864K выполнен на монохромной жидкокристаллической матрице с разрешением 128×64 пикселей. Каждый пиксель поддерживает только два состояния: включён или выключен, 1 или 0, true или false.

Матрица экрана подключена к драйверу дисплея, который выполняет роль посредника между экраном и управляющим микроконтроллером.

Драйвер дисплея

В систему драйвера входит три чипа: два контроллера RW1065I и один регистр управления INF8475A.

Контроллер RW1065I

RW1065I LCD Segment Common Driver — это контроллер сегментов с драйвером общих линий для управления матрицей дисплея с разрешением 64×32 пикселя. Для управления графическим дисплеем разрешением 128×64 пикселей, требуется два таких чипа. Первый RW1065I для управления левой половиной сегментов SEG1–SEG64 с общими линиями COM1–COM32, а второй RW1065I для управления правой половиной сегментов SEG65–SEG128 с общими линиями COM33–COM64.

Доступ к каждому контроллеру осуществляется по интерфейсу I²C с заданными I²C-адресами. На плате дисплея есть возможность сменить адреса контроллеров RW1065I. Это даёт возможность подключить к управляющей плате два дисплея одновременно и выводить на каждый экран различные данные, при этом количество занятых пинов останется прежним.

Для смены адресов контроллеров RW1065I на обратной стороне дисплея установлен переключатель Addr1 с контактными площадками R5 и R6 .

Капнув припоем на соответствующие контактные площадки, можно получать две разных группы I²C-адресов:

Addr1
R5 R6 Адрес RW1065I #1 Адрес RW1065I #2
L H 0x3C (по умолчанию) 0x3D (по умолчанию)
H L 0x3E 0x3F

Для управления контрастности и яркости на двух дисплей отдельно, необходимо также сменить адрес вспомогательного контроллера INF8475A.

Регистр управления INF8475A

INF8475A Driver — это вспомогательный контроллер для программной регулировки контрастности дисплея, яркость подсветки и других вспомогательных функций.

Доступ к вспомогательному контроллеру осуществляется по интерфейсу I²C с заданными I²C-адресом. На плате дисплея есть возможность сменить адрес регистра RW1065I. Это даёт возможность подключить к управляющей плате два дисплея одновременно и управлять контрастностью/яркостью каждого экрана отдельно, при этом количество занятых пинов останется прежним.

Для смены адреса вспомогательного контроллера INF8475A на обратной стороне дисплея установлен переключатель Addr2 с контактными площадками R17 и R18 .

Капнув припоем на соответствующие контактные площадки, можно получать два разных I²C-адреса:

Addr2
R17 R18 Адрес INF8475A
L H 0x3B (по умолчанию)
H L 0x3A

Для вывода на каждый экран различных данных, необходимо также сменить адреса контроллеров RW1065I.

Контакты подключения

На плате дисплея выведено 4 контакта для подключения питания и взаимодействия с управляющей электроникой.

Источник

Графический дисплей 128×64: инструкция, примеры использования и документация

Используйте графический дисплей 128×64 для вывода текста, отрисовки графиков и отображения простых картинок. Монохромный экран выполнен по технологии LCD c разрешением 128×64 пикселей.

Графические дисплеи применяются в домашних охранных системах, робототехнике, МФУ-устройствах, вендинговых автоматах и турникетах общественного транспорта.

Примеры работы для Arduino

Мозгом для проекта выступит платформа Arduino Uno.

Подключение и настройка

Для начала необходимо собрать железо и выполнить программную настройку.

Что понадобится

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

Контакт дисплея Контакт Arduino
1 VCC 5V
2 GND GND
3 VO К потенциометру, подробности ниже.
4 DB0 13
5 DB1 12
6 DB2 11
7 DB3 10
8 DB4 9
9 DB5 8
10 DB6 7
11 DB7 6
12 CS1 5
13 CS2 4
14 RST
15 RW GND
16 DC 3
17 EN 2
18 VEE К потенциометру, подробности ниже.
19 LED A 5V
20 LED K GND

Центральный контакт потенциометра подключите к контакту дисплея VO, а два крайних — к контактам дисплея VEE и земле GND.

Программная настройка

Вывод текста

Для старта выведем на дисплей приветствующую строку Hello World.

В отличии от текстовых дисплеев, графический экран не хранит в себе алфавиты и типографические символы. Шрифты загружаются в контроллер вместе с пользовательской программной. Библиотека U8g2 предоставляет широкий список шрифтов на любой вкус и цвет..

Вывод текста: шрифты

Внесём немного красок в проект, выведем текст на экране различными шрифтами.

Вывод текста: кириллица

В продолжении выведем на дисплей текст в кириллице. Для вывода кириллицы используйте соответствующие шрифты.

Вывод геометрических фигур

Далее отрисуем на дисплее геометрические фигуры.

Вывод символов Unicode

А ещё графический дисплей позволяет выводить символы из кодировки Юникод. Для вывода Unicode используйте соответствующие шрифты.

Вывод изображений

В завершении выведем на экран дисплея монохромное изображение. Для этого воспользуйтесь графическим редактором GIMP и преобразуйте исходную картинку в текстовый массив чисел .xbm .

Основные правила при конвертации изображения:

Элементы дисплея

Дисплей

Дисплей MT-12864J выполнен на монохромной жидкокристаллической матрице с разрешением 128×64 пикселей. Каждый пиксель поддерживает только два состояния: включён или выключен, 1 или 0, true или false.

Матрица экрана подключена к драйверу дисплея, который выполняет роль посредника между экраном и управляющим микроконтроллером.

Драйвер дисплея

В систему драйвера входит три чипа: два контроллера сегментов KS0108 и один контроллер общих линий KS0107.

Контакты подключения

На плате дисплея выведено 20 контактов для подключения питания и взаимодействия с управляющей электроникой.

Источник

Как подключить OLED I2C дисплей к ARDUINO

Привет! Будучи любителем — энтузиастом электроники, я уверен, что всё что мы делаем – радиоэлектронные игрушки – самоделки, или большие проекты, все это от любопытства и лени. Любопытство стремится понять и постичь необъятное, не познанное, разобраться, как оно там работает, чего делает, как двигается. А лень изобретает, чтобы такого придумать, чтобы не вставать, не подходить, не поднимать, не запачкаться или еще чего ни будь важное.

Так как видеть информацию, это лучше, чем разбираться чего там сейчас должно произойти в нашем устройстве, или уже произошло, или происходит, мы обязательно захотим получить эту самую полезную информацию от наших микроконтроллеров, датчиков, или прочих устройств. А получать, я во всяком случае, хочу какие-либо сообщения, вроде вопросов, предупреждений, напоминаний, смайликов, звездочек, сердечек и тому подобное.

Для тех, у кого тоже возникло подобное желание, — вот краткое руководство по подключению и проверке маленьких и не дорогих дисплеев OLED.
Далее речь пойдет об одной из широко доступных для радиолюбителей моделях OLED дисплеев, управляемых чипом SSD1306, с размером экрана 0,96-дюймов и разрешением 128*64 или 128*32 точки. Эти дисплеи идеально подходят для не больших радиолюбительских конструкций и самоделок.

Шаг 1: Основные понятия

Шаг 2: Комплектующие

Шаг 3: Подключение дисплея

Шаг 4: Сканер I2C

Каждое устройство на шине I2C имеет шестнадцатеричный адрес, поменять нельзя, он вшит намертво, каждый ответственный производитель должен где-то на корпусе или в инструкции указать его. Бывают модули с переключателями и перемычками, которыми можно изменить адрес, но… если устройства дешевые, до безобразия, то производитель может и не удосужиться заниматься такой мелочью, поэтому его придется определять самостоятельно.

Всего на шине может использоваться до 127 адресов — 119 для устройств и 8 адресов служебных. Общение ведется по этим адресам. Есть главный, он же Master, а есть ведомый, он же Slave, — Мастера запрашивают, ведомые отвечают, все просто.
Поскольку на нашем OLED-дисплей используется протокол связи I2C, а адрес может быть и не указан, мы сами попробуем узнать этот самый адрес.

Это можно сделать, загрузив коротенький скетч на свою плату Arduino с подключенным OLED. НО!
Не торопитесь сразу заливать скетч в Arduino! Давайте для начала загрузим «драйвера», т.е. подключим библиотеки, а для этого сразу перейдем к «Шагу №5», а затем вернемся и продолжим.

Шаг 4: Продолжение:

Шаг 5: Загрузка и подключение библиотек

Шаг 6: Тестирование дисплея

Откройте файл Adafruit_SSD1306.h в текстовом редакторе и найдите строки:

Должно получиться так:

Если снова ошибка – необходимо проверить правильность соединений.
После окончания загрузки вы увидите тестовую анимацию на экране, это означает, что вы успешно настроили свой OLED дисплей.

Когда вы вдоволь насладитесь сей анимацией, можете переходить к следующему шагу.

Шаг 7: Пишем свое собственное сообщение

Для написания собственного сообщения, сначала создадим новый скетч в среде программирования ArduinoIDE.
В заголовке мы подключаем 4 библиотеки:

Затем пишем протокол сброса:

В VOID SETUP указываем шестнадцатеричный адрес нашего дисплея 0x3C, который мы узнали на «Шаге №4».
Затем, инициализируем дисплей и очищаем его:

Далее в VOID LOOP пишем основной код, то есть наше сообщение, которое хотим отобразить на дисплее.
Для этого описываем размер текста, цвет текста, позицию курсора, и наконец, выводим сообщение с помощью команды println:

Источник

Adblock
detector