Raspberry Pi Pico. Prototypovací lišty si budete muset připájet sami.

Raspberry Pi Pico. Prototypovací lišty si budete muset připájet sami.

Schéma desky Raspberry Pi Pico. Vedle samotného mikrokontroleru RP2040 na ní najdete ještě 2MB flashovou paměť Winbond W25Q16 a napěťový step-up/step-down měnič Richtek RT6150B

Schéma desky Raspberry Pi Pico. Vedle samotného mikrokontroleru RP2040 na ní najdete ještě 2MB flashovou paměť Winbond W25Q16 a napěťový step-up/step-down měnič Richtek RT6150B

Mikrokontroler RP2040 je rychlý, má dostatek RAM a také dvě jádra, takže můžete na každém z nich spustit jinou část programu a chytře rozdělit práci

Mikrokontroler RP2040 je rychlý, má dostatek RAM a také dvě jádra, takže můžete na každém z nich spustit jinou část programu a chytře rozdělit práci

Termosnímek za běhu programu, čte údaje z externího I²C teploměru SHT3x

Termosnímek za běhu programu, čte údaje z externího I²C teploměru SHT3x

Pinout desky Raspberry Pi Pico

Pinout desky Raspberry Pi Pico

Desky od ostatních výrobců:   Pimoroni Tiny 2040

Desky od ostatních výrobců:  Pimoroni Tiny 2040

 Adafruit Feather RP2040

Adafruit Feather RP2040

 SparkFun Thing Plus - RP2040

SparkFun Thing Plus - RP2040

Chystané  Seedstudio RP2040 Wireless  s rádiovou komunikací

Chystané Seedstudio RP2040 Wireless s rádiovou komunikací

Před připojením desky Pico k PC stačí přidržet jeho tlačítko BOOTSEL. Čip se ohlásí jako běžné USB úložiště, ale ve flashovacím režimu.

Před připojením desky Pico k PC stačí přidržet jeho tlačítko BOOTSEL. Čip se ohlásí jako běžné USB úložiště, ale ve flashovacím režimu.

Dva zkušební firmwary přímo od nadace Raspberry Pi

Dva zkušební firmwary přímo od nadace Raspberry Pi

Dva zkušební firmwary přímo od nadace Raspberry Pi

Dva zkušební firmwary přímo od nadace Raspberry Pi

Na GitHubu najdete jednoduchý instalátor všech potřebných nástrojů pro překlad a ladění na Windows. Na linuxových systémech stačí stáhnout skript přímo od nadace Raspberry Pi. 

Na GitHubu najdete jednoduchý instalátor všech potřebných nástrojů pro překlad a ladění na Windows. Na linuxových systémech stačí stáhnout skript přímo od nadace Raspberry Pi. 

Na GitHubu najdete jednoduchý instalátor všech potřebných nástrojů pro překlad a ladění na Windows. Na linuxových systémech stačí stáhnout skript přímo od nadace Raspberry Pi. 

Na GitHubu najdete jednoduchý instalátor všech potřebných nástrojů pro překlad a ladění na Windows. Na linuxových systémech stačí stáhnout skript přímo od nadace Raspberry Pi. 

Na GitHubu najdete jednoduchý instalátor všech potřebných nástrojů pro překlad a ladění na Windows. Na linuxových systémech stačí stáhnout skript přímo od nadace Raspberry Pi. 

Na GitHubu najdete jednoduchý instalátor všech potřebných nástrojů pro překlad a ladění na Windows. Na linuxových systémech stačí stáhnout skript přímo od nadace Raspberry Pi. 

Adresář Pico na Windows se všemi potřebnými nástroji

Adresář Pico na Windows se všemi potřebnými nástroji

Příkazový řádek připravený pro překlad programů pro armový čip RP2040. Pokud výstup v tom vašem vypadá jinak, nejspíše jste zapomněli restartovat Windows.

Příkazový řádek připravený pro překlad programů pro armový čip RP2040. Pokud výstup v tom vašem vypadá jinak, nejspíše jste zapomněli restartovat Windows.

Raspberry Pi Pico Project Generator

Raspberry Pi Pico Project Generator

Adresář našeho zkušebního projektu

Adresář našeho zkušebního projektu

Raspberry Pi Pico a modul teploměru SHT3x na nepájivém poli

Raspberry Pi Pico a modul teploměru SHT3x na nepájivém poli

Otevření projektu Teplomer v editoru VS Code z předpřipravené příkazové řádky, která nastavila všechny nutné globální proměnné.

Otevření projektu Teplomer v editoru VS Code z předpřipravené příkazové řádky, která nastavila všechny nutné globální proměnné.

Náš projekt Teplomer ve Visual Studio Code, které díky balíčku Pico for Windows obsahuje všechny potřebné doplňky a je napojené na překladač pro architekturu ARM

Náš projekt Teplomer ve Visual Studio Code, které díky balíčku Pico for Windows obsahuje všechny potřebné doplňky a je napojené na překladač pro architekturu ARM

Schéma zapojení Raspberry Pi Pico a teploměru SHT3x pomocí sekundární sběrnice I²C1

Schéma zapojení Raspberry Pi Pico a teploměru SHT3x pomocí sekundární sběrnice I²C1

Celý obvod na neájivém poli po několika minutách běhu na termosnímku

Celý obvod na neájivém poli po několika minutách běhu na termosnímku

Chceme rychle změřit teplotu, podle dokumentace proto odešleme 16bit hodnotu 0x2C06

Chceme rychle změřit teplotu, podle dokumentace proto odešleme 16bit hodnotu 0x2C06

Jak znázorňuje schéma v dokumentaci, první dva bajty obsahují teplotu, pak dorazí kontrolní součet (pro jednoduchost ukázky budeme ignorovat) a opět dva bajty s vlhkostí

Jak znázorňuje schéma v dokumentaci, první dva bajty obsahují teplotu, pak dorazí kontrolní součet (pro jednoduchost ukázky budeme ignorovat) a opět dva bajty s vlhkostí

Matematická formulka pro výpočet konečné teploty a vlhkosti vzduchu z 16bitových surových hodnot, které nám dorazily po sběrnici I²C 

Matematická formulka pro výpočet konečné teploty a vlhkosti vzduchu z 16bitových surových hodnot, které nám dorazily po sběrnici I²C 

Standardní výstup jsme přesměrovali na USB CDC (virtuální sériovou linku), takže se budou textové řetězce po připojení desky k PC vypisovat do libovolného sériového terminálu

Standardní výstup jsme přesměrovali na USB CDC (virtuální sériovou linku), takže se budou textové řetězce po připojení desky k PC vypisovat do libovolného sériového terminálu

Konfigurační skript CMakeLists.txt, jak jej vytvořil generátor. Všimněte si označených řádků, kde skript říká překladači, standardní I/O bude namapované na USB a nikoliv na interní UART na desce.

Konfigurační skript CMakeLists.txt, jak jej vytvořil generátor. Všimněte si označených řádků, kde skript říká překladači, standardní I/O bude namapované na USB a nikoliv na interní UART na desce.

V korektně nastaveném VS Code spuštěném z přednastavené příkazové řádky s načtenými vývojářskými komponentami stačí klepnout na tlačítko Build

V korektně nastaveném VS Code spuštěném z přednastavené příkazové řádky s načtenými vývojářskými komponentami stačí klepnout na tlačítko Build

Informace o překladu se budou vypisovat do okna Output ve Visual Studio Code. Pokud vše proběhne v pořádku, měl by závěr skončit zhruba takto.

Informace o překladu se budou vypisovat do okna Output ve Visual Studio Code. Pokud vše proběhne v pořádku, měl by závěr skončit zhruba takto.

V podadresáři build našeho projektu se po úspěšném sestavení objeví soubor hotového firmwaru ve formátu UF. Stačí jej přetáhnout na připojenou desku Raspberry Pi Pico v režimu flashování.

V podadresáři build našeho projektu se po úspěšném sestavení objeví soubor hotového firmwaru ve formátu UF. Stačí jej přetáhnout na připojenou desku Raspberry Pi Pico v režimu flashování.

Schéma desky Raspberry Pi Pico. Vedle samotného mikrokontroleru RP2040 na ní najdete ještě 2MB flashovou paměť Winbond W25Q16 a napěťový step-up/step-down měnič Richtek RT6150B
Mikrokontroler RP2040 je rychlý, má dostatek RAM a také dvě jádra, takže můžete na každém z nich spustit jinou část programu a chytře rozdělit práci
Termosnímek za běhu programu, čte údaje z externího I²C teploměru SHT3x
Pinout desky Raspberry Pi Pico
32
Fotogalerie

Programování elektroniky: Nejmenší ze všech britských malin Raspberry Pi Pico

  • Elektrokutilové dostali do nového roku nečekaný dárek
  • Rodina destiček se rozrostla o novou britskou malinu
  • Dnes si ji naprogramujeme v Pythonu a C/C++

Pokud jste ještě v prosinci loňského roku někomu řekli, že jste si koupili nové Raspberry Pi, každý ajťák okamžitě věděl, že máte na mysli malý a laciný linuxový mikropočítač ve formě základní desky s relativně výkonným armovým procesorem. Od letošního ledna to už neplatí.

Nadace Raspberry Pi totiž vyrukovala s nejnovější, nejmenší a také nejlevnější destičkou Pico, kterou na oficiálním českém e-shopu rpishop.cz seženete zhruba za stokorunu.

54321c48-4c0c-4e3d-ae11-334d07439bb6
Raspberry Pi Pico. Prototypovací lišty si budete muset připájet sami.

Výkonný armový procesor tentokrát nahradil drobný armový mikrokontroler, který můžete programovat v MicroPythonu a C/C++ (dokumentace Doxygen) podobným způsobem, jak jsme to v našem seriálu doposud dělali třeba s Wi-Fi čipy ESP8266/32 a populární prototypovací stavebnicí Arduino.

Dvoujádrový řídící čip RP2040

Raspberry Pi Pico pohání dvoujádrový čip RP2040 s taktem do 133 MHz, který si nadace sama navrhla. První dvě písmena jsou zkratkou Raspberry Pi a následující čísla značí architekturu, RAM a velikost integrovaného úložiště:

  • číslo 2 znamená, že má čip dvě jádra
  • číslo 0 znamená, že se jedná o architekturu ARM Cortex M0+
  • číslo 4 je zkratkou pro 264kB operační paměť SRAM
  • číslo 0 na úplném závěru znamená, že čip nemá vlastní úložiště. O to se totiž stará na destičce Pico sekundární obvod flashové paměti Winbond W25Q16 s kapacitou 2 MB na obvyklé sběrnici SPI.
16d56548-1e1a-4443-98ee-a09f16bdc20304a621b5-d559-4d30-b79a-2e3e2a4d64a0
Mikrokontroler RP2040 je rychlý, má dostatek RAM a také dvě jádra, takže můžete na každém z nich spustit jinou část programu a chytře rozdělit práci

Na drobné destičce se našlo místo ještě pro čip napěťového step-up/step-down měniče Richtek RT6150B, díky kterému ji můžete vedle standardního 5V MicroUSB konektoru napájet libovolným zdrojem stejnosměrného napětí v rozsahu 1,8 V až 5,5 V. Mohou to být třeba dvě tužkové baterie, 4,2V lithiový článek, malý solární panýlek, který nabídne dostatečný proud – prostě téměř cokoliv.

c3969b21-b6b9-4d7c-ad53-9cbc0a309ed2
Termosnímek za běhu programu, který čte údaje z externího I²C teploměru SHT3x

Součástí mnoha prototypovacích destiček je čip UART/USB převodníku, ten však v případě Raspberry Pi Pico není potřeba, mikrokontroler RP2040 totiž nativně podporuje rozhraní USB 1.1 a to i v režimu host, čili k destičce můžete připojit USB periferie a naprogramovat si třeba vstup z klávesnice.

26 multifunkčních GPIO

Každý kutil, který pracuje s hromadou nejrůznějších čidel a aktuátorů, obvykle zápasí s nedostatkem volných digitálních pinů. Drobná destička Pico jich nabízí rovnou 26 a to s 3,3V logikou. Vedle základních GPIO budete mít k dispozici ještě:

  • sběrnici I²C
  • sběrnici SPI
  • sériovou linku UART
  • 12bitový analogový vstup ADC
  • 16× generátor pulzně-šířkové modulace PWM
ce5685cd-1876-4930-a0ed-0bac54cc044d
Pinout desky Raspberry Pi Pico

Nejpokročilejší kutilové si nakonec mohou vyzkoušet nízkoúrovňové programování digitálních a velmi přesných signálů PIO (Programmable I/O) v jazyku symbolických adres třeba pro ovládání populárních RGB LED proužků, aniž by zatěžovali hlavní procesor mikrokontroleru. Pomocí PIO lze ale emulovat i mnohem složitější signály. Třeba VGA video. K dispozici jsou nakonec také časovače, DMA, obvod reálného času RTC a rozhraní SWD pro ladění za běhu.

Příklady ke všem zmíněným technologiím najdete na GitHubu

Chybí Wi-Fi a BT, už na nich ale pracuje Arduino

Raspberry Pi Pico bohužel nenabízí žádný obvod rádiové konektivity. Chybí jak Wi-Fi, tak Bluetooth/BLE a je to velká škoda, destička by totiž mohla přímo soupeřit s tolik oblíbenými stavebnicemi s Wi-Fi čipy ESP8266/32. Na stranu druhou, Pico je pouhý začátek mnohem širšího plánu a vlastní desky s RP2040 postupně chystají i další hráči včetně Arduina!

9227b212-d342-44d8-9dfa-d28860d271da ef14ae2b-27e9-403f-90f0-2aa2c1eb149e0a1f51bd-b217-4cec-bf7c-803e4442698d45d31fb4-2dc1-4d86-9cc0-701d509e35b5
Desky od ostatních výrobců:  Pimoroni Tiny 2040Adafruit Feather RP2040SparkFun Thing Plus - RP2040 a chystané Seedstudio RP2040 Wireless s rádiovou komunikací

Právě italská nadace zastřešující nejznámější rodinu prototypovacích desek se totiž na svém blogu už zkraje roku pochlubila, že nad RP2040 postaví vlastní desku s hromadou čidel. Arduino Nano RP2040 Connect s Wi-Fi/BT modulem NINA-W102 od Ubloxu tu bude snad už co nevidět a nabídne vývoj v nám dobře známém prostředí s jeho tradičními knihovnami.

Pokračování článku patří k prémiovému obsahu pro předplatitele

Chci Premium a Živě.cz bez reklam Od 41 Kč měsíčně

Určitě si přečtěte

Články odjinud