Arduino:Примеры/LiquidCrystalSetCursor: различия между версиями
Myagkij (обсуждение | вклад) м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">») |
Нет описания правки |
||
Строка 9: | Строка 9: | ||
Этот пример демонстрирует, как при помощи функции setCursor() менять позицию курсора. Вам нужно лишь вызвать эту функцию, а аргументами в ней указать столбец и ряд, в которые нужно установить курсор. Вот несколько примеров для дисплея '''2х16''': | Этот пример демонстрирует, как при помощи функции setCursor() менять позицию курсора. Вам нужно лишь вызвать эту функцию, а аргументами в ней указать столбец и ряд, в которые нужно установить курсор. Вот несколько примеров для дисплея '''2х16''': | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
lcd.setCursor(0, 0); // левый верхний край | lcd.setCursor(0, 0); // левый верхний край | ||
lcd.setCursor(15, 0); // правый верхний край | lcd.setCursor(15, 0); // правый верхний край | ||
Строка 46: | Строка 46: | ||
==Код== | ==Код== | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
/* | /* | ||
Библиотека LiquidCrystal – смена положения курсора | Библиотека LiquidCrystal – смена положения курсора |
Версия от 18:19, 14 мая 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
ЖК-экран – смена положения курсора [1]
Библиотека LiquidCrystal позволяет вам управлять ЖК-экранами, которые совместимы с драйвером Hitachi HD44780. Моделей этих экранов встречается довольно много, а их управление осуществляется, как правило, через 16-контактный интерфейс.
Этот пример демонстрирует, как при помощи функции setCursor() менять позицию курсора. Вам нужно лишь вызвать эту функцию, а аргументами в ней указать столбец и ряд, в которые нужно установить курсор. Вот несколько примеров для дисплея 2х16:
lcd.setCursor(0, 0); // левый верхний край
lcd.setCursor(15, 0); // правый верхний край
lcd.setCursor(0, 1); // левый нижний край
lcd.setCursor(15, 1); // правый нижний край
Необходимое оборудование:
- Плата 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 ЖК-экрана.
Схема
Код
/*
Библиотека LiquidCrystal – смена положения курсора
Демонстрирует использование ЖК-дисплея 16х2. Библиотека LiquidCrystal
работает со всеми ЖК-дисплеями, которые совместимы с драйвером Hitachi HD44780. Моделей, отвечающих этим критериям, довольно много,
а управлять ими можно, как правило, при помощи 16-контактного интерфейса.
Этот скетч печатает буквы латинского алфавита
на всех позициях ЖК-экрана при помощи функции setCursor():
Цепь (ЖК-экран):
* Контакт RS подключаем к 12-ому цифровому контакту
* Контакт Enable – к 11-ому цифровому контакту
* Контакт D4 – к 5-ому цифровому контакту
* D5 – к 4-ому цифровому контакту
* D6 – к 3-ему цифровому контакту
* D7 – ко 2-ому цифровому контакту
* Контакт R/W – к «земле»
Цепь (10000-омовый потенциометр):
* концы – к +5V и «земле»
* движок – к Vo (т.е. к 3-ему контакту)
Первоначально библиотека добавлена 18 апреля 2008 Дэвидом А. Меллисом (David A. Mellis),
а модифицирована 5 июля 2009 Лимор Фрид (Limor Fried, http://www.ladyada.net).
Пример добавлен 9 июля 2009 Томом Иго (Tom Igoe),
модифицирован 22 ноября 2010 им же.
Этот код не защищен авторским правом.
http://arduino.cc/en/Tutorial/LiquidCrystalSetCursor
*/
// Подключаем код библиотеки:
#include <LiquidCrystal.h>
// Это константы, т.е. значения, которые во время работы скетча меняться не будут.
// Однако, меняя эти цифры, вы можете изменить размер ЖК-экрана:
const int numRows = 2;
const int numCols = 16;
// Инициализируем библиотеку, создавая экземпляр класса lcd
// и указывая номера используемых контактов Arduino:
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// Задаем количество столбцов и рядов ЖК-экрана:
lcd.begin(numCols,numRows);
}
void loop() {
// «Прочесываем» по всем латинским ASCII-символам: от «a» до «z»:
for (int thisLetter = 'a'; thisLetter <= 'z'; thisLetter++) {
// «Прочесываем» по столбцам:
for (int thisCol = 0; thisCol < numRows; thisCol++) {
// «Прочесываем» по рядам:
for (int thisRow = 0; thisRow < numCols; thisRow++) {
// Устанавливаем позицию курсора:
lcd.setCursor(thisRow,thisCol);
// Печатаем букву:
lcd.write(thisLetter);
delay(200);
}
}
}
}
См.также
- lcd.begin()
- lcd.print()
- lcd.setCursor()
- for()
- Liquid Crystal Library
- Blink: control of the block-style cursor.
- Cursor: control of the underscore-style cursor.
- Display: quickly blank the display without losing what's on it.
- TextDirection: control which way text flows from the cursor.
- Scroll: scroll text left and right.
- Serial input: accepts serial input, displays it.
- Autoscroll: shift text right and left.