
Raspberry Pi Pico – pripojenie OLED displeja a výpis textov
Vo väčšine IoT konštrukcií je dôležité mať možnosť zobrazovať údaje a stavové hlásenia. Preto v druhom príklade ukážeme pripojenie a softvérovú obsluhu OLED displeja. Použili sme grafický displej SSD1306 s rozlíšením 128 x 32 pixelov.
Video ukazuje pripojenie a zobrazovanie textových údajov na OLED displeji. V druhej časti videa je postup konfigurácie ak chcete na vývoj aplikácií pre Pico využiť klasické Raspberry Pi s klávesnicou, myšou a monitorom
Na zobrazovanie textov na OLED displeji využijeme vhodnú knižnicu napríklad https://github.com/stlehmann/micropython-ssd1306 ktorú pridáme priamo z vývojového prostredia. Keď si však pozriete zdrojové súbory knižnice, tak sa veľa naučíte o obsluhe displejov pripojených cez komunikačné rozhrania I2C a SPI a pozorní čitatelia si všimnú, že táto knižnica bola vytvorená v roku 2019, keď o doske Raspberry Pi Pico ešte nikto ani netušil. Knižnica bola vytvorená a odladená pre MicroPython na mikrokontroléri ESP 32. Nakoľko však 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, v tomto prípade rozhranie I2C. V programe využívajúcim príslušnú knižnicu potom pri inicializácii priradíme piny, na ktorých sú signály tohto rozhrania. Na doske RPi Pico využijeme pin1 na ktorom je signál I2C0 SDA a pin 2 na ktorom je signál I2C0 SCL. Tieto signály prepojíme s pinmi SDA a SCL na OLED displeji. Na napájanie displeja využijeme napätie 3,3 V, ktoré je vyvedené na pine 36 a zem pripojíme na niektorý z pinov GND dosky Pico.
Aby ste mohli využívať knižnice vo svojich projektoch, musíte ich najskôr importovať do vývojového prostredia Thonny ID pomocou menu Tools – Manage Packages. V prvom príklade je kód na zobrazenie statického textu na OLED displeji
V nasledujúcom príklade zobrazíme aktuálnu teplotu. Využijeme senzor integrovaný na čipe. Ten technicky meria teplotu čipu, avšak pokiaľ mikrokontrolér nie je zaťažený nejakou náročnou úlohou tak sa prakticky nezohrieva s má približne teplotu okolia. Interný teplotný senzor je pripojený na analógový vstup ADC4, ktorý nie je vyvedený na konektory dosky, avšak programovo ho vieme čítať. RPi Pico má 12 bitové A/D prevodníky, čiže hodnoty napätia 0 – 3,3 V interne prevádza na interval hodnôt 0 – 4095. Interne preto, lebo MicroPython však tento rozsah prepočítava na rozsah 0 – 65 535, čiže ho de facto násobí koeficientom 16.
Ak by sa nám teplota zobrazovala ako hodnota v už spomínanom rozsahu 0 – 65 535 asi by sme z toho nadšení neboli, preto ju prepočítame na stupne Celzia. V špecifikácii čipu sa dočítame, že pre referenčnej teplote 27 stupňov je napätie na internom analógovom vstupe 0,706 V a nárast teploty o 1 stupeň spôsobí pokles napätia o 1,721 mV, čiže 0,001721 V. Teplotu teda vypočítame podľa vzorca:
T = 27 - (ADC_napätie - 0.706)/0.001721
Kód pre meranie teploty v nekonečnej sľučke
Vo voľnom pokračovaní ukážeme ďalšie príklady využitia dosky Raspberry Pi Pico
Zobrazit Galériu