Привет Хабр! Эта очень маленькая статья для начинающих, тех кто только начал осваивать 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 секунду.
Код:
Итак, будем делать все в 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)
dannyzubarev
12.06.2015 12:55+4В чем суть туториала, если уже существует очень подробный от самих же Adafruit? Более того, оригинальный туториал содержит важную информацию о питании и logic level shifting, о которых вы не упомянули ни слова, к сожалению.
learn.adafruit.com/nokia-5110-3310-monochrome-lcdeta4ever
12.06.2015 12:57Ну, не все могут в английский. А вот про уровни — да, неплохо бы тоже написать.
eta4ever
12.06.2015 14:52+5Также неплохо бы рассказать, почему вы подключаете 3.3-вольтовый дисплей напрямую к ардуине, у которой пятивольтовые выходы.
valfrom
12.06.2015 21:52+1Забавно, как раз недавно крутил библиотеку для nokia5110 (ardino тоже поддерживается), цель была — впихнуть в attiny13: github.com/valfrom/nokia-lcd-5110-arduino-lib
eta4ever
У меня такое двоякое чувство. С одной стороны, вроде, сто раз это уже было сделано. А с другой, в качестве лаконичного материала «совсем для чайника» ни разу не видел. Дописали бы, что ли, теории чуток, про SPI.
stas3k Автор
Материал будет полезен людям, которым уже по 50 лет, которые всю жизнь занимались электроникой и пайкой. Я заметил что у таких людей сложности с компьютерами и современными технологиями, но желание заниматься с той же ардуинкой есть. Поэтому, думаю простая подача материала будет полезна не только тем, кто не особо знает английский язык, но и тем, кто с паяльником на ты, а в программировании не особо.
eta4ever
Я думаю, таким людям было бы очень интересно, почему мы подключаем CE к D4, а DC к D5 и т.д.
stas3k Автор
вы имеете ввиду про эту часть кода?
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);
eta4ever
Я имею в виду не код, а железо. Что такое DC, Din, CE, Clk.
Хотя бы так www.robokits.co.nz/dl/images/products/glsd-pinouts.png