Arduino:Примеры/Гайд по использованию LCD-дисплея Nokia 5110 вместе с Arduino
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Гайд по использованию LCD-дисплея Nokia 5110 вместе с Arduino[1]
Эта статья рассказывает о том, как использовать LCD-дисплей от телефона Nokia 5110 вместе с платой Arduino. Вначале я опишу сам дисплей и его характеристики, а затем расскажу, как собрать проект, в котором этот дисплей используется, чтобы показать фразу «Hello, World!»
Описание
LCD-дисплей Nokia 5110 очень популярен среди тех, кто увлекается проектами на базе Arduino. Он используется, как правило, в проектах, где нужен графический интерфейс или отображение информации.
Кроме того, модули с этим дисплеем стоят очень недорого и совместимы с любым микроконтроллером.
Характеристики
- Размеры LCD-матрицы: 84 на 48 точек (вмещает 4 строчки символов)
- Цена: 2-3 доллара
- Напряжение: 3,3 вольта
- Размер модуля: 45,2 на 43,1 мм
- Модель: Nokia 5110
- Контроллер: PCD8544
Необходимые компоненты
- Одна плата Arduino
- Один LCD-дисплей Nokia 5110
- Один потенциометр
- Четыре резистора на 10 кОм
- Один резистор на 1 кОм
- Один резистор на 330 Ом
- Макетная плата
Библиотека
Для этого проекта нам понадобится библиотека «PCD8544». Чтобы установить ее в IDE Arduino, проделайте следующее:
- Загрузите отсюда ZIP-архив с библиотекой
- Откройте IDE Arduino
- Кликните в IDE Arduino на Скетч > Подключить библиотеку > Добавить .ZIP библиотеку... (Sketch > Include Library > Add .ZIP Library...), затем выберите скачанный ZIP-архив и нажмите «Open»
Распиновка
- RST – сброс
- CE – выбор чипа
- D/C – переключение между отправкой данных и отправкой команд
- DIN – входной контакт для последовательных данных
- CLK – тактовый сигнал
- VCC – 3,3 вольта
- LIGHT – управление подсветкой
- GND – заземление
Схема
LCD-дисплей Nokia 5110 работает на 3,3 вольтах. То есть вы не можете напрямую подключить к нему цифровые контакты Arduino Uno. О том, как переключить 5-вольтовую логику на 3,3-вольтовую, читайте тут.
Чтобы защитить 3,3-вольтовые контакты от перенапряжения, я подключил к ним резисторы. Впрочем, при работе с этим дисплеем для переключения вольтовой логики лучше воспользоваться специальным устройством – преобразователем логического уровня.
Загрузка скетча
После установки библиотеки «PCD8544» нужный скетч уже будет в самой IDE Arduino. Чтобы открыть его, кликните на Файл > Примеры > PCD8544 > HelloWorld (File > Examples > PCD8544 > HelloWorld).
/*
* Интерфейс с LCD-дисплеем на базе Philips PCD8544
* или другим совместимым дисплеем
*
* Копирайт (c) 2010
* Карлос Родригес (Carlos Rodrigues), <cefrodrigues@gmail.com>
*
* Чтобы использовать этот скетч, подключите восемь контактов
* LCD-дисплея к Arduino следующим образом:
*
* Контакт 1 на LCD-дисплее -> к контакту +3.3V на Arduino
* Контакт 2 -> к цифровому контакту 3
* Контакт 3 -> к цифровому контакту 4
* Контакт 4 -> к цифровому контакту 5
* Контакт 5 -> к цифровому контакту 7
* Контакт 6 -> к контакту GND
* Контакт 7 -> к конденсатору на 10 мкФ -> к контакту GND
* Контакт 8 -> к цифровому контакту 6
*
* Поскольку LCD-дисплей – это 3,3-вольтовое устройство,
* чтобы подключить его к цифровым контактам Arduino,
* понадобятся дополнительные компоненты. Но эти компоненты не нужны,
* если вы используете 3,3-вольтовую версию Arduino
* вроде Arduino Pro от Sparkfun.
*/
#include <PCD8544.h>
// массив для нестандартного символа (для смайлика)...
static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };
static PCD8544 lcd;
void setup() {
// дисплеи, совместимые с PCD8544, могут быть разного разрешения...
lcd.begin(84, 48);
// ставим смайлик на позицию «0» в таблице ASCII:
lcd.createChar(0, glyph);
}
void loop() {
// переменная для счетчика (чтобы показать,
// что программа продолжает работать):
static int counter = 0;
// пишем в первой строке фразу «Hello, World!»:
lcd.setCursor(0, 0);
lcd.print("Hello, World!"); // "Привет, мир!"
// пишем во второй стоке значение из счетчика:
lcd.setCursor(0, 1);
lcd.print(counter, DEC);
lcd.write(' ');
lcd.write(0); // вставляем смайлик
// при помощи потенциометра меняем контраст LCD-дисплея:
// short level = map(analogRead(A0), 0, 1023, 0, 127);
// lcd.setContrast(level);
delay(200);
counter++;
}
Демонстрация
Загрузив скетч, вы должны увидеть на LCD-дисплее фразу «Hello, World!»
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino