СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Методическая разработка «Работа с LCD дисплеем на Arduino. Анимация бегущей строки»

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Методическая разработка «Работа с LCD дисплеем на Arduino. Анимация бегущей строки»»

МУНИЦИПАЛЬНОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ДОПОЛНИТЕЛЬНОГО ОБРАЗОВАНИЯ

«ЦЕНТР ДЕТСКОГО ТЕХНИЧЕСКОГО ТВОРЧЕСТВА»










Методическая разработка

«Работа с LCD дисплеем.

Анимация бегущей строки»

к дополнительной общеобразовательной

общеразвивающей программе

технической направленности

«Лаборатория робототехники»



Возраст детей: 10-15 лет









Автор: Костычев Вадим Александрович













г. Заречный Пензенской области

2022 г.

В ходе изучения робототехники, схемотехники и программирования на основе платформы Arduino большую роль играет разработка проектов. Они позволяют отработать как навыки программирования, так и сборки электрических цепей устройств. Данная разработка призвана отработать навыки работы с LCD-дисплеями, а именно – работу с бегущей строкой.

Целью данной разработки является повышение интереса учащихся к техническому творчеству посредством работы с платформой Arduino.

Данная методическая разработка используется как обучающий пример по дополнительной общеобразовательной общеразвивающей программе технической направленности «Лаборатория робототехники». С их помощью учащиеся смогут понять, с помощью каких алгоритмов можно запрограммировать «Бегущую строку». Данные проекты рассчитаны на стартовый уровень обучения.

«Бегущая строка»

«Бегущую строку» возможно запрограммировать несколькими разными способами. В данной разработке программирование будет осуществляться двумя способами: при помощи встроенных методов прокрутки и без них. Каждый из этих способов удобен для использования в различных условиях.

Принципиальная схема





Бегущая строка без специальных методов прокрутки

«Бегущая строка» без использования специальных методов прокрутки работает на основе цикла for и метода clear(). Метод clear() позволяет стереть текст с экрана, а каждая новая интерация переменной i перемещает курсор на следующую позицию. После этого печатается заранее заданный текст.

Важно отметить диапазон работы цикла for. Если мы движемся слева направо, то первая позиция переменной i должна быть равна 0, а условие выполняться пока i I text.

Листинг программы

#include // библиотека для работы с модулем I2C

#include // библиотека для работы с ЖК-экраном

LiquidCrystal_I2C LCD(0x27, 16, 2); // объявление имени экрана(адреса, кол-ва ячеек, строк)


int stime = 500; // переменная задержки прокрутки 500 мс

String text = "Hello"; // данная строковая переменная будет хранить текст для вывода


void setup() { // единоразовая функция настройки работы платы

LCD.init(); // инициализация работы ЖК-экрана

LCD.backlight(); // включение подсветки экрана

LCD.clear() // отчистка экрана перед началом работы

}


void loop() { // повторяющаяся функция

for (int i = 0; i

// text.length() определяет кол-во символов в строке

LCD.setCursor(i, 0); // установка курсора в ячейку i первой строки

LCD.print(text); // // печать текста из переменной text

delay(stime); // задержка для корректного отображения на экране

LCD.clear(); // отчищаем экран

}

for (int i = 16 - text.length(); i 0; i--) { // цикл прокрутки текста влево.

// text.length() определяет кол-во символов в строке. Двигаемся переменной i до 0 позиции

LCD.setCursor(i, 0); // установка курсора в ячейку i первой строки

LCD.print(text); // печать текста из переменной text

delay(stime); // задержка для корректного отображения на экране

LCD.clear(); // отчищаем экран

}

}


Бегущая строка с использованием метода scrollDisplay

Алгоритм данного алгоритма схож с прошлым алгоритмом, но при помощи методов scrollDisplayLeft() и scrollDisplayRight() плата самостоятельно двигает курсор строки. Однако цикл for мы указываем аналогичным образом, как и в прошлом примере.

Важно отметить, что при использовании данных методов нет необходимости использовать отчистку экрана, а также перепечатывать текст – он печатается только один раз, а затем только перемещается по строке дисплея.

Листинг программы

#include // библиотека для работы с I2C

#include // библиотека для работы с ЖК-экраном

LiquidCrystal_I2C LCD(0x27, 16, 2); // объявление имени экрана, адреса, кол-ва ячеек, строк


int stime = 500; // переменная задержки прокрутки на 500 мс

String text = "Hello world!";


void setup() { // единоразовая функция настройки работы платы

LCD.init(); // инициализация работы ЖК-экрана

LCD.backlight(); // включение подсветки экрана

LCD.clear(); // отчистка экрана

LCD.print(text); // единоразовая печать прокручиваемого текста

}


void loop() { // повторяющаяся функция

for (int i = 0; i

LCD.scrollDisplayRight(); // прокрутка вправо

delay(stime); // задержка в 500 мс для коррекного отображения экраном

}

for (int i = 16; i 0; i--) { // цикл прокрутки текста влево (16-6 символов)

LCD.scrollDisplayLeft(); // прокрутка влево

delay(stime); // задержка в 500 мс для коррекного отображения экраном

}

}