Raspberry Pi Pico – vývojová doska programovateľná v Pythone aj C++

Mikropočítačové dosky Raspberry Pi sa vyznačujú vysokým výkonom a možnosťou pripojenia monitora, klávesnice a myši, takže v podstate získate mikropočítač, ku ktorému môžete pripájať rôzne hardvérové prvky. Samozrejme aj tu platí niečo za niečo, takže výkonný mikropočítač s grafikou, ktorá v najnovších verziách zvládne aj 4K rozlíšenie má aj adekvátnu spotrebu. Inak povedané klasické Raspberry Pi sa nehodí pre riešenia, kde sa vyžaduje napájanie z batérie a taktiež bežné hobby konštrukcie, vrátane robotických väčšinou nepotrebujú až taký vysoký výkon. Navyše pre miniatúrne konštrukcie je klasické Raspberry príliš veľké.

Nový jednodoskový miniatúrny mikropočítač Raspberry Pi Pico je malý, tenký, ľahký a lacný – stojí približne 4 eurá a môžete ho programovať v programovacom jazyku MicroPython, alebo C++.

Video ukazuje ako k doske prispájkovať piny, postup zavedenia interpretera jazyka MicroPython pripojenie k PC a programovanie cez konzolu a vývojové prostredie Thonny IDE.

Srdcom dosky Raspberry Pi Pico je dvojjadrový mikrokontrolér Raspberry Pi RP2040s architektúrou Arm Cortex M0+ s variabilnou taktovacou frekvenciou až do 133 MHz. Aktuálna taktovacia frekvencia sa nastavuje pomocou integrovaného fázového závesu PLL a je odvodená od 12 MHz kryštálu. Na čipe je k dispozícii 264 kilobajtov pamäti RAM a na doske je externá 2 MB pamäť flash. S mikrokontrolérom komunikuje cez rozhranie SPI. Na doske sú okrem mikrokontroléra ešte ďalšie pomocné obvody ako je kryštál na generovanie taktovacej frekvencie, obvody USB portu a napájania. Väčšina vývodov na čipe sú vstupno výstupné porty, ktoré majú aj alternatívne funkcie. Mikrokontrolér má aj senzor na snímanie teploty.

Porovnanie veľkosti RPi Pico s „klasickou“ doskou Raspberry Pi

GPIO porty mikrokontroléra sú vyvedené na 40 pinovú zbernicu dosky. Na každej strane dosky je 20 kontaktov s pokovenými otvormi, ktoré majú štandardný rozostup 2,54 mm. V prototypových riešeniach do týchto otvorov prispájkujete hrebeňový konektor, ktorý umožňuje dosku Pico zasunúť do prepojovacieho poľa. V hotových odskúšaných riešeniach môžete prispájkovať vodiče priamo na dosku, alebo lepšie prispájkovať celú Pico dosku na plošný spoj elektroniky vášho riešenia, čím sa ušetrí miesto. Pri spájkovaní vám pomôže ak konektory zasuniete do prepojovacieho poľa, čím sa zaistí kolmosť pinov voči doske

Vstupno – výstupné piny (GPIO) označené ako GPIO 0 až GPIO 28  sú alternované so signálmi komunikačných zberníc. Doska disponuje dvomi rozhraniami SPI, dvomi rozhraniami I2C a taktiež dvomi komunikačnými rozhraniami UART. Ďalej sú k dispozícii tri 12-bitové analógovo digitálne (ADC) prevodníky a 16 výstupov podporuje pulzne šírkovú moduláciu (PWM). Piny GPIO 23 až GPIO 25 nie sú vyvedené na zbernicu dosky, využívajú sa interne. Na port GPIO 25 je pripojená LED dióda na doske, ďalšie porty sa využívajú na regulovanie napájacieho zdroja a meranie systémových napätí.

Obvody napájacieho zdroja za doske dokážu vygenerovať napájacie napätie 3,3 V potrebné pre mikrokontrolér z pomerne širokého rozsahu vstupných napätí 1,8 – 5,5 V. Pri programovaní keď je doska Pico pripojená k vývojárskemu počítaču, je napájaná cez USB rozhranie.

Najčastejšie sa na programovanie bude využívať populárny programovací jazyk Python, konkrétne verzia MicroPython určená pre mikrokontroléry. V takom prípade je potrebné zaviesť do flash pamäti dosky interpreter tohto programovacieho jazyka. Postup je veľmi jednoduchý. Stiahnete si súbor s príponou UF2 zo stránky výrobcu. Následne na doske stlačíte a držíte tlačidlo BOOTSEL (boot select) a pripojíte USB kábel k počítaču. Doska RPi Pico sa bude voči počítaču tváriť ako externé pamäťové zariadenie označené ako RPI-RP2. Následne na toto virtuálne pamäťové zariadenie skopírujete UF2 súbor. Tlačidlo BOOTSEL prepína bootovanie z flash pamäti na bootovanie z USB. Na programovanie síce môžete použiť aj terminálovú aplikáciu typu PuTTy, avšak na pohodlnú tvorbu kódu odporúčame vývojové prostredie Thonny IDE, ktoré si môžete stiahnuť z weby thonny.org a je k dispozícii pre Windows, MacOS aj Linux. Podporu pre Raspberry Pi Pico doinštalujete pomocou menu Tools – Options v záložke Interpreter.

Dosku RPi Pico môžete programovať aj z mikropočítača Raspberry Pi, najkomfortnejšie sa vám bude pracovať s Raspberry Pi 400, čo je de facto RPi 4 zabudované do klávesnice.

Raspberry Pi Pico! na nepájivém poli stavebnice Totem MiniLab

Pokiaľ budete na vývoj programu pre Pico využívať veľké Raspberry, tak môžete bootovací interpreter MicroPythonu zaviesť priamo z vývojového prostredia Thonny IDE, ktoré je súčasťou operačného systémy Raspbian. Najskôr je však potrebné upgradovať operačný systém, aby ste v novej verzii Thonny IDE mohli pridať podporu Micro Pythonu pre RPi Pico. Potom keď pripojíte Pico tak, že držíte tlačidlo BOOTSEL, vývojové prostredie vám priamo ponúkne nainštalovanie interpretera do dosky. Pokiaľ vyvíjate v C++, môžete skompilovaný program zaviesť aj cez port ARM SWD (Serial Wire Debug). Tento port môžete využiť aj na interaktívne ladenie programového kódu bežiaceho na RP2040.

Na vyskúšanie funkčnosti môžete v okne Shell, alebo v terminálovej aplikácii keď sa zobrazí prompt tri šípky >>> zadať jednoriadkový príkaz, napríklad:


print("NEXTECH")

Ak sa v terminálovej aplikácii prompt >>> nezobrazí skúste stlačiť Enter, aby sa zahájila sériová komunikácia počítača s doskou Raspberry Pi Pico.

V prvom príklade budeme blikať LED diódou, ktorá je priamo na doske a je pripojená na port GPIO 25. Najskôr nastavíme tento port ako výstupný. Na blikanie využijeme časovač, ktorý nastavíme na periodické blikanie napríklad s frekvenciou 2,5 Hz. Príkaz led.toggle() prepína stav portu z 0 na 1 a naopak, čo spôsobí periodické rozsvecovanie a zhasínanie LED diódy. Ak by ste chceli nastaviť hodnotu na porte priamo, použijete príkaz led.value(1), alebo led.value(0).

from machine import Pin, Timer
led = Pin(25, Pin.OUT)
timer = Timer()

def blink(timer):
    led.toggle()

timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)

Ak vám tento program bude fungovať, máte istotu, že máte RPi Pico správne pripojené k vývojárskemu počítaču, prípadne k niektorému modelu Raspberry Pi, ktorý je možné používať na vývoj programov pre Pico.

Vo voľnom pokračovaní budeme realizovať a softvérovo obsluhovať jednoduché hardvérové zapojenia.


Převzato z webu Nextech se souhlasem autora.