Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Ход работы. 1.6 Управление текстовым дисплеем. Цель работы. Теоретическая справка




Ход работы

В начале работы необходимо выбрать сервомотор из библиотеки компонентов и подключить его к Arduino Uno так, как показано на рис. 43, 44.

Рис. 43 - Выбор компонента сервопривода

 

 

 

Рис. 44 - Схема подключения сервопривода к плате Arduino Uno

 

Переменная «servo. attach» используется для определения pin-вывода, которая предназначена для управления сервоприводом.

В функции «setup» подключается элемент «servo» с выводом 10, который будет управлять сервоприводом, используя необходимую команду:

servo. attach(10);

Так же следует добавить строку Serial. begin(9600), для подключения последовательного порта на скорости 9600 бит/сек. Чтобы отобразить содержимое используем функцию построчного вывода данных в последовательный порт Serial. println() и функцию вывода текущего положения сервопривода servo. read():

Serial. println(servo. read());

Используем дополнительно цикл do while. Общая конструкция цикла состоит из двух частей do{} основного тела цикла и while() условие для выполнения этого цикла:

do{операторы}

while (условие выполнения);

Далее задается переменная X, которая будет равна углу наклона вала в градусах как в одну сторону, так и в другую:

int x = 0; // задаем переменную Х как 0

do{

servo. write(x); //ставим вал под Х градусов

x=x+1;

delay(500);

Serial. println(servo. read());

}while(x< 180);

 

Рис. 45 - Листинг программы для управления электродвигателем – SERVO

 

После запуска симуляции в окне «Монитор последдовательного интерфейса» будут отбражаться значения угла поворота вала сервопривода. Слева на рабочем поле будет видно его перемещение. Итогом вал дойдет до 180 градусов, переместится к нулевому и снова повторит цикл.

 

1. 6 Управление текстовым дисплеем

 

Цель работы

Получить навыки программирования микроконтроллера, разработать программу вывода информации на текстовый дисплей LCD1602

 

Теоретическая справка

Для того чтобы отображать информацию, получаемую от приборов матрицы 8х8 точек, часто бывает недостаточно, для необходимы более удобные устройства. Электронные устройства, предназначенные для вывода символьной и графической информации, называются дисплеями.

Для обработки команд и вывода информации на монитор в дисплей встроен микроконтроллер. В данной лабораторной работе будет рассмотрен дисплей LCD1602 (представлен на рисунке 46) на базе микроконтроллера HD44780.

Рис. 46 – Внешний вид дисплея LCD1602

Рис. 47 – Внешний вид вывод

 

Дисплей LCD1602 имеет 16 выводов, назначение каждого приведено в соответствии с таблицей 3:

 

 

Таблица 3 - Назначение выводов LCD1602

Вывод Название Функция
VSS Общий
VDD 3-5 В
VD 3. 5 В
RS Устанавливает режим Команды / Данные
R/W Устанавливает режим Чтение / Запись
E Разрешение Чтение / Запись
DB0 Линия данных 0
DB1 Линия данных 1
DB2 Линия данных 2
DB3 Линия данных 3
DB4 Линия данных 4
DB5 Линия данных 5
DB6 Линия данных 6
DB7 Линия данных 7
LED+ Питание для подсветки (+)
LED- Питание для подсветки (-)

 

Старшие биты D0-D3 используются в " командном" режиме, в данной лабораторной работе они нам не понадобятся. Младшие биты D4-D7 в режиме " отображения данных". Для настройки контастности используется потенциометр со значением 10 Ом.

Для работы дисплеем LCD1602 следует использовать библиотеку " LiquidCrystal". Краткий перечень основных функций этой библиотеки приведен в таблице 4.

В начале программы следует создать переменную lcd со следующей функцией LiquidCrystal(rs, enable, d4, d5, d6, d7), которая инициализирует сосединение управляющей платы Arduino с микроконтролером HD44780.

 

Таблица 4 - Перечень основных функций библиотеки LiquidCrystal

 

Название функции Параметры Описание
lcd. begin(cols, rows) lcd: переменная типа LiquidCrystal cols: количество столбцов экрана rows: количество строк экрана Инициализирует интерфейс для взаимодействия с LCD-экраном и задает размеры (ширину и высоту) области вывода экрана. При работе с LCD-дисплеем, функция begin() должна вызываться первой и предшествовать другим командам из библиотеки LiquidCrystal.
lcd. setCursor(col, row) col — номер строки в ряду (начиная с 0) row — номер ряда (начиная с 0 для первого ряда) Для написания текста важно установить положение курсора в определённую строку и ряд с которой экран начнет выводить последующий текст. Данная команда перемещает курсор индикатора в заданное место
lcd. Сlear()   Очищает LCD-экран и перемещает курсор в левый верхний угол. (нулевая строка и столбец)
lcd. home()   Перемещает курсор в левый верхний угол экрана. Т. е. после вызова этой функции, последующий текст будет выводится с начала экрана. Для очистки экрана используйте функцию clear()
lcd. print(data, BASE) data — данные для печати (тип char, byte, int, long или string) BASE (опционально) — основание, по которому печатаются числа: BIN для двоичных (основание 2), DEC для десятичных (основание 10), OCT для восьмеричных (основание 8), HEX для шестнадцатеричных (основание 16) Функция print() печатает текст на жидкокристаллическом индикаторе
lcd. write(data) data — символ, который необходимо вывести на экран Выводит символ на LCD-экран
lcd. createChar(num, data) num — номер создаваемого символа (0 до 7) data — данные символьных пикселов Функция createChar() создаёт пользовательский символ (глиф) для использования на жидкокристаллическом дисплее. Поддерживаются до восьми символов 5× 8 пикселов (нумерация с 0 до 7). Создание каждого пользовательского символа определяется массивом из восьми байтов — один байт для каждой строки. Пять младших значащих битов каждого байта определяют пикселы в этой строке. Чтобы вывести пользовательский символ на экран, используйте функцию write() с номером символа в качестве параметра.
lcd. scrollDisplayLeft() lcd. scrollDisplayRight()   пролистывает информацию на экране индикатора (текст и курсор) на одно знакоместо влево

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...