Подключение LCD экрана от нокии 5110 к Arduino

Публикация 18.02.2015

Экран нокии 5110 - наверное самый дешевый LED дисплей, который можно купить и без проблем подключить к нашей Arduino Uno. Дисплей черно-белый, блеклый и с очень примитивной подсветкой. Одним словом - дешевый.

Подключение LCD экрана от нокии 5110 к Arduino

Разрешение дисплея 84×48 точек позволяет писать относительно мелкий текст и рисовать сносную графику. Плата имеет контроллер PCD8544 и 8 разъемов:

  • RST — сброс (Reset);
  • CE — выбор устройства (Chip Select);
  • DC — выбор режима (Data/Command select);
  • DIn — данные (Data In);
  • Clk — тактирующий сигнал (Clock);
  • Vcc — питание 3 — 5 Вольт;
  • BL — подсветка;
  • Gnd — земля.

Для управления дисплеем можно использовать несколько библиотек. Первая из них LCD5110_Basic.h. Пример скетчка:

#include <LCD5110_Basic.h>
 
LCD5110 myGLCD(8,9,10,11,12);
 
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
 
void setup()
{
myGLCD.InitLCD();
}
 
void loop()
{
myGLCD.setFont(SmallFont);
myGLCD.clrScr();
myGLCD.print("Harekete", CENTER, 0);
myGLCD.print("Gecmek", CENTER, 8);
myGLCD.print("Icin", CENTER, 16);
myGLCD.print("Saniye Kaldi", CENTER, 40);
 
myGLCD.setFont(MediumNumbers);
for (int s=10; s>=0; s--)
{
myGLCD.printNumI(s, CENTER, 24, 2, '0');
delay(1000);
}
myGLCD.enableSleep();
delay(1000);
myGLCD.disableSleep();
myGLCD.setFont(SmallFont);
myGLCD.print("", CENTER, 0);
myGLCD.print("Hemen", CENTER, 16);
myGLCD.print("Harekete", CENTER, 24);
myGLCD.print("Gec", CENTER, 32);
delay(5000);
}

Лично мне больше по душе Adafruit-GFX которую можно скачать с сайта разработчика https://github.com/adafruit/Adafruit-GFX-Library/archive/master.zip

#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 6, 7);

void setup() {
    // инициализация и очистка дисплея
    display.begin();
    display.clearDisplay();
    display.display();
    
    display.setContrast(50); // установка контраста
    delay(1000);
    display.setTextSize(1);  // установка размера шрифта
    display.setTextColor(BLACK); // установка цвета текста
    display.setCursor(0,0); // установка цвета текста
  
    display.println("Hello, world!");
    display.display();
}

void loop() {
}
  • setContrast(50) - задает контраст дисплея
  • setTextSize(1) - размер шрифта
  • setTextColor(WHITE) - цвет текста WHITE и BLACK
  • setCursor(x, y) - устанавливает координаты, куда будет печататься текст
  • println("Text") - печать текста
  • drawCircle(20, 20, 5, BLACK); - рисует круг
  • drawRect(10, 10, 20, 20, BLACK); - рисует прямоугольник
  • drawTriangle(10, 10, 20, 10, 20, 20, BLACK); - рисует триугольник
  • drawLine(0, 0, 20, 20, BLACK); - рисует линию
  • drawPixel(10, 10, BLACK); - рисует один пиксель (точка)
  • drawBitmap(0, 0, smileBmp, 84, 44, BLACK); - рисует изображение из массива bmp файла
  • clearDisplay() - очищает дисплей
Подключение LCD экрана от нокии 5110 к Arduino
* комментарии публикуются после модерации
Нет комментариев