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

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

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

#121

Сообщение ecoins » 05.08.2019{, 16:41}

ingener писал(а):
05.08.2019{, 16:27}
С адресом 39 заработало.
Так и осталось загадкой. как из 27 получить 39. Но это уже не важно
Спасибо всем откликнувшимся!
Рад за Вас. Осваивайте дальше, там много разных возможностей.

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

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

#122

Сообщение ingener » 05.08.2019{, 17:09}

а что, блоки выводят только integer? Т.е целые числа? а как же, если надо с запятой? Float? :smile37:
А, все, там флотские блоки тоже есть)

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

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

#123

Сообщение ecoins » 05.08.2019{, 17:26}

ingener писал(а):
05.08.2019{, 17:09}
а что, блоки выводят только integer? Т.е целые числа? а как же, если надо с запятой? Float?
Специально для Вас пока не опубликованная версия библиотеки lcd. Там есть и float, и др.
Блок lcd.clear пока не доделан, его использовать не надо.
Будут замечания, предложения - пишите.
Дисплей LCD HD44780_на 05.08.16.ubl
(516.97 КБ) 16 скачиваний
Дисплей_библиотека.JPG
Дисплей_библиотека.JPG (38.93 КБ) 359 просмотров

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

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

#124

Сообщение ingener » 06.08.2019{, 09:29}

ecoins писал(а):
05.08.2019{, 17:26}
пока не опубликованная версия библиотеки lcd. Там есть и float
Так флоат есть и в библиотеке из первого поста.
Вот еще эксперименты.
на 1602 выводятся 8 значений Float, каждое в пределах 0....9,9 (верхняя картинка)
Кнопкой энкодера в меню эти значения перебираются по кругу (а крутилкой меняются) и затем снова выход на основной экран.
Так вот, сразу после загрузки скетча основной экран отображен нормально. Но в меню "лишние" цифры не исчезают (средняя картинка), а должна быть лишь одна цифра (нижняя картинка). Т.е. цифры с основного экрана не спешат отключаться, хотя сигнал En пропадает.
Но самое интересное потом. Стоит пройти весь круг меню и выйти на основной экрна, на нем становится полная пустота. И через секунд 40 сами по себе все цифры снова появляются.
Пока на основном экране пусто, в меню все корректно. лищних знаков нет. Но если основной экран отображен, то в меню помехи.

Отправлено спустя 1 час 6 минут 37 секунд:
ecoins, а что значит в настройках блока float - константа string (по умолчанию =@) ? последняя строчка
Вложения
06_08_ecoins_float.flp
(579.31 КБ) 11 скачиваний
ec1.JPG

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

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

#125

Сообщение ecoins » 06.08.2019{, 11:15}

Сразу: у Вас на первой плате стоят два стандартных блока LCD - это приводит к неопределённостям.
Проект меня заинтересовал, но пока не понял его содержания. Взял энкодер, попытаюсь что-то сделать.

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

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

#126

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

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

av
Лейтенант
Сообщения: 663
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

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

#127

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

ingener, действительно у вас в первой плате стоят два штатных блока LCD, а нужно из блоков ecoins, строковые блоки поставить. И вероятно блок инициализации LCD в первую плату.

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

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

#128

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

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

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

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

#129

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

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

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

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

#130

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

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

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

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

#131

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

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

av
Лейтенант
Сообщения: 663
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

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

#132

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

ingener, Андрей странно все это ! У меня есть проект с меню который сложнее чем у вас, а так же в нем LCD I2C и датчик температуры и штатный ПИД + ШИМ. Но глюков не замечено даже с русификацией китайского дисплея 2004. И все это на ардуино нано. Нужно копать по моему мнению в сторону генератора вероятней из за него глюки и тормоза. А так же обратите внимание на энкодер (поиграйте с количеством импульсов на щелчек).

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

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

#133

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

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

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

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

#134

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

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

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

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

#135

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

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

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

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

#136

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

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

av
Лейтенант
Сообщения: 663
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

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

#137

Сообщение av » 07.08.2019{, 02:06}

rw6cm, интересный подход ! Использовать блок пищалки как генератор. В принципе он и есть генератор звуковой частоты. Но использовать его таким образом я б не догадался.

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

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

#138

Сообщение 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
Полковник
Сообщения: 1582
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 117
Имя: Владимир

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

#139

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

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

av
Лейтенант
Сообщения: 663
Зарегистрирован: 25.09.2017{, 13:25}
Репутация: 33
Имя: Алексей

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

#140

Сообщение av » 07.08.2019{, 11:29}

ingener, у меня в проекте баззер работает по своему прямому назначению на входе значение 2500. При этом звучание на слух как раз примерно с частотой 2500 Гц (писк). Как вы получили такие значения ума не приложу ! Смотрю на вашу таблицу значений и создается впечатление что идет какое то преобразование в виде сложения, умножения или деления. Попробуйте сделать тестовый проект только с баззером и подачей на вход различных значений без всяких преобразований из флоат в интежер и наоборот.

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя