На странице http://www.exploringarduino.com/content/ch10 можно загрузить программный код, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.
- 203 -
При проектировании автономных устройств стараются сделать так, чтобы их работа не зависела от компьютера. До сих пор для отображения информации, более сложной, чем включение индикатора, нам требовался внешний компьютер. Добавив жидкокристаллический дисплей (LCD) на плату Arduino, можно отображать сложную информацию (показания датчиков, отсчет временных промежутков, настройки и т. д.) непосредственно в устройстве без привязки к монитору компьютера.
В этой главе вы узнаете, как подключить LCD к плате Arduino, как использовать библиотеку Arduino LiquidCrystal для вывода текста и произвольных пользовательских символов на экран жидкокристаллического дисплея. Изучив основы, мы, опираясь на опыт предыдущих глав, сможем создать простой прибор, измеряющий и показывающий температуру, а также включающий вентилятор для охлаждения.
ЖК-дисплей будет отображать информацию о температуре, звуковой сигнал от динамика предупредит о повышении температуры, а вентилятор включится автоматически для охлаждения.
ПРИМЕЧАНИЕ
Видеоурок о работе с жидкокристаллическим дисплеем находится по адрес?
http://www.jeremyblum.com/2011/07/31/tutorial-13-for-arduino-liquid-crystal-displays[12]
Вы также можете найти этот видеофайл на сайте издательства Wiley.
10.1. Настройка жидкокристаллического дисплея
В устройствах, описанных в этой главе, мы применим жидкокристаллический дисплей. Подобные индикаторы часто встречаются и имеют множество модификаций.
Наиболее распространены дисплеи, содержащие 16х2 символов, имеющие 16 (или 14, если нет подсветки) контактов в один ряд. Для рассмотренных далее примеров выбран 16-контактный ЖК-дисплей, на экране которого одновременно может отображаться 32 символа (16 столбцов и 2 строки).
Если у вашего дисплея нет штырьков для монтажа, необходимо сначала припаять их, чтобы можно было установить его на макетной плате. Если штыревые контакты припаяны (как на рис. 10.1), можно сразу закрепить индикатор на макетной плате.
Теперь нужно подключить дисплей, смонтированный на макетной плате, к Arduino.
Все параллельные ЖК-индикаторы имеют одинаковые выходы и их можно подключить в одном из двух вариантов: 4-контактном и 8-контактном. Для передачи информации служат четыре вывода, есть также контакты готовности данных, выбора режима команд или режима индикации, установки режимов чтения или записи данных. Назначение всех контактов приведено в табл. 10.1.
- 204 -
Рис. 10.1. ЖК-дисплей с припаянными штыревыми контактами
Таблица 10.1. Контакты параллельного ЖК-дисплея
Назначение контактов следующее:
• Напряжение на контакте регулировки контрастности Vo определяет яркость дисплея, контакт подключается к среднему выводу потенциометра.
• Контакт выбора режима Rs переводит дисплей в режим приема команд или символов, данные, поступающие в дисплей, интерпретируются либо как данные, либо как символ.
- 205 -
• Контакт RW у нас всегда будет соединен с землей, это означает, что данные всегда передаются в дисплей, а не читаются из него.
• Сигнал на контакте EN сообщает, что данные готовы к приему или передаче.
• Контакты D4-D7 используются для передачи данных, а контакты DO-D3 остаются неподключенными.
Если ЖК-дисплей снабжен встроенной системой светодиодной подсветки с внутренним ограничивающим резистором, можно непосредственно подключить анод к +5 В, а катод к земле, если такого резистора нет, следует добавить токоограничивающий резистор в линию между анодом и катодом. Подробности необходимо уточнять в техническом описании конкретного дисплея.
В табл. 10.2 приведен рекомендуемый порядок соединения контактов ЖК-дисплея и платы Arduino. Можно подключить дисплей и к другим контактам ввода-вывода.
Рис. 10.2. Подключение ЖК-дисплея к макетной плате и Arduino
- 206 -
Таблица 10.2. Таблица соединения контактов
Контакты ЖК-дисплея | Контакты Arduino |
RS | D2 |
EN | D3 |
D4 | D4 |
D5 | D5 |
D6 | D6 |
D7 | D7 |
Подключите ЖК-дисплей к плате Arduino по схеме, приведенной на рис. 10.2.
Теперь ЖК-дисплей готов к работе. Как только вы загрузите программу из следующего раздела на плату Arduino, то сможете отображать текст на экране. С помощью потенциометра отрегулируйте контрастность символов.
10.2. Библиотека LiquidCrystal
Arduino IDE включает библиотеку LiquidCrystal, имеющую набор функций для взаимодействия с параллельными ЖК-дисплеями. Библиотека довольно обширна и реализует такие функции, как мигающий курсор, автоматическая прокрутка текста, создание пользовательских символов, изменение направления вывода текста.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии