Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Можно и покликать по рекламным ссылкам, так будут больше выплаты. Спасибо за понимание!

Помощь в создании меню для TFT 2,4 320*240 ILI9341

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#1

Сообщение fed217 » 16.06.2020{, 23:00}

Кручу уже третий вечер. Пробовал на блоке «Меню» из встроенных блоков – не получилось. Начал уже просто создавать – тоже какие-то грабли, пока три-четыре строки, вроде работает, подключаешь все шесть строк – хаотично сдвигаются строки влево и вдобавок могут строки хаотично моргать.
Может кто то подскажет как сделать правильно, или где у меня ошибка?
Изображение

Отправлено спустя 36 секунд:
Меню.png
Отправлено спустя 1 минуту 21 секунду:
BCv3.0.3.flp
(2.28 МБ) 16 скачиваний

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#2

Сообщение dsfbuy » 17.06.2020{, 00:02}

fed217 писал(а):
16.06.2020{, 23:02}
где у меня ошибка?
Заметил, промежутки между строк разные(55-85-115-145-175). Если строки наезжают друг на друга будет моргание.

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#3

Сообщение fed217 » 17.06.2020{, 00:25}

Строки уходят в лево

Отправлено спустя 6 минут 48 секунд:
В какой то момент при нажатии кнопки может одна строка вернуться на место, могут все строки вернуться на место и начать перемигиваться. В итоге нарушаются все страницы на всех вкладках. Хотя первоначально, при включении, "Главный экран" отображается правильно. Все начинается после нажатия кнопки "Меню".
Вложения
Меню 2.png
Меню 2.png (10.34 КБ) 317 просмотров

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#4

Сообщение dsfbuy » 17.06.2020{, 00:57}

Попробуйте в блоке вывода текста поменять tft.println(); на tft.print();.

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#5

Сообщение fed217 » 17.06.2020{, 01:09}

Без изменений

Отправлено спустя 23 минуты 24 секунды:
А если попробовать этот блок?
viewtopic.php?f=112&t=6352&p=90596#p90596

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#6

Сообщение dsfbuy » 17.06.2020{, 09:45}

Попробуйте динамический текст. Если будут ошибки при заливке скетча надо обновить библиотеку AdafruitGFX, для кириллицы поменять шрифт на этот.

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#7

Сообщение av » 17.06.2020{, 13:13}

fed217, а чем вас не устроил штатный блок меню ? По моему мнению лучше не сделать, чем это реализовано в штатном блоке. Да и если нужно сохранять настраиваемые значения после выключения питания придется городить запись в ЕЕПРОМ, а в штатном все уже есть. Для каждой страницы меню создавать плату то же не очень можно запутаться. Сейчас нет времени могу только вечером показать как на штатном сделать меню.

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#8

Сообщение fed217 » 17.06.2020{, 13:41}

dsfbuy писал(а):
17.06.2020{, 09:45}
Попробуйте динамический текст.
Подключил статический текст - все работает. Но работа проги стала как при 8 МГц, с чем это связано пока не разбирался. Библиотека с этими блоками не заработала в версии 6, пришлось поставить flprog 7 портативную. Может с этим связано падение частоты

Отправлено спустя 4 минуты 48 секунд:
av писал(а):
17.06.2020{, 13:13}
а чем вас не устроил штатный блок меню ?
Не смог разобраться с блоком "Меню" для этого экрана.
av писал(а):
17.06.2020{, 13:13}
По моему мнению лучше не сделать, чем это реализовано в штатном блоке.
Я тоже так думаю.
av писал(а):
17.06.2020{, 13:13}
могу только вечером показать как на штатном сделать меню.
Буду очень признателен

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#9

Сообщение av » 17.06.2020{, 19:38}

fed217, от вас нужны данные ! Кнопки обязательно подключать к аналоговым пинам и будет ли использоваться энкодер для управления меню? Дело в том что если с энкодером то используются всего три контакта Ардуино для управления меню.

Отправлено спустя 27 минут 49 секунд:
У вас большой проект ? Если не большой есть смысл сделать графическое меню.

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#10

Сообщение fed217 » 17.06.2020{, 20:28}

Однозначно 5-6 кнопок
1- вверх
2- вниз
3- влево
4- вправо
5- ок
6- меню (её функцию может возможно как то перенести на кнопку "ок")
av писал(а):
17.06.2020{, 20:06}
У вас большой проект ? Если не большой есть смысл сделать графическое меню.
Отслеживание температуры с шести передатчиков.
Просто платы уже сделаны. Первоначально был только главный экран, кнопками вправо/влево листал страницы, на каждой странице отображались данные с каждого передатчика, все отлично работало. На основании этого - развел платы и китайцы сделали платы. Думал - потом допишу подменю, но когда начал разбираться с подменю и вылезли баги.

Отправлено спустя 1 минуту 42 секунды:
fed217 писал(а):
17.06.2020{, 20:28}
есть смысл сделать графическое меню.
Что вы под этим подразумеваете?

Отправлено спустя 5 минут 15 секунд:
Вот так выглядит "Главный экран"
Кнопками влево/вправо листаю страницы каждого передатчика

Отправлено спустя 7 минут 12 секунд:
Sensor 1_______Номер передатчика
Tlow: 18C______Температура верхнего дачика
T high: 19C_____Температура нижнего датчика
V bat: 3.02V____Напряжение батареи передатчика

V: 3.02V_______Напряжение батареи основного блока
Вложения
Меню 3.png
Меню 3.png (8.08 КБ) 227 просмотров

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#11

Сообщение av » 17.06.2020{, 21:03}

fed217 писал(а):
17.06.2020{, 20:42}
fed217 писал(а): ↑25 минут назад
есть смысл сделать графическое меню.
Что вы под этим подразумеваете?
Вместо текста выводятся иконки(картинки можно и цветные).

Ну раз плата уже разведена тогда ладно будем использовать все кнопки из вашего проекта.
fed217 писал(а):
17.06.2020{, 20:42}
6- меню (её функцию может возможно как то перенести на кнопку "ок")
Можно и объединить. И еще вопрос во втором пункте меню только один подпункт управление макс.температуры он будет использоваться для всех датчиков или будут для каждого датчика своя настройка ?

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#12

Сообщение fed217 » 17.06.2020{, 21:14}

av писал(а):
17.06.2020{, 21:03}
И еще вопрос во втором пункте меню только один подпункт управление макс.температуры он будет использоваться для всех датчиков или будут для каждого датчика своя настройка ?
Для всех датчиков одновременно, с сохранением в еепром.

В подменю "Sensor otkl", значения "ON" и "OFF" для каждого датчика отдельно, с сохранением в еепром.
В подменю "Bright TFT", значение одно, с сохранением в еепром.

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#13

Сообщение av » 17.06.2020{, 21:41}

fed217, напишите имена меню и подменю на русском (как вам больше нравится). Пока набросаю менюшку под свои блоки для дисплея ILI9341. Подменю "Bright TFT" зачем если не секрет ? Просто отключать подсветку ? У меня есть блок который выключает не подсветку а очищает весь экран(на подобии сна при включении этого режима в памяти дисплея все данные сохраняются) надо совместить с отключением подсветки.

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#14

Сообщение fed217 » 17.06.2020{, 22:32}

av писал(а):
17.06.2020{, 21:41}
напишите имена меню и подменю на русском (как вам больше нравится)
Для " Главного экрана" - Сенсор 1, Сенсор 2 ... Сенсор 6
Для "Меню" - Сенсор откл, Сенсор огр темп, Яркость экрана
Для "Подменню 1" - Сенсор 1 ВКЛ (ОТКЛ), Сенсор 2 ВКЛ (ОТКЛ) ... Сенсор 6 ВКЛ (ОТКЛ)
Для "Подменню 2" - Макс темп
Для "Подменню 3" - Яркость
av писал(а):
17.06.2020{, 21:41}
Подменю "Bright TFT" зачем если не секрет ?
ШИМом управляется яркость экрана и отключение для энергосбережения

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#15

Сообщение av » 18.06.2020{, 01:13}

fed217, вообщем набросал меню. Управляется кнопкой "Меню" выход из меню или из подменю долгое нажатие, а так же выход по бездействию(если в течении 30 секунд не нажимаются кнопки выход из меню время настраивается в блоке упр.меню). Смотрите изучайте, что будет не понятно спрашивайте. Главный экран не делал думаю сами дорисуете(управляется от переменной EN_M с инвертированием). Меню прогонял в протеусе у меня все работает.
BCv3.0.4.flp
(1.37 МБ) 7 скачиваний

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#16

Сообщение fed217 » 18.06.2020{, 01:55}

Как то так и нет реакции на кнопки
Вложения
20200618_015058 - копия.jpg
20200618_015058 - копия.jpg (68.14 КБ) 179 просмотров

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#17

Сообщение av » 18.06.2020{, 08:27}

fed217 писал(а):
18.06.2020{, 01:55}
Как то так и нет реакции на кнопки
Для начала разберемся с библиотеками ! В теме про такие каракули уже была проблема и она решается установкой библиотек из архива в первом посте, а так же удалением всех старых(откуда удалять см. 5 пост темы). Так же вам насоветовали библиотеки и шрифты не связанные с созданными мной блоками для дисплея. Вот от этого и конфликт.

Теперь о кнопках: кнопка "Меню назначена на пин А4 Ардуинки исходя из вашего проекта. Кнопки работают от замыкания на землю(GND). Меню создано в версии FLProg 6.3.1.
Видео работы меню в Протеусе.Показать

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#18

Сообщение fed217 » 18.06.2020{, 11:43}

По русскому языку я уже понял, с начало думал что напутано с адресацией строк и они сбились в кучу.
av писал(а):
18.06.2020{, 08:27}
Теперь о кнопках: кнопка "Меню назначена на пин А4 Ардуинки исходя из вашего проекта. Кнопки работают от замыкания на землю(GND).
Так и есть.
Но все таки нет входа в меню по нажатию кнопки. Что то с блоком "C.Menu 2".
Удалил связи с вывода "Short" блока "LoSKeyP" и вывода "En" блока меню, соединил эти выводы минуя блок "LoSKeyP", кратковременно меню появляется

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

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#19

Сообщение av » 18.06.2020{, 11:53}

fed217 писал(а):
18.06.2020{, 11:43}
Но все таки нет входа в меню по нажатию кнопки.
Попробуйте уберите "Защиту от дребезга" с кнопок. Где то уже читал вроде эта антидребезговая защита не работает на аналоговых пинах. Это только предположение, но проверить стоит.

fed217
Рядовой
Сообщения: 16
Зарегистрирован: 22.09.2019{, 21:09}
Репутация: 0
Имя: Валера

Помощь в создании меню для TFT 2,4 320*240 ILI9341

#20

Сообщение fed217 » 18.06.2020{, 12:06}

Попробовал пока так, входит в меню, листает меню ввех/вниз, но не заходит в подменю "датчики"
Вложения
Screenshot_12.png
Screenshot_12.png (10.28 КБ) 129 просмотров

Ответить

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