Разработать меню Arduino (Москва)

petrovvladimir
petrovvladimir аватар
Offline
Зарегистрирован: 08.01.2015
Здравствуйте!
Нужна помощь с проектом интерактивной подсветки лестницы. Необходимо доработать код проекта на Ардуино.
 
1. Подключить к проекту I2C экран 1602А (2 строки)
2. Подключить 4 кнопки для управления (2 для перемещения по меню, 2 для изменения параметров)
3. Написать меню для возможности изменения параметров пользователем устройства посредствам экрана и кнопок
4. Реализовать запись всех параметров в энергонезависимую EEPROM чтобы при отключении питания они не сбрасывались

Бюджет 1000 рублей. Либо могу расплатиться 3 платами для реализации этого проекта. Заказывал 10 на JLCPCB, но столько мне явно не нужно. =)

mixail844
Offline
Зарегистрирован: 30.04.2012

скажу сразу ,я браться не собираюсь .

стало интерсно ,какие типы (и сколько) параметров нужно уметь изменять

какой функцинал ожидается от менюшки ? отображение часов (например) ,авто спящий режим , какова "глубина" вложенности меню  ? 

просто недавно по работе "пилил" менюшку на 4-ех строчный alpha-numeric экран , со всплывающими "окнами" , с софтверными кнопками и пр. индикаторами ,не на ардуино . может смогу что то подсказать или сам побалуюсь с написанием в качестве разминки.

могу сразу скзать,в ТЗ , вам не хватает кнопки "ввода" что бы преключаться между режимом "изменение параметра " и "перемещение по меню" 

petrovvladimir
petrovvladimir аватар
Offline
Зарегистрирован: 08.01.2015
Хотелось бы реализовать:
1. Установка кол-ва ступеней
2. Настройка яркости
3. Задержка зажигания
4. Задержка затухания
5. Задержка во включенном состоянии
6. Уровень минимального освещения для включения (возможно понадобится добавить переменную, так как значение прописано напрямую в коде «if (val <= 1000)»)
7. Выбор типа датчика (как я понимаю значение срабатывания либо 0, либо 1)
 
Кнопки конечно можно и на энкодер заменить. Думаю, так даже удобнее будет.
petrovvladimir
petrovvladimir аватар
Offline
Зарегистрирован: 08.01.2015

По моей логике, на первой строке должно быть название пункта меню (параметра), а на второй строке значение переменной.

Например:

1.
Установка кол-ва ступеней
22
 
2.
Настройка яркости
100
 
3.
Задержка зажигания
5
 
и т.д.
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Как-то понадобилось достаточно развитое древовидное меню. Пока рисовал структуру, понял, что реализовать такое меню в виде готовой константной структуры - задача очень утомительная. Поэтому выбрал вариант динамического меню, создаваемого в процессе выполнения скетча. Т.е. можно создавать "жесткое" меню прямо в setup(), можно создавать меню на основе данных, прочитанных из EEPROM или с SD-карты, а можно создавать и видоизменять меню в процессе выполнения - в зависимости от пользовательского ввода.

Основная идея, думаю, понятна по заголовку: http://arduino.ru/forum/programmirovanie/sozdanie-menyu-arduino-uno-displei-oled-12864#comment-267680

PS. Да, скетчи на заказ я не пишу, просто кто-то может воспользоваться этой идеей для создания собственного меню.

karamzin01
Offline
Зарегистрирован: 08.03.2018

Здравствуйте коллега, пишите - обсудим, почта maslachenko767@mail.ru На руках есть компонентов для отладки вашей задачи

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

спасибо

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

andriano пишет:

Как-то понадобилось достаточно развитое древовидное меню. Пока рисовал структуру, понял, что реализовать такое меню в виде готовой константной структуры - задача очень утомительная. 

Та ладно. Если нарисовать примитивные компоненты, то организовать их в древодидную структуру не трудно.#248

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Если одноуровневое меню с тремя элементами - совсем не трудно. А если количество уровней различно по разным веткам и достигает, скажем, 4 (как в моем проекте), а количество подпунктов в каждом случае свое, то записать такое меню в виде константы уже представляет определенную сложность. И проще оказывается сформировать меню программно.

 

В принципе существуют варианты. Например, написать программу для ПК, которая бы формировала текстовый файл исходника нужного константного меню, и затем уже этот исходник использовать в скетче.

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Да таких программ полно в инете. Я на Delphi писал