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

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


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

Выглядит вот так:

image

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

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 (подсветка дисплея).

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

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

image

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

image

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

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

#include "U8glib.h"

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 переведёт число в строковый массив

  u8g.firstPage();
  
  do 
   {
     u8g.drawStr(2, 10, "geektimes.ru"); // выведет надпись geektimes.ru
     u8g.drawStr(2, 27, val_to_char); // выведет число 2015
   }
   
  while(u8g.nextPage()); 
}


Выбора шрифта в файле (из библиотеки) 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");

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

На этом всё и всем спасибо.

Комментарии (0)