A Raspberry Pi Pico egy kisméretű mikrovezérlő, amit a Raspberry Pi alapítvány saját fejlesztésű RP2040-es chipje köré épített.
A Pico kétmagos Arm Cortex-M0 processzorral, 264 KB belső RAM-mal, valamint akár 16 MB chipen kívüli Flash támogatással rendelkezik.
Az eszközön számos I/O port található, amik a felhasználó által beforrasztandó GPIO tüskéken keresztül érhetők el. Ezeken a csatlakozókon keresztül férhetünk hozzá a Pico I2C, és SPI buszaihoz, valamint kategóriájában egyedülálló módon az eszköz programozható I/O portjaihoz.
Bevezetés
A következőkben megvizsgáljuk, hogy hogyan lehet a Pico-t egy másik számítógéphez (Raspberry Pi, vagy PC) csatlakoztatni, illetve hogyan lehet programozni, a Python környezet segítségével.
A Pico tehát egy nagyon kedvező árú, kisméretű mikrovezérlő, elvi felépítésében hasonlít a számítógépekhez, de nem az, mert nem tartalmaz nagyméretű háttértárolót, nem csatlakoztatható hozzá billentyűzet illetve megjelenítő eszköz, valamint nem operációs rendszer működteti.
Egy mikrovezérlő programozásához egy számítógépre van szükségünk, amin egy un. magas szintű programozási környezetben (Python, C, C++, Java) megírt programot fordítás után a vezérlő memóriájába tudunk tölteni. Ezek után az eszköz amint tápfeszültséget kap, a letöltött programot azonnal elkezdi futtatni.
A mi esetünkben a számítógép lehet egy Raspberry Pi, vagy egy laptop (asztali PC) a programozási környezet pedig a Thonny IDE felületen futtatott Python.
Az első project, Hello World a Raspberry Pico-n
Hardver eszközöknél az un. Hello World program általában egy LED villogtatása szokott lenni. Ne térjünk el a hagyományoktól, nézzük meg, hogy a Pico-n milyen eszközökre van szükségünk a feladat megoldásához!
Hardver
- Raspberry Pico beforrasztott tüskesorral (ezt bízd szakemberre, ha nem vagy jártas benne)
- Egy számítógép, amely képes futtatni a Thonny IDE-t (Raspberry Pi + Raspberry Pi OS)
- Micro USB kábel
- Különböző elektronikai alkatrészek, elsősorban egy LED, megfelelő értékű előtét ellenállás, továbbá gombok, esetleg potenciométer
- Breadboard és jumperkábelek további alkatrészek csatlakoztatásához
- Külső 5 V-os micro USB áramforrás (opcionális)
Szoftver
- MicroPython firmware a Raspberry Pi Pico számára
- A Thonny Python IDE
Új ismeretek
- Hogyan töltsük be a MicroPython firmware-t egy Raspberry Pi Pico-ra
- A Raspberry Pi Pico programozása a MicroPython használatával
- Hogyan lehet további komponenseket csatlakoztatni egy Raspberry Pi Pico-hoz, és miként lehet MicroPython programokat írni a velük való együttműködésre
1. Lépés – a hardver összeállítása
A Pico programozása, használata, külső eszközökkel való összekötése akkor a legegyszerűbb, ha az eszközt egy breadboardba csatlakoztatva használjuk. A Javasolt elrendezés az alábbi ábrán látható:
2. Lépés – a Thonny IDE telepítése
- A Thonny telepítve van a Raspberry Pi OS-re, de előfordulhat, hogy frissíteni kell a legújabb verzióra
- Nyisson meg egy terminálablakot vagy a képernyő bal felső sarkában lévő ikonra kattintva, vagy a Ctrl + Alt + T gombok egyidejű megnyomásával
- Az ablakba írjuk be a következőket az operációs rendszer és a Thonny frissítéséhez
sudo apt update && sudo apt upgrade -y
Egyéb operációs rendszerek esetén:
- Windows, macOS és Linux rendszereken telepítheti a legújabb Thonny IDE-t vagy frissítheti a meglévő verziót.
- Egy webböngészőben navigáljon a thonny.org webhelyre.
- A böngészőablak jobb felső sarkában Windows és macOS esetén letöltési linkeket, Linux esetén pedig utasításokat talál.
A Thonny telepítéséhez töltse le a megfelelő fájlokat, és futtassa őket. Telepítés és futtatás után a Thonny bejelentkező képernyője:
Alaphelyzetben a Thonny ún. standard Python kód írására alkalmas. Ahhoz, hogy a Raspberry Pico-t programozni tudjuk, az első csatlakoztatás alkalmával el kell végezzük a következő lépéseket:
Python firmware hozzáadás
Keressük meg a BOOTSEL gombot a Pico-n:
Nyomjuk meg a BOOTSEL gombot, és tartsuk lenyomva, miközben a micro-USB kábel másik végét a számítógéphez csatlakoztatjuk. Az alábbi képen egy Raspberry Pi látható, de ugyanez vonatkozik bármilyen más számítógépre is.
Ezzel a Raspberry Pi Pico USB háttértároló üzemmódba kerül.
A Thonny ablak jobb alsó sarkában megjelenik a Python jelenleg használt verziója:
Kattintsunk a Python verzióra, és válasszuk a ‘MicroPython (Raspberry Pi Pico)’ lehetőséget:
Amennyiben az opció nem jelenik meg a menüben, ellenőrizzük, hogy a Pico csatlakoztatva van-e a számítógépünkhöz!
A fenti műveleteket követően a felugró dialógus ablakban elindíthatjuk a firmware telepítését:
A telepítés bejejezése után kattintsunk a Close gombra.
Természetesen a firmware frissítést nem kell a Pico minden használata előtt megtennünk. A következő alkalommal egyszerűen csatlakoztassuk a Pico-t a BOOTSEL gomb megnyomása nélkül.
3. A Thonny szerkesztő használata
Ebben a lépésben a Thonny Shell segítségével néhány egyszerű Python kódot fogunk futtatni a Raspberry Pi Pico vezérlőn.
Ellenőrzés: ha a Thonny editor “Shell” paneljén ezt a kiírást látjuk:
…akkor minden rendben van, kezdődhet a programozás!
4. A Thonny tesztelése
Ezek után minden rendelkezésre áll ahhoz, megírjuk a Pico “Hello world” programját, az “onboard” LED villogtatására.
A Pico specifikus programozási nyelve, a MicroPython olyan hardver-specifikus modulokat (library) ad hozzá az alapprogramhoz, mint például a machine.Pin, amelyeket a Raspberry Pi Pico hardverének programozásához használhatunk.
Hozzunk létre egy machine.Pin nevű objektumot, amely megfelel az “onboard” LED-nek, amelyet a 25-ös GPIO tüskén keresztül érhetünk el.
Ha a LED változó értékét 1-re állítjuk, akkor a LED bekapcsol.
Írjuk be az alábbi kódot, ügyeljünk arra, hogy minden sor után nyomjuk meg az Enter gombot.
from machine import Pin led = Pin(25, Pin.OUT) led.value(1)
Az utolsó parancs hatására bekapcsol a panelen lévő zöld LED:
Kikapcsolni a
led.value(0)
A Shell nagyon hasznos segédeszköz, ha ki akarjuk próbálni egy-egy parancs működését. Segítségével parancsokat tudunk kiadni egyesével. A hosszabb programokat azonban jobb, ha egy fájlban helyezzük el.
A Thonny segítségével a megírt MicroPython programokat közvetlenül a Raspberry Pi Pico-ra tudjuk elmenteni és futtatni. Ebben az esetben a programot nem a “shell”-ben, hanem a szerkesztőben írjuk. Megfigyelhetjük, hogy ebben az esetben a sorok végén az enter lenyomása után a parancsok nem hajtódnak végre, hiszen ebben az esetben a program sorai lesznek.
Gépeljük be az alábbi sorokat:
from machine import Pin led = Pin(25, Pin.OUT) led.toggle()
Kattintsunk a RUN gombra a kód futtatásához.
A Thonny megkérdezi, hogy a fájlt erre a számítógépre vagy a MicroPython eszközre kívánjuk-e menteni. Válasszuk a MicroPython eszközt.
Adjuk meg a blink.py fájlnevet!
Ezek után azt látjuk, hogy a panelon lévő LED minden alkalommal be- és kikapcsol, amikor a RUN gombra kattintunk.
A program módosításával megoldható a folyamatos villogás:
from machine import Pin import utime led = Pin(28, Pin.OUT) led.low() while True: led.toggle() print("Toggle") utime.sleep(1)
Ebben a programban a “Pin” library mellett szükségünk van az időzítéshez a “utime” könyvtárra is, így ezt a program elején importáljuk. Így a “sleep” parancs paraméterezésével tetszőleges villogási sebesség állítható be!
A következő részben a Pico blokk-editoros programozási lehetőségeit fogjuk áttekinteni!
A cikkben bemutatott Raspberry Pi Pico és kiegészítői megvásárolhatóak a pi-shop.hu illetve a MálnaPC webshopjában!