Страница 5 из 7

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

Добавлено: 06 авг 2019, 11:40
ingener
Если удалить эти два блока, то меню перестает работать (нет входа по нажатии кнопки энкодера).

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

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

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

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

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

Добавлено: 06 авг 2019, 13:21
rw6cm
[ref]ingener[/ref],
Тема разрослась, тяжко вникать до чего дошли)
Где можно глянуть мало-мальски рабочий проект?
думал в посте 104, но там лажа, Гена и энкодер весят на 4 пине.

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

Добавлено: 06 авг 2019, 13:48
ingener
[ref=#ff8000]rw6cm[/ref], проблема в том, что конкретного проекта одного нет, он со временем трансформируется (с помощью av и других участников), но в итоге суть все равно остается как arduino + энкодер + LCD.
Теперь наверняка никому не интересен функционал (какие сигналы куда и зачем - это все элементарно и организуется обычными блоками), а вот отработать быструю стабильную связку "энкодер - меню - LCD" было бы полезно, наверное, многим.

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

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

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

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

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

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

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

Добавлено: 07 авг 2019, 00:45
rw6cm
ingener писал(а): 06 авг 2019, 13:48 конкретного проекта одного нет, он со временем трансформируется
Вот и плохо. Читая первый и последние посты, ощущение что перешел на другую тему,
а штудировать страницы, чтобы понять что надо, ...:(.
Понял что в заданном (узком) диапазоне изменяемых напряжений на входе а1,
должен отключаться генератор (с уставкой по частоте до 1000гц),
и дискретные выходы с определенными задержками по времени (1-10сек)
Все уставки вводятся через меню энкодером.
Все это работает без проблем на встроенных блоках.
В качестве генератора (ради интереса ) поставил блок buzzer,.
Конечно ТЗ очень скудное, не ясно как быстро меняется по времени напряжение на аналог. входе,
точность предъявляемая к таймерам, и т д.
В общем разбирайтесь ))
Гена включаемый входом а1.flp

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

Добавлено: 07 авг 2019, 10:24
ingener
[ref=#ff8000]rw6cm[/ref],
Баззер действительно не тормозит проект, в отличие от генератора.
Но использовать его невозможно. слишком грубая дискретность.
Вот результат исследования
значение 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?

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

Добавлено: 07 авг 2019, 10:54
rw6cm
[ref]ingener[/ref],
баззер начинает работать где то от 40гц, и до 20кгц точно, дальше не пробовал

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

Добавлено: 07 авг 2019, 11:59
rw6cm
[ref]av[/ref],
Когда буззер появился в флп, проводил эксперименты с ним.
Помню что ниже примерно 40гц, он начинал чудить, и выдавал не пойми че.
Есть такое, просто не знал что ingener надо такая низкая частота.
В настройке меню специально поставил диапазон с 100гц,
поэтому сразу и не понял откуда ingener взял такие цифры.

[ref]ingener[/ref],
Тогда ШИМ как Вы и хотели из первого поста.
Только на дисплее изменить не частота а скважность от 0 до 255(или сразу в нужный диапазон скорости mm/s)
ШИМ включаемый входом а1.flp

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

Добавлено: 07 авг 2019, 13:13
ingener
Странное дело, но вдруг проект заработал с блоком генератора :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, тогда можно будет развернуться.
Вообще это все для контроля автоматизированного процесса в сварочном производстве.

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

Добавлено: 08 авг 2019, 13:37
ingener
Всем доброго дня,
есть мысль доработать меню. Сейчас оно простейшее - все параметры переключаются по кругу кнопкой энкодера. Но когда их становится много, то возвращаться на главный экран неудобно, надо пролистать все + можно проскочить.
Надо бы сделать, чтобы при нажатии в течение 1 сек на кнопку энкодера меню возвращалось на главный экран.
Вот пытаюсь добавить таймер с задержкой на включение 1 сек, выход на reset меню, вход от кнопки энкодера. Но не работает. В чем ошибка? :smile37:

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

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

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

Добавлено: 08 авг 2019, 13:57
rw6cm
ingener писал(а): 08 авг 2019, 13:37 Но не работает.
и не будет.
Вы сбрасываете меню, а не дисплеи. надо управление дисплеями по другому делать.
Или сбрасывать счетчик а не меню.

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

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

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

Добавлено: 08 авг 2019, 14:00
rw6cm
[ref]Dryundel[/ref], Схема есть неужели не видно?

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

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

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

Добавлено: 08 авг 2019, 14:08
rw6cm
[ref]Dryundel[/ref],
Извиняюсь, просто я видел полную схему. У него главный экран не из меню.
а по 0 счетчика отключает эти и включает другие окна дисплея переменной EN_M