Каталог
|
Простое многоуровневое меню для 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 и компоненты для шилда) А вам спасибо за внимание, скетч прилагаю:
Благодарим Вас за обращение! Ваш отзыв появится после модерации администратором.
Гоша радист
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().
|