Micro:bit v robotike – pripojenie displejov a zobrazovanie

V mnohých zariadeniach ovládaných mikrokontrolérmi je dôležité mať možnosť zobrazovať rôzne prevádzkové, či namerané údaje, prípadne pokyny pre používateľov, alebo stavové hlásenia. Zobrazovacie možnosti populárnej mikropočítačovej dosky BBC Micro:bit sú pomerne skromné. Na doske je displej zložený z 25 LED diód usporiadaných v matici 5 x 5. Na displeji možné staticky zobraziť jeden znak, alebo iný grafický symbol, prípadne animáciu. Viac znakov sa na tento maticový displej nevojde. Napriek tomu je aj na takomto displeji možné zobraziť aj niekoľko znakový textový reťazec. Trik je v tom že text vodorovne roluje. Ako demo atrakcia je to dobré, no zobrazovať takto nameraný údaj, napríklad teplotu je veľmi nepraktické. Našťastie k Micro:bitu môžete pripojiť takmer každý displej, ktorý sa ovláda cez komunikačné rozhrania I2C a SPI.

Video ukazuje pripojenie a zobrazovacie možnosti rôznych typov displejov:

Na zobrazenie viacerých znakov môžete využiť možnosť bezdrôtového prepojenia viacerých Micro:bitov umiestnených vedľa seba, pričom na každom microbite sa zobrazí jeden znak.

V podstate je to tiež nie veľmi užitočná atrakcia. Preto sa na seriózne využitie nevyhneme pripojeniu vhodného externého displeja. Ukážeme pripojenie a softvérovú obsluhu populárnych OLED displejov s rozlíšením 128 x 32 pixelov, dvoj a viacriadkových alfanumerických LCD displejov a taktiež farebného LCD displeja s uhlopriečkou 1,8 palca a rozlíšením 160 x 128 bodov.

Pri výbere typu displeja berieme do úvahy predovšetkým scenár použitia, čiže aké údaje a v akej podobe ich chceme zobrazovať. Na informatívne zobrazovanie spracovávaných hodnôt, prípadne diagnostické údaje stačí aj malý OLED displej. Ak je potrebné, aby zobrazované údaje boli dobre viditeľné, hodí sa alfanumerický LCD displej s podsvietením, ktorý podľa typu dokáže zobraziť dva, prípadne viac riadkov textu. Na zobrazenie grafických údajov sa zas hodí farebný LCD displej. Pri reálnych aplikáciách, kde sú zariadenia napájané z batérie berieme do úvahy aj spotrebu, pre výučbové dosky ako je Micro:bit, ktorý sám o sebe nie je príliš úsporný toto kritérium nie je až také dôležité.

OLED displeje

Technicky môžete pripojiť akýkoľvek displej, aj taký ktorého rozhranie Micro:bit priamo nepodporuje. Mohli by ste napríklad pripojiť aj televízor, či VGA monitor a na GPIO portoch generovať videosignál, veď keď to zvládli osembitové mikropočítače so 4 MHz procesorom, zvládne to aj 32 bitový procesor Micro:bitu taktovaný na 16 a v prípade Micro:bitu V2 dokonca na 64 MHz. Zobrazovanie by ste si však museli komplet naprogramovať sami, prípadne by ste našli knižnicu, ktorú už niekto z komunity používateľov Micro:bitu už naprogramoval.  Preto praktický význam má len použitie displejov, pre ktoré sú k dispozícii knižnice, či už pre grafické vývojové prostredie Makecode, alebo pre MicroPython.

Alfanumerický LCD displej

Pokiaľ programujete v jazyku MicroPython máte ešte širšie možnosti. Nakoľko MicroPython je interpreter, fungovanie knižníc nebude obmedzené pre konkrétny mikrokontrolér ani dosku, ale pre akúkoľvek hardvérovú platformu, ktorú je možné programovať v programovacom jazyku MicroPython a má implementované príslušné komunikačné rozhranie, či už I2C, alebo SPI. V programe využívajúcim príslušnú knižnicu potom pri inicializácii priradíte piny, na ktorých sú signály tohto rozhrania.

V prípade I2C sú to signály SDA (dáta) a SCL (taktovanie), ktoré sú na pinoch 19 (SCL) a 20 (SDA). Pre zaujímavosť: vďaka systému adresovania môžete k mikroprocesoru cez I2C zbernicu pripojiť až 128 periférnych zariadení. Micro:bit funguje ako zariadenie Master, ktoré riadi komunikáciu a generuje synchronizačný hodinový signál SCL. Displej, prípadne aj ďalšie zariadenia sú pripojené ako Slave, ktoré prijímajú povely.

Signály pre komunikačné rozhranie SPI sú na pinoch 13 (SCK – Synchronous Clock), 14 (MISO) a 15 (MOSI)

Vo voľnom pokračovaní ukážeme pripojenie a softvérovú obsluhu OLED displejov, alfanumerických LCD displejov a farebných LCD displejov.


Převzato z webu Nextech se souhlasem autora.