Доброго времени суток уважаемые хабравцы! Эта небольшая статья для начинающих, тех кто только начал осваивать Arduino и её программирование. Я искал информацию о том, как подключить дисплей от Nokia 5110 к Arduino Uno, но как-то все было не до конца понятно. После поисков и экспериментов решил написать свою простую инструкцию, надеюсь тебе понравится.
Итак, будем делать все в Windows.
Для начала нам надо скачать библиотеку
https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library
Теперь распаковываем это все в папку C:\Program Files (x86)\Arduino\libraries или C:\Program Files\Arduino\libraries в зависимости от того где у вас программа Arduino.
В папке C:\Program Files (x86)\Arduino\libraries\Adafruit-PCD8544-Nokia-5110-LCD-library-master должны после всех манипуляций появится следующие файлы:
Теперь надо правильно подключить ардуинку к дисплейчику. Вот правильная распиновка:
RST -> D3
CE -> D4
DC -> D5
Din -> D6
Clk -> D7
Vcc -> 3.3V
BL -> 5V
Gnd -> GND
Слева контакты дисплея, справа ардуино.
После того как все подключили можно запустить пример из папки examples и сразу залить его на Arduino Uno. После окончания можем созерцать красивую анимацию. Всё это конечно красиво, но много чего бесполезного. Что если нам надо просто выводить какой-то текст и показания в виде цифр? Ниже обрезанный код-шаблон для ваших последующих разработок. В нём убрано все лишнее, отображается на дисплее только текст и цифры меняются в цикле loop(). Можете выводить какую угодно информацию теперь в цикле. В данном случае задержка итерации цикла составляет 1 секунду.
Код:
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
void setup() {
display.begin();
display.clearDisplay();
}
void loop() {
display.setTextSize(1); // размер текста 1
display.setTextColor(BLACK); // цвет текста темный
display.println("Hello, world!"); // отображаем надпись
display.setTextSize(2); // увеличиваем шрифт на 1
display.println(random(1,10000)); // выводим число от 1 до 10000
display.setTextSize(3);
display.print(random(1,10000));
display.display();
delay(1000); // задержка в секунду
display.clearDisplay(); // очищаем дисплей
}
комментарии (9)