Обзор LCD дисплея Nokia 5110

В предыдущих статьях рассказывал как вывести информацию на LCD1602, OLED и TFT дисплеи их часто можно встретить в различных проектах. В этой статье расскажу об еще одном дисплеи NOKIA 5110, который так же очень популярный. Главной особенность этого дисплея является способность выводить не только текст, но и графические данные.

Технические параметры:

► Контроллере PCD8544;
► Разрешение экрана:  84 x 48 точек;
► Размеры экрана: 36 х 24 мм;
► Напряжение питания логики: 2,7 – 3,3В;
► Габариты: 43,8 х 43,4 х 13,2 мм;
► Вес: 14 г.

Описание дисплея Nokia 5110

Дисплей Nokia 5110 управляется с помощью контроллера PCD8544 (производитель Philips). Контроллер управляет дисплеем с разрешением 84 × 48 пикселей, в качестве связи с микроконтроллером (arduino) используется интерфейс последовательной шины, аналогичный SPI. Согласно документации, чип PCD8544 работает диапазоне от 2,7 до 3,3 В в том числе и логическая часть. Таким образом, при подключении к пяти вольтной Arduino необходимо понизить логическое напряжение до 3В.

Назначение контактов.
► RST — Сброс дисплея, при логическом нуле происходит сброс изображения на дисплеи.
► CE — включение чипа. при логическом нуле чип активен.
► D/C — сообщение дисплею, являются ли данные команда или отображаемыми данными.
► DIN — вывод последовательных данных для интерфейса SPI.
► CLK — вывод последовательного тактового сигнала для интерфейса SPI.
► VCC — вывод питания для ЖК-дисплея.
► BL — управляет подсветкой дисплея. Чтобы контролировать его яркость, вы можете добавить потенциометр или подключить этот вывод к любому выводу Arduino с поддержкой ШИМ.
► GND — земля.

Подключение LCD дисплея Nokia 5110 к Arduino

Необходимые детали:
► Arduino UNO R3 x 1 шт.
► Графический LCD дисплей Nokia 5110 — 84×84 x 1 шт.
► Провод DuPont, 2,54 мм, 20 см, F-M (Female — Male) x 1 шт.
► Резистор 1 кОм, 0.125 Вт x 5 шт.
► Резистор 330 Ом, 0.125 Вт x 1 шт.
► Кабель USB 2.0 A-B x 1 шт.

Подключение:
Подключение не сложено и так как мы используем программный SPI, можно использовать любые цифровые контакты Arduino. В примере выводы CLK, DIN, DC, CE и RST от дисплея подключаем в выводам Arduino от 7 до 3. Так как дисплей не льзя подключать напрямую к Arduino, воспользуемся самым простым способом, добавим резисторы 10 кОм между выводами CLK, DIN, D/C и RST и резистор 1 кОм между контактами CE. А вывод подсветки (BL) подключен к 3,3 В через токоограничивающий резистор 330 Ом. 

Установка библиотек:
Для работы с дисплеем Nokia 5110 необходимо установить две библиотеку «Adafruit PCD8544 Nokia 5110 LCD» и «Adafruit GFX» Чтобы установить библиотеки, перейдите в Скетч —> Подключить библиотеку —> Управление библиотеками.

В строке поиска введите «nokia», найдите библиотеку «Adafruit PCD8544 Nokia 5110 LCD» и установите данную библиотеку.

Теперь установим вторую библиотеку, вводим в поиск «Adafruit GFX» и устанавливаем «Adafruit GFX Library«

Программа:
Теперь запускаем среду разработку Arduino IDE и загружаем скетч в контроллер.

 Скачать скетч

Описание скетча:
Скетч начинается с включения трех библиотек, SPI., Adafruit_GFX.h и Adafruit_PCD8544.h. Далее создаем объект, для работы с дисплеем в котором указываем 5 параметров.

В void setup(), инициализируем работу с LCD дисплей. Так же, указываем контрастность дисплея с помощью setContrast(value) с значением между 0-100.  Затем мы очищаем буфер перед выводом нашего первого сообщения на экран.

Далее, для отображения текста на экране устанавливаем размер шрифта, с помощью функции setTextSize() с указанием размера шрифта. Следующий командой setTextColor() устанавливаем цвет шрифта, где BLACK темный, WHITE светлый. Теперь перед отправкой текста, необходимо установить позицию курсора, вызываем функцию setCursor(X,Y).

Для отображения инверсного текста, снова вызываем функцию setTextColor(), только теперь передадим два параметра, остальные команды схожи по описанию выше.

Масштабирование осуществляется с помощью функции setTextSize(), можно передать любое не отрицательное число.

Отображение чисел можно с вызовом простых функций print() или println().

Дисплей поддерживает отображение символов ASCII, для этого функциями print() и println() отправляют данные на дисплей в виде удобочитаемого текста ASCII, в то время как write() функция отправляет двоичные данные на дисплей. Таким образом, вы можете использовать эту функцию для отображения символов ASCII. В нашем примере при отправке числа 3 будет отображаться символ сердца.

Чтобы повернуть текст, нужно вызвав setRotation()функцию. Функция принимает только один параметр, соответствующий 4 кардинальным поворотам. Это значение может быть любым неотрицательным целым числом, начиная с 0. Каждый раз, когда вы увеличиваете значение, содержимое дисплея поворачивается на 90 градусов против часовой стрелки. Например:

  • 0 — сохраняет стандартную альбомную ориентацию экрана.
  • 1 — Поворачивает экран на 90 ° вправо.
  • 2 — переворачивает экран вверх дном.
  • 3 — Поворачивает экран на 90 ° влево.

Купить на Aliexpress
  Контроллер Arduino UNO R3 на CH340G
  Контроллер Arduino UNO R3 на Atmega16U2
  Провода DuPont, 2,54 мм, 20 см
  Графический LCD дисплей Nokia 5110 — 84×84

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *