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

Разрешение дисплея 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() - очищает дисплей
