Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#81

Сообщение ingener » 06.08.2019{, 11:40}

Если удалить эти два блока, то меню перестает работать (нет входа по нажатии кнопки энкодера).

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#82

Сообщение ingener » 06.08.2019{, 12:32}

И где же взять строковые блоки ecoins :smile37:
пробовал "вывод входной строки" - но не работает, даже не компилируется.
Видимо, не те...

ecoins
Полковник
Сообщения: 2930
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Проект с меню на 1602 и энкодере

#83

Сообщение ecoins » 06.08.2019{, 12:36}

Но в целом проблема с переключением по входу EN существует. Об этом #Dryundel писал в ветке "Разработки Ecoins".
Размышляли над его предложениями. Теперь и Ваш проект добавил размышлений.
Попробуем на быструю руку сделать новые блоки с дополнительным входом, как предлагал #Dryundel и выложим на форуме. Вроде красиво должно получиться.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#84

Сообщение rw6cm » 06.08.2019{, 13:21}

ingener,
Тема разрослась, тяжко вникать до чего дошли)
Где можно глянуть мало-мальски рабочий проект?
думал в посте 104, но там лажа, Гена и энкодер весят на 4 пине.
Win10-64, FLProg (portable)

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#85

Сообщение ingener » 06.08.2019{, 13:48}

rw6cm, проблема в том, что конкретного проекта одного нет, он со временем трансформируется (с помощью av и других участников), но в итоге суть все равно остается как arduino + энкодер + LCD.
Теперь наверняка никому не интересен функционал (какие сигналы куда и зачем - это все элементарно и организуется обычными блоками), а вот отработать быструю стабильную связку "энкодер - меню - LCD" было бы полезно, наверное, многим.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#86

Сообщение ingener » 06.08.2019{, 15:21}

av, именно так. До момента добавления блока генератора все работает четко. Весь смысл в том, попробовать выяснить, работают ли блоки ecoins в этом смысле лучше (берут меньше ресурсов = можно впихнуть генератор).
А так не было бы проблем, просто нужен второй контроллер отдельно для генератора.
Или пробовать прямое подключение LCD, без шины, но это не хотелось бы)

Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24.11.2017{, 16:25}
Репутация: 37
Откуда: Червоноград
Имя: Марьян

Проект с меню на 1602 и энкодере

#87

Сообщение dizzyy » 06.08.2019{, 16:30}

да вся суть завязана что для енкодера нужно 2 ножки с прерыванием ..
я отхожу от них переходя на джойстики - 2 аналога + 1 цифровой для кнопки ..в итоге 4 направления движений , и если захотеть можно реализовать разную скорость перелистывания..

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Проект с меню на 1602 и энкодере

#88

Сообщение Dryundel » 06.08.2019{, 20:10}

dizzyy писал(а):
06.08.2019{, 16:30}
да вся суть завязана что для енкодера нужно 2 ножки с прерыванием ..
Соглашусь, на двух входах с прерываниями, энкодеры работают вполне приемлемо. И если входы с прерываниями не требуются больше в проекте. То к примеру вот эти блоки работают очень даже не плохо. Но сочетать их со скоростным счетчиком не представляется возможным.
Вообще я пришел к мнению, что для скоростного счетчика с которым в паре к примеру ПИД надо использовать отдельный контроллер который больше не стоит ни чем грузить.
Последний раз редактировалось Dryundel 07.08.2019{, 09:14}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#89

Сообщение rw6cm » 07.08.2019{, 00:45}

ingener писал(а):
06.08.2019{, 13:48}
конкретного проекта одного нет, он со временем трансформируется
Вот и плохо. Читая первый и последние посты, ощущение что перешел на другую тему,
а штудировать страницы, чтобы понять что надо, ...:(.
Понял что в заданном (узком) диапазоне изменяемых напряжений на входе а1,
должен отключаться генератор (с уставкой по частоте до 1000гц),
и дискретные выходы с определенными задержками по времени (1-10сек)
Все уставки вводятся через меню энкодером.
Все это работает без проблем на встроенных блоках.
В качестве генератора (ради интереса ) поставил блок buzzer,.
Конечно ТЗ очень скудное, не ясно как быстро меняется по времени напряжение на аналог. входе,
точность предъявляемая к таймерам, и т д.
В общем разбирайтесь ))
Гена включаемый входом а1.flp
(723.64 КБ) 62 скачивания
Win10-64, FLProg (portable)

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#90

Сообщение ingener » 07.08.2019{, 10:24}

rw6cm,
Баззер действительно не тормозит проект, в отличие от генератора.
Но использовать его невозможно. слишком грубая дискретность.
Вот результат исследования
значение integer на входе / выходная частота
17 - 38Гц
18 - 43Гц
19 - 50Гц
20 - 58Гц
21 - 67Гц
22 - 78Гц
23 - 93Гц
24 - 113Гц
25 - 139Гц
26 - 177Гц
27 - 236Гц
28 - 340Гц
29 - 600Гц
30 - 1900Гц (предел)

Учитывая, что сигнал должен управлять движением шагового мотора, очевидно, что буззер не подойдет....или как-то если его возможно доработать до плавной регулировки....
может, научить его работать с float?

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#91

Сообщение rw6cm » 07.08.2019{, 10:54}

ingener,
баззер начинает работать где то от 40гц, и до 20кгц точно, дальше не пробовал
Win10-64, FLProg (portable)

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#92

Сообщение rw6cm » 07.08.2019{, 11:59}

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

ingener,
Тогда ШИМ как Вы и хотели из первого поста.
Только на дисплее изменить не частота а скважность от 0 до 255(или сразу в нужный диапазон скорости mm/s)
ШИМ включаемый входом а1.flp
(848.26 КБ) 56 скачиваний
Win10-64, FLProg (portable)

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#93

Сообщение ingener » 07.08.2019{, 13:13}

Странное дело, но вдруг проект заработал с блоком генератора :smile37:
с которым раньше не работал
что поменялось - была ошибка с заданием времени задержки двух таймеров (забыл добавить блоки умножения на 1000, ведь в меню задаем в секундах, а генераторы по входу в миллисекундах).
Плюс при компиляции теперь почему-то выдает сообщение, что "не найдены библиотеки CyberLib и LiquidCrystal I2C". Хотя все работает как надо. И в IDE эти библиотеки в списке включенных есть, и лежат в папке библиотек IDE.
Получается, оно и к лучшему, что не найдены :smile171:
Кому может будет интересно, в чем суть проекта.
1. генератор постоянно выдает сигнал частоты, задаваемой в меню. Он управляет шаговым мотором. Для калибровки добавлен блок сложения для переменной integer, которая задает частоту генератора. Т.к. генератор не имеет входа разрешения работы, то работает всегда. А разрешение драйверу шагового мотора выдает инвертированный выход 7 (т.к. по сигналу 5В драйвер в стопе)
2. три выхода (7,8,9), на которых сигналы появляются с задержкой после подачи команды СТАРТ и исчезают также с задержкой после подачи команды СТОП (триггерной кнопкой по входу 5)
3. выход 13 - на нем с задержкой от команды СТАРТ на определенное время появляется сигнал.
4. два выхода на индикаторы (10 и 6) - показывают статус, старт или стоп

на дисплее 1602 места мало, поэтомы выведено только 8 значений, без обозначений. Скорость вообще некуда пока. Придет 2004, тогда можно будет развернуться.
Вообще это все для контроля автоматизированного процесса в сварочном производстве.
Вложения
FLW_07_08_gen.flp
(633.69 КБ) 63 скачивания

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#94

Сообщение ingener » 08.08.2019{, 13:37}

Всем доброго дня,
есть мысль доработать меню. Сейчас оно простейшее - все параметры переключаются по кругу кнопкой энкодера. Но когда их становится много, то возвращаться на главный экран неудобно, надо пролистать все + можно проскочить.
Надо бы сделать, чтобы при нажатии в течение 1 сек на кнопку энкодера меню возвращалось на главный экран.
Вот пытаюсь добавить таймер с задержкой на включение 1 сек, выход на reset меню, вход от кнопки энкодера. Но не работает. В чем ошибка? :smile37:
Вложения
reset.PNG
FLW_08_08_menu_reset.flp
(830.18 КБ) 58 скачиваний

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Проект с меню на 1602 и энкодере

#95

Сообщение Dryundel » 08.08.2019{, 13:54}

ingener писал(а):
08.08.2019{, 13:37}
Надо бы сделать, чтобы при нажатии в течение 1 сек на кнопку энкодера меню возвращалось на главный экран.
Возьми блок кнопки с определением длинного нажатия. К примеру эту
Длинное нажатие настраивается.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#96

Сообщение rw6cm » 08.08.2019{, 13:57}

ingener писал(а):
08.08.2019{, 13:37}
Но не работает.
и не будет.
Вы сбрасываете меню, а не дисплеи. надо управление дисплеями по другому делать.
Или сбрасывать счетчик а не меню.
Win10-64, FLProg (portable)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Проект с меню на 1602 и энкодере

#97

Сообщение Dryundel » 08.08.2019{, 13:59}

rw6cm писал(а):
08.08.2019{, 13:57}
и не будет.
Вы сбрасываете меню, а не дисплеи. надо управление дисплеями по другому делать.
И что? Дисплей зависит от меню.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#98

Сообщение rw6cm » 08.08.2019{, 14:00}

Dryundel, Схема есть неужели не видно?
Win10-64, FLProg (portable)

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Проект с меню на 1602 и энкодере

#99

Сообщение Dryundel » 08.08.2019{, 14:02}

rw6cm писал(а):
08.08.2019{, 14:00}
Dryundel, Схема есть неужели не видно?
Вот и я про то.
Дисплей к выходам блока меню подключен. Что на выходе блока то и на дисплее.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2284
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 334
Имя: Владимир

Проект с меню на 1602 и энкодере

#100

Сообщение rw6cm » 08.08.2019{, 14:08}

Dryundel,
Извиняюсь, просто я видел полную схему. У него главный экран не из меню.
а по 0 счетчика отключает эти и включает другие окна дисплея переменной EN_M
Win10-64, FLProg (portable)

Ответить

Вернуться в «Помогите, а то я "нимагу"»