• перемычки;
• макетная плата;
• динамик;
• две кнопки;
• вентилятор;
• 16х2-символьный ЖК-дисплей;
• 2 резистора номиналом 4,7 кОм;
• 2 резистора номиналом 10 кОм;
• 1 резистор номиналом 150 Ом;
• 1 потенциометр 10 кОм;
• датчик температуры ТС74AО-5.0 VAT I 2C;
• набор перемычек;
• макетная плата.
Электронные ресурсы к главе
На странице 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] На русском: http://wiki.amperka.ru/видеоуроки:13-жк-дисплеи-lcd.
Вы также можете найти этот видеофайл на сайте издательства 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 В, а катод к земле, если такого резистора нет, следует добавить токоограничивающий резистор в линию между анодом и катодом. Подробности необходимо уточнять в техническом описании конкретного дисплея.
Читать дальше