Arduino:Примеры/LiquidCrystalSerialinput

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


ЖК-экран – отображение входящей информации[1]

Библиотека LiquidCrystal позволяет вам управлять ЖК-экранами, которые совместимы с драйвером Hitachi HD44780. Моделей этих экранов встречается довольно много, а их управление осуществляется, как правило, через 16-контактный интерфейс.

Этот скетч принимает от компьютера-хоста информацию, идущую через последовательный порт, а затем отображает ее на ЖК-экране. Чтобы увидеть скетч в действии, загрузите его, откройте Serial Monitor, напишите несколько символов и нажмите «Send». Введенный вами текст появится на ЖК-дисплее.

Необходимое оборудование:

  • Плата Arduino;
  • ЖК-экран (совместимый с драйвером Hitachi HD44780);
  • Штырьковые соединители, припаянные к контактам ЖК-экрана;
  • Потенциометр на 10 кОм;
  • Макетная плата Breadboard;
  • Провода-перемычки;

Цепь

Перед тем, как подключать ЖК-экран к Arduino, нам надо припаять линейку штырьковых соединителей к коннектору с 14 (или 16) контактами. Затем, при подключении ЖК-экрана к Arduino, нужно соединить следующие контакты:

  • RS – с 12-ым цифровым контактом
  • Enable – с 11-ым цифровым контактом
  • D4 – с 5-ым цифровым контактом
  • D5 – с 4-ым цифровым контактом
  • D6 – с 3-им цифровым контактом
  • D7 – со 2-ым цифровым контактом

Также подсоединяем 10 кОмовый потенциометр: концы – к +5V и Gnd, а движок – к контакту Vo ЖК-экрана.

LCD bb LiquidCrystalSerial.png

Схема

LCD schem LiquidCrystalSerial.png

Код

 1 /*
 2 Библиотека LiquidCrystal – отображение входящей информации
 3  
 4 Демонстрирует использование ЖК-дисплея 16х2. Библиотека LiquidCrystal
 5 работает со всеми ЖК-дисплеями, которые совместимы с драйвером Hitachi HD44780. Моделей, отвечающих этим критериям, довольно много,
 6 а управлять ими можно, как правило, при помощи 16-контактного интерфейса.
 7 
 8 Этот скетч показывает на ЖК-экране, подключенном к Arduino,
 9 текст, введенный пользователем через Serial Monitor.
10  
11 Цепь (ЖК-экран):
12 * Контакт RS подключаем к 12-ому цифровому контакту
13 * Контакт Enable – к 11-ому цифровому контакту 
14 * Контакт D4 – к 5-ому цифровому контакту
15 * D5 – к 4-ому цифровому контакту
16 * D6 – к 3-ему цифровому контакту
17 * D7 – ко 2-ому цифровому контакту
18 * Контакт R/W – к «земле»
19 
20 Цепь (10000-омовый потенциометр):
21 * концы – к +5V и «земле»
22 * движок – к Vo (т.е. к 3-ему контакту)
23 
24 Первоначально библиотека добавлена 18 апреля 2008 Дэвидом А. Меллисом (David A. Mellis),
25 а модифицирована 5 июля 2009 Лимор Фрид (Limor Fried, http://www.ladyada.net).
26 
27 Пример добавлен 9 июля 2009 Томом Иго (Tom Igoe),
28 модифицирован 22 ноября 2010 им же.
29  
30 Этот код не защищен авторским правом.
31  
32 http://arduino.cc/en/Tutorial/LiquidCrystalSerial
33 */
34 
35 // Подключаем код библиотеки:
36 #include <LiquidCrystal.h>
37 
38 // Инициализируем библиотеку, создавая экземпляр класса lcd
39 // и указывая в нем номера используемых контактов Arduino:
40 LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
41 
42 void setup(){
43   // Задаем количество столбцов и рядов в ЖК-экране: 
44   lcd.begin(16, 2);
45   // Инициализируем последовательную передачу данных:
46   Serial.begin(9600);
47 }
48 
49 void loop()
50 {
51   // Если через последовательный порт пришли какие-нибудь данные,... :
52   if (Serial.available()) {
53     // ...немного ждем, пока придет все сообщение целиком,... :
54     delay(100);
55     // ...очищаем экран,... :
56     lcd.clear();
57     // ...считываем все доступные символы,... :
58     while (Serial.available() > 0) {
59       // ...и отображаем их все на ЖК-экране:
60       lcd.write(Serial.read());
61     }
62   }
63 }

См.также

  1. lcd.begin()
  2. lcd.print()
  3. lcd.clear()
  4. lcd.write()
  5. Liquid Crystal Library
  6. Blink: control of the block-style cursor.
  7. Cursor: control of the underscore-style cursor.
  8. Display: quickly blank the display without losing what's on it.
  9. TextDirection: control which way text flows from the cursor.
  10. Scroll: scroll text left and right.
  11. SetCursor: set the cursor position.
  12. Autoscroll: shift text right and left.

Внешние ссылки