14

Дисплей 12864b v2.0 (Arduino)

Графический дисплей 12864b v2.0 (ST7920) представляет собой ЖК-матрицу с разрешением в 128  на 64 точек, предназначен для вывода графической и текстовой информации. Поддерживает 8/4-битный параллельный режим работы и поставляется вместе с микросхемой контроллера/драйвера ST7290. Также дисплей поддерживает последовательный режим работы по шине PSB (программный SPI), именно в этом режиме будет работать описанный в этой статье дисплей.

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Основное напряжение питания +5 В, дополнительное 3,3 В используется для подсветки дисплея. Рассматриваемый в статье дисплей на плате имеет регулятор контрастности, но может поставляться и без него, тогда на вход Vo подается напряжение с потенциометра (см. схему).

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Встроенный потенциометр

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Подключение дисплея к Arduino Nano:

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

При работе с дисплее можно использовать библиотеку U8glib , в папке библиотеки много различных примеров скетчей. Установить библиотеку можно через менеджер библиотек Arduino IDE.

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Пример 1

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

#include <U8glib.h>

#include "rus6x10.h" // http://forum.rcl-radio.ru/misc.php?action=pan_download&amp;i... 

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

void draw() {

u8g.setRot180();

u8g.setFont(u8g_font_unifont);

u8g.drawStr(15, 12, "RCL-RADIO.RU");

u8g.drawLine(0, 15, 128, 15);

u8g.setFont(u8g_font_6x12);

u8g.drawStr(45, 25, "ST7920");

u8g.setColorIndex(1);

u8g.drawBox(0, 35, 128, 20);

u8g.setFont(u8g_font_unifont);

u8g.setColorIndex(0);

u8g.drawStr(35, 50, "ARDUINO");

u8g.setColorIndex(1);

u8g.setFont(rus6x10);

u8g.drawStr(45, 64, "ПРИВЕТ");

void setup() { } 

void loop() {

u8g.firstPage();

do { draw(); }

while( u8g.nextPage() );

}

Для поддержки русского шрифта скачайте архив шрифта и распакуйте его в папку со скетчем.

Пример 2

Ниже показан пример создания простых часов, в примере используется модуль часов реального времени DS3231. Время устанавливается по времени компиляции.

Дисплей 12864b v2.0 (Arduino) Arduino, Электроника, Самоделки, Длиннопост

Для поддержки семисегментных цифр скачайте архив шрифта и распакуйте его в папку со скетчем.

Скетч - http://rcl-radio.ru/?p=129018

TECHNO BROTHER

2K постов13.4K подписчик

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины