Шановні друзі!
26 та 31 грудня магазин працюватиме до 16 години. 1 та 2 січня магазин працювати не буде.
Вітаємо всіх з Різдвом та Новим Роком!
Мобільна версія Форум Arduino Документація Гарантійні умови 0 0
UA RU
Графік роботи магазину:
Пн-Пт: 8.00 - 19.00
Сб: 10.00 - 17.00
Нд: вихідний
Каталог
Напиши статтю і отримай знижку!

Простое многоуровневое меню для LCD дисплея

2016-01-16

Всі статті →

Назарчик Дядюн

При создании многих устройств с использованием ЖК дисплеев, иногда хочется сделать меню для более простого управления девайсом. Сделать меню для простых задач можно буквально за 5 минут при знании языка программирования. Я немного под напрягся и сделал свое многоуровневое меню!

Для создания мне понадобились:

В самом начале запуска программы нас встречает приятная анимация загрузки:

Далее идёт небольшое приветствие(Фото нет)

Затем информация о текущей версии:

Затем нам предлагают выбрать устройство(Uno или MEGA)

Единственное отличие у версий в том, что на Меге некорректно работают градусник и вольтметр(Встроенные) , и что-бы полностью от них не отказываться, я решил сделать такую функцию. После всех этих процессов, мы попадаем наконец таки в главное меню где отображаются вся статистика:

(Статус светодиода, статусы 2 реле, работоспособность реле (но об этом позже), и вольтметр с градусником(На Arduino Mega надпись "Blocked on MEGA")

В случае с UNO эта же страничка выглядит как-то так:

Так как у меня шилд с клавиатурой, то я конечно-же ее задействовал! Кнопки мы используем для навигации по меню, кнопку "Select" для изменения параметров и выбора.

Несколько фотографий из меню:

Управление реле:

Управление светодиодом:

Ну и наконец-таки тестер реле:

Что он из себя представляет:

Arduino 5 раз включает и выключает уровень на порте где подключено реле(Включает их и выключает). Нужно подключить +5в на другой из портов через реле(Что бы можно было замкнуть цепь с помощью сигнала). То есть +5в на один из контактов реле, а из другого на порт Arduino

Потом когда плата включает реле, она считывает состояние порта, если на нем высокий уровень, значит реле сработало правильно и добавляется +1 к переменной. После 5 таких раз, плата сравнивает переменную с числом 5, если оно равно 5, то всё Ок, если хоть на 1 больше или меньше, то напишет "Error". Конечно я сам не вижу предназначения такой функции, но выглядит прикольно=)

На этом меню вроде как заканчивается.

Спасибо сайту Arduino.ua за всю технику(Включая Arduino и компоненты для шилда)

А вам спасибо за внимание, скетч прилагаю:

Ваша оцінка статті:

Відмінно
Добре
Задовільно
Погано
Дуже погано

Загальна оцінка:

Оцінка "Простое многоуровневое меню для LCD дисплея"
1 з 5
зроблена на основі 5 оцінок 5 клієнтських відгуків.

Дякуємо Вам за звернення! Ваш відгук з'явиться після модерації адміністратором.
Гоша радист
13.12.2021 13:42:07
Просто у него задействован 10 пин, который регулирует яркость подсветкиИ не будет работать.
Роман
29.04.2021 18:41:48
Друг я у тебя нашел фичу он у тебя не работает
Alex
03.02.2021 09:52:20
неработает
Олег
15.03.2020 17:24:56
У меня дисплей загорается и гаснет. И ничего не работает:(
Mr. Alex
17.04.2018 14:09:22
Скетч слишком запутан и не редактируемый!А "приятная анимация загрузки" вообще жесть!lcd.print(" Loading. ");lcd.setCursor(0, 1);lcd.print("1");delay(200);lcd.print("1");delay(250);lcd.print("1");...Что это? Для чего это? Почти 4 с будет отрабатывать эта анимация псевдозагрузки, 4 с простоя! А в реальности ничего не загружается, только имитация работы! Есть смысл вводить что-то подобные, когда у вас при старте создаются сложные объекты, тогда можно инициализации этих объектов вставить между lcd.print("1"); вместо delay().
оплата картами Visa і MasterCard