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

dsfbuy
Рядовой
Сообщения: 38
Зарегистрирован: 03.11.2018{, 12:40}
Репутация: 1
Откуда: Братск
Имя: Виктор

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

#101

Сообщение dsfbuy » 06.06.2019{, 15:24}

integer - это целые числа (0-1-2-3 и тд)
float - дробные (0,25...3,00)

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

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

#102

Сообщение ingener » 06.06.2019{, 15:47}

dsfbuy писал(а):
06.06.2019{, 15:24}
integer - это целые числа (0-1-2-3 и тд)
float - дробные (0,25...3,00)
Это понятно, но вопрос в другом - какое значение integer соответствует реальному напряжению сигнала, к примеру, 1В или 2В....

dsfbuy
Рядовой
Сообщения: 38
Зарегистрирован: 03.11.2018{, 12:40}
Репутация: 1
Откуда: Братск
Имя: Виктор

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

#103

Сообщение dsfbuy » 06.06.2019{, 19:31}

U=входное_значение*Uопорное/1024

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

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

#104

Сообщение ingener » 02.08.2019{, 12:48}

Образовался проект с заданием и отображением на 1602 семи пунктов меню.
Краткий смысл - в управлении задержками различных сигналов по получении от триггерной кнопки команд Старт и Стоп.
Предполагалось, что в составе будет блок генератора, но он уже "не лезет" (цифры в меню начинают мигать, энкодер работает некорректно - или вообще не переключает, или в непредсказуемую сторону).
Как только убираешь блок генератора - все работает четко.
Вопрос - данный блок работает вроде бы аж до 80кГц, нельзя ли как-то его "облегчить", пусть работает всего до 1-2кГц, к примеру, но потребляет меньше ресурсов контроллера?
На схеме генератор внизу слева.
PS - возможно, помог бы отказ от I2C, но уж больно не хочется этого...
Вложения
FLW_02_08_gen_bug.flp
(625.1 КБ) 11 скачиваний

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

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

#105

Сообщение ecoins » 02.08.2019{, 13:18}

Посмотрел проект. Грузить не стал - у меня не установлена библиотека CyberLlib.h - она у Вас в генераторе задействована (пользовательский блок). Мы перестали её использовать - она не подходит для ESP8266, ESP32 и т.д. Генератор 50 мс с высокой точностью периода можно получить блоками ecoins - если проект написан аккуратно.
В вашем проекте много: строковых переменных, стандартных (FLProg) дисплеев - все они отнимают время у процессора.
Еще блок защиты от дребезга - там используется задержка delay(1).
Всё это в совокупности приводит к тому, что даже небольшой проект - тормозит.
Возможные решения:
1) использовать блоки Lcd ecoins - уже получите значительный прогресс, возможно для Вашего проекта достаточный;
2) дополнительно использовать диспетчер задач ecoins.

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

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

#106

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

ecoins писал(а):
02.08.2019{, 13:18}
использовать блоки Lcd ecoins
а где бы с ними ознакомиться? :smile37:

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

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

#107

Сообщение ecoins » 02.08.2019{, 13:53}

viewtopic.php?p=73881#p73881

Отправлено спустя 4 минуты 36 секунд:
Поясните еще назначение и параметры генератора.

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

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

#108

Сообщение ingener » 02.08.2019{, 14:05}

генератор управляет внешним драйвером шагового мотора, т.е. от него требуется частота в пределах не более 2кгц с заданием параметра в меню.

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

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

#109

Сообщение ecoins » 02.08.2019{, 14:57}

С генератором понял. Давно просится функция в библиотеке работы с прерываниями по таймеру -как нибудь сделаем.
Буду трудности с блоками для дисплея -пишите.

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

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

#110

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

ecoins, требует библиотЭку RT_HW_LCD
не дадите на_водку?
:)

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

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

#111

Сообщение Dryundel » 05.08.2019{, 09:55}

ingener писал(а):
05.08.2019{, 09:39}
ecoins, требует библиотЭку RT_HW_LCD
не дадите на_водку?
:)
Все в той же теме, на которую Вам уже дали на_водку.

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

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

#112

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

ingener писал(а):
05.08.2019{, 09:39}
ecoins, требует библиотЭку RT_HW_LCD
Библиотека находится в первом посте темы "Разработки ecoins"

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

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

#113

Сообщение ingener » 05.08.2019{, 14:07}

Что-то не выходит каменный цветок....вот пытаюсь простейший тест нарисовать, но дисплей 1602 по i2C ничего не выводит...библиотеки стоят, на них не ругается при компиляции.
Вложения
ecoins_test_1602.flp
(148.99 КБ) 5 скачиваний

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

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

#114

Сообщение ingener » 05.08.2019{, 15:38}

Добавил Блок управления по шине I2C и вывод фиксированного текста, но что-то все равно тишине, темные кубики в верхней строчке и все...
Вложения
ecoins_test_1602_2.flp
(102.78 КБ) 7 скачиваний
ecoins_test_1602.flp
(100.86 КБ) 3 скачивания

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

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

#115

Сообщение ecoins » 05.08.2019{, 15:56}

ingener писал(а):
05.08.2019{, 14:07}
Что-то не выходит каменный цветок....вот пытаюсь простейший тест нарисовать, но дисплей 1602 по i2C ничего не выводит...библиотеки стоят, на них не ругается при компиляции.
В Вашем проекте не хватало ключевого блока lcd.begin - через него и адрес LCD устанавливается (у меня 63 десятичный), и размер дисплея 16Х2. Прикрепляю дополненный и проверенный проект.
ecoins_test_Lcd_1692_v3_050819.flp
(274.17 КБ) 7 скачиваний
ecoins_test_Lcd_1602_v3_Проект.JPG
ecoins_test_Lcd_1602_v3_Фото.JPG

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

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

#116

Сообщение ingener » 05.08.2019{, 16:05}

ecoins, поменял в данном проекте только адрес (с 63 на 27, который по умолчанию на 1602 с I2C)
Результат тот же....темная верхняя строка и все.
никаких ошибок при компиляции.
PS - может зависеть от пинов для шины I2C? у меня это А4 и А5, от прежнего проекта.

Аватара пользователя
fsergei70
Лейтенант
Сообщения: 502
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 35
Откуда: Ессентуки
Имя: Сергей

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

#117

Сообщение fsergei70 » 05.08.2019{, 16:12}

ingener писал(а):
05.08.2019{, 16:05}
(с 63 на 27, который по умолчанию на 1602 с I2C)
Адрес 27 это в шеснадцатиричной системе а в этих блоках нужно в десятичной. попробуйте 39

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

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

#118

Сообщение Dryundel » 05.08.2019{, 16:14}

ingener, 63 это в десятичном формате что в переводе в шестнадцатиричный 3F. Если у вас дисплей с адресом 27 переведите его в десятичный. Подсказывать не буду. Это домашнее задание. :)

Отправлено спустя 54 секунды:
Эх, не успел. :)

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

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

#119

Сообщение ingener » 05.08.2019{, 16:27}

С адресом 39 заработало.
Так и осталось загадкой. как из 27 получить 39. Но это уже не важно :smile171:
Спасибо всем откликнувшимся! :yes:

Аватара пользователя
fsergei70
Лейтенант
Сообщения: 502
Зарегистрирован: 17.11.2015{, 20:36}
Репутация: 35
Откуда: Ессентуки
Имя: Сергей

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

#120

Сообщение fsergei70 » 05.08.2019{, 16:33}

ingener писал(а):
05.08.2019{, 16:27}
Так и осталось загадкой. как из 27 получить 39
С помощью калькулятора встроенного в WINDOWS. Вводите число в одном формате а потом переключаете на другой
Вложения
11.jpg

Ответить

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

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

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