Waveshare KEYs Pico-LCD-0.96

Níže uvedené zdrojové kódy včetně jejich obrazu na GitHub dávám k volnému použití (MIT licence). Otestováno spolu s rozšiřujícím modulem společnosti Waveshare "Pico-LCD-0.96". Doplněno detailním popisem a komentáři k jednotlivým metodám a operacím prováděným v rámci nich. Komentáře prozatím pouze v češtině. Pokud by někdo chtěl pomoci s překladem pro širší komunitu nebráním se spolupráci.
Prozatím jsem nenašel jiný způsob jak vložit zdrojový kód publikovaný na GitHubu přímo do webových stránek. Momentálně je použita služba a skript na URL https://emgithub.com/embed.js Ale nenašel jsem způsob jak omezit tabulku na výšku. Zdrojové texty se tak zobrazují vždy v plné délce což je zbytečné. Předpokládám, že by určitě mělo jít. Pokud někdo víte jak na to, prosím o radu. V HTML a CSS nejsem tak zběhlý ... Předem děkuji.

Jdeme na to ...

"KEYs_WS096_test.py": Primitivní způsob jak otestovat funkčnost a obsluhu snímání stavů jednotlivých mikrospínačů desky. A to bez nutnosti použití kódu třetích stran. Je určeno pro spouštění v rámci vývojového prostředí. Využívá totiž pro interakci pouze jednoduchý výstup do konzole. Znovu připomínám nutnost aktivate pull-up rezistorů na příslušných GPIO na úrovni MCU, protože nejsou fyzicky osazeny výrobcem desky.
Odkaz na příslušné uložiště GitHub /rku70cz/LCD_WS096cz
Odkaz pro přímé otevření KEYs_WS096_test.py

"KEYs_WS096.py": Zdrojový kód modulu s prozatím jedinou třídou "KEYs_WS096timer", kterou využívají další níže uvedené ukázky. Nejjednodušší varianta, která mne "na první dobrou" napadla. Určitě půjde ještě vylepšovat a zdokonalovat. V této variantě pomocí časovače v pravidelných intervalech sejme stavy GPIO, na které jsou připojeny mikrospínače desky "Pico-LCD-0.96". Stav uloží a z "nadřízeného" externího kódu si jej lze pomocí metody "getStatusKeys" vyzvednout. Nový stav neni do pomyslného "bufferu" uložen pokud ještě nedošlo k přečtení toho předcházejícího. Jako další možné vylepšení mne okamžitě napadlo natažení "bufferu" na více jak jednu hodnotu. Jinak je napsáno tak, že současná aktivace více jak jednoho mikrospínače není brána za korekní (bere se jako že není aktivní žádný). Stejně tak je prozatím zamezeno opakování stejného kódu v době dvou po sobě jdoucích čtení. Je také potlačeno. Pro zjednodušení identifikace stisku tlačítka/mikrospínače je navenek převedeno na kódy používané běžně u standardu IBM/PC:

00 žádný mikrospínač není/nebyl aktivní
38 šipka nahoru (joystick "up")
40 šipka dolů (joystick "down")
37 šipka doleva (joystick "left")
39 šipka doprava (joystick "right")
13 enter (joystick "center")
65 uživatelská klávesa [A]
66 uživatelská klávesa [B]

Odkaz na příslušné uložiště GitHub /rku70cz/LCD_WS096cz/classes
Odkaz pro přímé otevření KEYs_WS096.py

"KEYs_WS096_demo01.py": Základní test za použítí třídy "KEYs_WS096timer" z výše zmiňovaného a prezentovaného modulu "KEYs_WS096.py". Bylo použito v rámci procesu ladění a prvotního testování zmiňované třídy. Pro interakci s uživatelem používá pouze jednoduchý výstup do konzole. Je proto určeno pouze pro spouštění v rámci vývojového prostředí.

Odkaz na příslušné uložiště GitHub /rku70cz/LCD_WS096cz
Odkaz pro přímé otevření KEYs_WS096_demo01.py

"KEYs_WS096_demo02.py": Vylepšená ukázka použití třídy "KEYs_WS096timer" z výše zmiňovaného a prezentovaného modulu "KEYs_WS096.py". Spojuje vše dohromady s již dříve vytvořeným kódem pro obsluhu LCD displeje desky. Ten je v této ukázce použit pro interakci s uživatelem. Zobrazování je tudíž obslouženo třidami "LCD_WS096lite" a "LCD_WS096" (efektnější verze).

Odkaz na příslušné uložiště GitHub /rku70cz/LCD_WS096cz
Odkaz pro přímé otevření KEYs_WS096_demo02.py

© Všechna práva vyhrazena 2023, Kulíček R.
Vytvořeno službou Webnode Cookies
Vytvořte si webové stránky zdarma! Tento web je vytvořený pomocí Webnode. Vytvořte si vlastní stránky zdarma ještě dnes! Vytvořit stránky