Вы находитесь на странице: 1из 10

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ


УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ ИМ. В.Г. ШУХОВА» (БГТУ ИМ. В.Г. ШУХОВА)

Институт энергетики, информационных технологий и управляющих систем

Кафедра «Техническая кибернетика»

Лабораторная работа № 3

на тему: «Изучение жидкокристаллических индикаторов как


устройств вывода информации»

по дисциплине «Основы мехатроники и робототехники»

Выполнил:

Баптишта Паулу. гр. МР-11

Вера Бенитес Диегу. гр. МР-11

Тшипунгу Э. Афонсу гр. МР-11

Преподаватель:

к.т.н., доцент Юдин Д.А.

Белгород 2017
Содержание
1.Цель работы..............................................................................................................3
2.Краткие теоретические сведения............................................................................4
3. Примеры практических работа..............................................................................6
3.1. Разработка алгоритма.......................................................................................7
3.2. Программная реализация..................................................................................9
Заключение................................................................................................................11
Список литературы....................................................................................................12

2
1.Цель работы

Целью данной лабораторной работы является: изучение возможностей


жидкокристаллического дисплея (в данном случае LCD1602) по выводу
информации с Arduino Uno, а также взаимодействия с ним и выполнения
различных функций.

А также реализовать выполнение следующих задач:

1. Собрать схему содержащую Arduino Uno, потенциометр (50 кОм) и


LCD1602 дисплей.

2. Осуществить вывод информации на дисплей при помощи


микроконтроллера, а также обмен сообщениями с Arduino и ПК через
последовательный порт.

Для этого необходимо создать массив строк – возможных ответов компьютеру


от микроконтроллера Arduino

В зависимости от появляющихся слов необходимо формировать


соответствующие ответы в Монитор последовательного порта и
жидкокристаллический экран (первую строку).

3. Вывести на вторую строку экрана текущее время в формате


чч:мм:сс:xxx, здесь чч – часы, мм – минуты, сс – секунды, xxx – миллисекунды.

3
2. Краткие теоретические сведения

Вообще говоря, LCD1602 имеет параллельные порты, то есть он должен


одновременно управлять несколькими контактами. LCD1602 можно отнести к
восьмипортовому соединению и четырехпортовому соединению. Если
используется восьмипортовое соединение, то цифровые порты платы
RobotLinking Uno в основном полностью заняты. Если вы хотите подключить
больше датчиков, портов не будет. Поэтому мы будем использовать
четырехпортовое соединение.

 Введение в контакты LCD1602:

VSS: контакт, который соединяется с землей.

VDD: контакт, который подключается к источнику питания + 5V.

VO: контакт, который регулирует контрастность LCD1602

RS: контакт вывода регистра, который контролирует, где на ЖК-дисплее


" с которой вы пишете данные. Вы можете выбрать либо регистр данных,
который содержит то, что находится на экране, либо регистр команд, в котором
контроллер ЖК-дисплея ищет инструкции о том, что делать дальше.

R / W: контакт чтения / записи, который выбирает режим чтения или


режим записи

E: контакт включения, который при подаче энергии низкого уровня


заставляет модуль LDC выполнять соответствующие инструкции.

D0-D7: контакты, которые считывают и записывают данные

A и K: контакты, управляющие светодиодной подсветкой

В этом эксперименте мы будем использовать потенциометр 50 кОм для


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

LCD дисплеи размерности 1602, на базе контроллера HD44780 (рис.1),


являются одними из самых простых, доступных и востребованных дисплеев для
разработки различных электронных устройств.

Данные дисплеи имеют два исполнения: желтая подсветка с черными


буквами либо, что встречается чаще, синюю подсветку с белыми буквами.

4
Рис. 1 Arduino

3. Примеры практических работа


Ниже приведена электрическая схема подключения дисплея,
потенциометра к Arduino.

Рис. 2 Схема
подключения дисплея к Arduino

5
3.1. Разработка алгоритма
.

Рис. 3 Блок-схема алгоритма обмена данных

6
Рис. 4 Блок-схема алгоритма «вывод даты и времени»

7
3.2. Программная реализация

#include <LiquidCrystal.h>
#include <TimeLib.h>
unsigned long time1=0; //переменная для хранения
миллисекунд
LiquidCrystal lcd(6, 7, 9, 10, 11, 12);

String vop[]={"Hello", "How are you", "Im good,Do you like ice cream",
"tell me a good song", "Which is your favorite subject?","what is ypur name
",}; //массив строк для ответов
String otv[]={"Hi", "I'm fine, and you", "no, i cant eat man, im a
robot","soldadito marinero", "mechatronics and robotics","I think Arduino "};
String k;

void setup() {
Serial.begin(9600);
lcd.begin(16,2);
setTime(21,01,35,10,12,2017);

}
void loop() {
if(Serial.available()>0){
k=Serial.readString();
if (k==vop[0]){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(otv[0]);
}
else if(k==str[1]){
lcd.clear();
lcd.setCursor(0,0);
lcd.print(otv[1]);
}
else{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(otv[2]);
}
}

lcd.setCursor(0, 1);
lcd.print( hour());
lcd.print( ":" );
lcd.print( minute());
lcd.print( ":" );
lcd.print( second() );
lcd.print( ":" );
time1=millis();
time1=time1%1000;
lcd.print(time1);
delay(200);

8
Заключение

Получили опыт работы с жидкокристаллическим дисплеем LCD1602, а


также получили навык обработки данных введенных в монитор порта и
отправленных на дисплей. Также научились выполнять некоторые простейшие
задачи на вывод информации на дисплей с микроконтроллера и «общение» с
микроконтроллером на основе заданных фраз вопросов/ответов.

9
Список литературы

1. Основные конструкции языка применяемые в Arduino IDE


https://www.arduino.cc/en/Reference/HomePage

2. https://fabricadigital.org/2015/11/como-conectar-una-pantalla-lcd-1602-a-
arduino/

3. Подключение ЖК индикатора к Ардуино http://mypractic.ru/urok-23-


podklyuchenie-zhk-lcd-indikatorov-k-arduino-biblioteka-liquidcrystal.html

10

Вам также может понравиться