LiquidCrystal
Библиотека «LiquidCrystal» позволяет Вам управлять жидкокристаллическими мониторами, которые совместимы с драйвером Hitachi HD44780.
С помощью этого примера на LCD мониторе выводится приветствие «Hello World!» и показывается время в секундах, прошедшее с перезагрузки Ардуины.
У жидкокристаллических дисплеев есть параллельный интерфейс, означающий, что микроконтроллер должен управлять несколькими пинами интерфейса одновременно, чтобы управлять экраном. Интерфейс состоит из следующих пинов:
Пин, отвечающий за выбор регистра(A register select (RS) pin), контролирующий, в какую часть памяти ЖК-монитора Вы заносите данные. Вы можете выбрать либо регистр данных, контролирующий то, что идет на экран, либо регистр инструкции, который ищет инструкции относительно того, что делать дальше.
A Read/Write (R/W) — пин, выбирающий между режимами чтения и записи.
Enable pin позволяет запись в регистры.
8 пинов данных (D0-D7). Значения этих pin-ов (высоко или низко) являются битами, которые Вы записываете в регистр, когда Вы пишете, или значения, которые Вы считываете, когда Вы считываете.
Есть также пин контраста изображения (Vo), пины электропитания (+5V и Gnd) и пины подсветки диода (Bklt + и BKlt-).
Процесс управления дисплеем представляет собой помещение данных, формирующих изображение того, что Вы хотите показать, в регистры данных, затем помещая инструкции в регистр инструкций. Библиотека «Жидкий кристалл» упрощает это для Вас так, Вы не должны знать инструкции низкого уровня.
Процесс управления дисплеем представляет собой помещение данных, формирующих изображение того, что Вы хотите показать, в регистры данных, затем помещая инструкции в регистр инструкций. Библиотека LiquidCrystal упрощает этот процесс для Вас так, что Вам нет необходимости знать инструкции низкого уровня.
Совместимые с Hitachi LCD-дисплеи могут управляться в двух режимах: 4-битном или 8-битном. 4-битный режим требует 7 пинов ввода / вывода с Arduino, в то время как 8-битный режим требует 11 пинов. Для того, чтобы вывести текст на экран, Вы можете делать почти все в 4-битном режиме, таким образом пример показывает, как управлять LCD 2x16 в 4-битном режиме.
ЗАМЕЧАНИЕ: библиотека LiquidCrystal подверглась пересмотрам после версии Arduino 0016. Спасибо Limor Fried за изменения, включая 4-битные и 8-битные режимы и больше возможностей. Если Вы используете Arduino версии 0016 или старее, загрузите библиотеки LiquidCrystal и установите её в папку hardware/libraries.
Тем же, кто пользуется версией 0017 или новее, нет необходимости инсталлировать обновления.
ЦЕПЬ:
* Пин LCD RS подключается к цифровому пину ввода / вывода 12.
* LCD enable пин подключается к цифровому пину 11 ввода / вывода.
* Пины LCD D4 — D7 соединяются с пинами от 5 до 2, соответственно.
* Напряжение и заземление — к +5V и земле.
* Пин дисплея Vo, который управляет контрастом, соединяется с потенциометром. Настройте потенциометр так, как Вы хотите, чтобы текст показывался на дисплее в необходимом контрастном соотношении.
СХЕМА:
/*
LiquidCrystal Library - setCursor
Demonstrates the use a 16x2 LCD display. The LiquidCrystal
library works with all LCD displays that are compatible with the
Hitachi HD44780 driver. There are many of them out there, and you
can usually tell them by the 16-pin interface.
This sketch prints to all the positions of the LCD using the
setCursor(0 method:
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
Library originally added 18 Apr 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 August 2009
by Tom Igoe
http://www.arduino.cc/en/Tutorial/LiquidCrystal
*/
// include the library code:
#include <LiquidCrystal.h>
// these constants won't change. But you can change the size of
// your LCD using them:
const int numRows = 2;
const int numCols = 16;
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of rows and columns:
lcd.begin(numRows, numCols);
}
void loop() {
// loop from ASCII 'a' to ASCII 'z':
for (int thisLetter = 'a'; thisLetter <= 'z'; thisLetter++) {
// loop over the rows:
for (int thisRow= 0; thisRow < numRows; thisRow++) {
// loop over the columns:
for (int thisCol = 0; thisCol < numCols; thisCol++) {
// set the cursor position:
lcd.setCursor(thisCol,thisRow);
// print the letter:
lcd.print(thisLetter, BYTE);
delay(200);
}
}
}
}
комментарии(0)
Комментировать