Jednoduché memu - I2C displej 20x4 + rotační enkodér

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od ondraN » 10 bře 2021, 11:51

Nejdřív si vyzkoušej samotný enkodér, jak funguje, co vrací atd. Pak uvidíš.
https://www.pjrc.com/teensy/td_libs_Encoder.html

johnyhol
Příspěvky: 33
Registrován: 07 pro 2017, 21:17
Reputation: 0

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od johnyhol » 10 bře 2021, 12:19

Ok, kouknu na to, díky moc!

Axamith
Příspěvky: 530
Registrován: 09 srp 2017, 08:17
Reputation: 0
Kontaktovat uživatele:

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od Axamith » 10 bře 2021, 14:58

Před časem jsem věnoval spoustu času hledání nějakého rozumného menu pro LCD (ovládání maticovou klávesnicí 4x4), nakonec jsem se naštval a napsal si ho sám. Bylo to spoustu slepých cest, asi to není programátorsky zcela čisté, ale jede a vyhovuje. A spoustu věcí jsem se na tom naučil.
viewtopic.php?f=38&t=2656

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od kiRRow » 11 bře 2021, 09:55

Není menu, jako menu. Začal bych tím, že si ujasním vůbec jak má vypadat a jestli bude více úrovňové. Chci vůbec zobrazovat další položky v menu (jako list), nebo mi stačí zobrazit jen jednu ? Budou mít všechny měnitelné parametry jen číselnou hodnotu, nebo něco bude int, něco boolean, něco string ? A co je vlastně potřeba si pamatovat pro to menu ? ... Určitě potřebuješ vědět, na které položce v menu jsi ... určitě potřebuješ vědět jestli ta položka je aktivní a otáčením měníš její hodnotu, nebo aktivní není a otáčením měníš položku na které v menu jsi ... začal bych výtvorem pole názvů položek v menu a pomocí enkoderu měnil index toho pole ... jeden jediný (ten aktivní) název vypsat na displej ... jak bude funkční listovaní položkami, pak bych řešil vstup a výstup do menu.

Jinak zkus mrknout na to jak funguje třeba menu tady https://www.instructables.com/Open-Sour ... ltic-Pump/

johnyhol
Příspěvky: 33
Registrován: 07 pro 2017, 21:17
Reputation: 0

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od johnyhol » 14 bře 2021, 21:19

Jak má menu vypadat vím, hlavní nabídka šest položek a pak při stisknutí enkodéru na konkrétní položce vyvolání podmenu kde se nastavuje čas. (je to na obrázku v prvním příspěvku)

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od pavel1tu » 14 bře 2021, 21:29

johnyhol píše:
14 bře 2021, 21:19
Jak má menu vypadat vím, hlavní nabídka šest položek a pak při stisknutí enkodéru na konkrétní položce vyvolání podmenu kde se nastavuje čas. (je to na obrázku v prvním příspěvku)
No, on ti tu asi někdo stěží to menu naprogramuje.
Musíš použít nějaké co ti nejvíce vyhovuje a to upravit ....
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od kiRRow » 15 bře 2021, 16:25

Pod pojmem podmenu (submenu) si to představuji tak :

Kód: Vybrat vše

1. Start
2. Test
3. Nastavení
	3.1 Čas
	3.2 Datum
	3.3 Jinná funkce
	3.4 Zpět
4. Restart
Tohle už je poměrně složitejší než jednovrstvé menu. Spíš začni tím jednoduchým, kdy menu bude mít vrstvu jen jednu a všechny položky budou v něm.
Co potřebuješ o menu si držet v paměti. 1) To na jakém indexu jsi. 2) To jestli je položka otevřena.
Co budeš potřebovat o položce držet si v paměti. 1) Její index, 2) Její textový název, 3) Její účel (spouští nějakou akci? mění hodnotu ?) 4) Její hodnotu.

Zkontroluješ Enkodér, změnil hodnotu, podívám se jestli je momentální položka otevřena, pokud ne, tak měním menuID a přepisuji displej. Jak mile uděláš tohle, teprve potom vůbec začni řešit stisk enkodéru a vstup/výstup z menu. Nic víc ... až budeš mít tohle tak pak teprve řeš, že při otevřeném menu v ID nastavení dávej + nebo - se ti bude měnit ta a ta hodnota. V programování velký problém neexistuje, vždy je složen z hromady menších a ty jsou taky složeny z dalších menších dílčích problémů.

Takže v podstatě krok jedna ... točím, hýbu se v menu, stisknu tím se mi otevře, točím nehýbu se v menu ( protože tu se bude dělat něco jiného v budoucnu ), stisknu tím se mi zavře, točím a opět se hýbu v menu.

TabHornby
Příspěvky: 5
Registrován: 12 led 2022, 03:22
Reputation: 0

Re: Jednoduché memu - I2C displej 20x4 + rotační enkodér

Příspěvek od TabHornby » 12 led 2022, 09:02

Hm, tak to nevím, to mi asi moc nepomůže. Přesto díky za reakci. Zkusím ještě pohledat.


_________________
arsenal trikot

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 18 hostů