Samsung_03 Samsung_03 Samsung_03 Advertisement

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

Mikrokontroléry
4

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.

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

Zobrazit Galériu

Luboslav Lacko

Všetky autorove články
Raspberry Pi Pico Raspberry Pi Micropython Python

4 komentáre

Dosť ťažké na začiatočníčku reakcia na: Raspberry Pi Pico – vývojová doska za 4 eurá programovateľná v Pythone aj C++

13.2.2021 17:02
Ako začiatočníčka nechápem úplne, ako mám pripojiť dosku do poľa a už vôbec nechápem ako skompilujem program :-( Ste možno odborník, ale Vaše vysvetlenia sú slabé. Chcelo by to nejaký seriál od základov s presným popisom komponentov, aj kde to kúpim a ako presne zapojím.
Reagovať

RE: Dosť ťažké na začiatočníčku reakcia na: Dosť ťažké na začiatočníčku

14.2.2021 00:02
Vsetko mas vo videu. Ked nechapes, pozri si video 3x. Naco by mali stracat cas s pisanim, ked uz stratili cas s natacanim videa? ... len jednu radu by som dal, pouzivat "VS Code" na programovanie. VS Code je jednoduchsi a s vela intuitivnymi funkciami.
Reagovať

super reakcia na: Raspberry Pi Pico – vývojová doska za 4 eurá programovateľná v Pythone aj C++

12.2.2021 09:02
Pan Lacko, dlhodobo citam Vase clanky, a su naozaj jedinecne. Vidiet ze Vas to bavi a viete svoje vedomosti posunut aj dalej. Zial, vacsina clankov na tomto webe nestoji za otvorenie prehliadaca. Ziadne navody a recenzie tu uz nie su. Ste asi jediny spravny redaktor z celej redakcie. Ostatni produkuju iba ubohe preklady zahranicnych clankov s nulovym vlastnym prinosom pre citatela. Dakujem za Vasu pracu, tesim sa na dalsie postupy.
Reagovať

RE: super reakcia na: super

13.2.2021 15:02
uplny suhlas. Zmysluplnych clankov je tu menej ako safranu, drviva vacsina su prebrate cudnosti z pochybnych zdrojov pri ktorych mam navyse pocit ze ich prekladaju studaci spolocenskych vied ktory k technike nepricuchli.
Reagovať

Pridať komentár