Простое меню на Arduino и ЖК дисплее

В разнообразных проектах на основе платы Arduino достаточно часто возникает задача создания меню, отображаемого на экране ЖК дисплея 16х2 и управляемого с помощью кнопок. В данной статье мы рассмотрим один из самых простых способов создания подобного меню (какой я только нашел в интернете). В этом проекте мы с помощью данного меню будем управлять светодиодом, но его легко можно адаптировать под любые другие электронные проекты на основе платы Arduino.

Внешний вид проекта меню на Arduino и ЖК дисплееНеобходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. Светодиод (купить на AliExpress).
  4. Резисторы 220 Ом (2 шт.) и 1 Ом (купить на AliExpress).
  5. Кнопочная панель с 4-мя кнопками или 3 обычных кнопки (купить на AliExpress).
  6. Макетная плата.
  7. Соединительные провода.

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

Внешний вид компонентов, необходимых для сборки проектаСхема проекта

Схема проекта меню на основе платы Arduino и ЖК дисплея 16х2 представлена на следующем рисунке.

Схема проекта меню на основе платы Arduino и ЖК дисплея 16х2На следующем рисунке эта схема показана применительно к ее сборке на макетной плате.

Схема сборки проекта на макетной плате

Далее на нескольких рисунках последовательно представлен процесс сборки этой схемы на макетной плате.

Сначала подключаем ЖК дисплей – питание и общий провод.

Подключение питания на ЖК дисплейЗатем подключаем контакты для передачи данных ЖК дисплея. Здесь использован 8-битный способ подключения ЖК дисплея к плате Arduino, но можно упростить схему, использовав 4-битный режим.

Подключение контактов управления ЖК дисплеем

Подключение контактов передачи данных ЖК дисплеяПодключаем контакт 16 ЖК дисплея на землю, а к контакту 15 дисплея подключаем резистор сопротивлением 1 Ом. Автор проекта (ссылка на оригинал приведена в конце статьи) рассчитал сопротивление данного резистора исходя из даташита на используемую им модель ЖК дисплея (LMB 162ABC). Если фоновая подсветка дисплея (Backlight) вам не нужна, то эти контакты можно оставить неиспользованными.

Подключение контактов управления фоновой подсветкой ЖК дисплеяДалее подключаем светодиод к контакту 9 платы Arduino через токоограничивающий резистор 220 Ом.

Подключение светодиода к контакту 9 платы ArduinoДалее подключаем кнопочную панель согласно ранее представленной схемы, либо же вместо нее вы можете использовать 3 обычные кнопки. В результате получаем следующий внешний вид собранной конструкции проекта.

Подключение кнопочной панели к плате Arduino

Исходный код программы (скетча)

Автор проекта разработал его код таким образом, чтобы его можно было легко адаптировать (изменять) под другие проекты. Схема меню, реализуемая кодом программы, показана на следующем рисунке.

Схема меню для нашего проектаПри первоначальном нажатии кнопки вы можете выбрать пункт Navigate (навигация) или Execute (исполнение).

Пункт Execute (исполнение): в этом пункте мы будем управлять светодиодом – включать/выключать, плавно угасать или мигать.

Пункт Navigate (навигация): этот пункт меню мы будем использовать для навигации с помощью кнопок.

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

Внешний вид собранной конструкции проекта с подписанными названиями кнопокДалее представлен исходный код программы для реализации меню.

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
67 просмотров


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *