Introduzione a Raspberry Pi Pico

Il 2021 ha portato novità in casa Raspberry Pi: l'azienda nota per i computer con lampone a scheda singola ha deciso di buttarsi nel mercato delle schede a microcontrollore dando vita a Raspberry Pi Pico. In un articolo precedente abbiamo parlato delle sue caratteristiche principali, dei costi e dell'hardware su cui è basato: in questo articolo ho il piacere di fare un'introduzione approfondita a Rapsberry Pi Pico. Infatti, muoveremo i primi passi per poterlo utilizzare grazie a Micropython.

Ma prima di cominciare, permettimi di presentarmi: sono Lorenzo Neri: chief education officer di Elettronica Open Source, mi occupo di realizzare contenuti educativi per aiutare persone come te a comprendere meglio questo mondo!

Micropython

In casa Raspberry Pi, così come in Makers Academy, abbiamo visto che Python offre un sacco di potenzialità, ma soprattutto, permette di realizzare codice per concretizzare progetti, idee, ma anche firmware. Micropython permette di realizzare anche firmware, di fatto utilizzeremo proprio lui per muovere i primi passi con Raspberry Pi Pico. La potenzialità principale di Python e di suo fratello minore Micropython, sta proprio nella semplicità di lettura, realizzazione e immediatezza. Questi aspetti, che lo rendono un pò più umano dal punto di vista dell'uso rispetto a C/C++, hanno ovviamente dei contro. Python e Micropython li possiamo considerare dei linguaggi di programmazione a "quasi" alto livello: questo implica un'interpretazione del codice più lunga e onerosa sia per l'interprete, sia chiaramente per le risorse hardware. In termini più semplici: è richiesta più ROM, più potenza computazionale e tempo a parità di codice scritto in C/C++. Chiarito questo punto, è opportuno passare al punto numero 1.

Installazione del firmware

Raspberry Pi Pico, al momento dell'acquisto, funziona come una memoria di massa. Per poterlo utilizzare, è necessario installare un firmware presente sul sito ufficiale. È sufficiente recarsi alla sezione specifica tramite questo link dove potrete scaricare il firmware per eseguire Micropython sulla scheda stessa. È presente un bottone che recita "Download UF2 file" che permette di scaricare il firmware stesso. Lascio anche per esso il link direttamente qui per scaricarlo.

Arrivati a questo punto, è necessario collegare la scheda al proprio computer, tenendo premuto il tasto "BOOTSEL" presente sulla scheda stessa:

Figura 1. Il tasto "BOOTSEL" presente su Raspberry Pi Pico cerchiato

Nel momento in cui la scheda appare come memoria di massa sulle risorse del vostro computer, si può rilasciare il bottone. Usate la scheda come se fosse una memoria di massa a tutti gli effetti e trascinate al suo interno il file UF2 scaricato in precedenza. A questo punto la scheda andrà automaticamente in riavvio e sarà pronta ad eseguire il vostro Micropython.

Introduzione all'uso di Micropython con Pico via terminale

Installato il firmware per eseguire Micropython sulla scheda, vediamo come eseguire il nostro codice secondo il paradigma REPL ovvero "Read Evaluate Print Loop". La prima cosa da fare è sconnettere la scheda dalla porta USB e connetterla nuovamente. Dopodiché è necessario installare il pacchetto minicom di cui lascio le referenze qui ma si può installare anche tramite linea di comando:

  • Linux:
    "sudo apt install minicom"
  • MacOS:
    "brew install minicom"

Questo pacchetto permette la comunicazione seriale diretta tra Raspberry Pi Pico e il nostro computer tramite terminale. Il passo successivo è capire come la scheda viene elencata nei dispositivi connessi. Per poterlo fare, è sufficiente lanciare il comando:

ls /dev/tty*

che mostrerà un elenco consistente, ma per dare familiarità, sono gli stessi nomi che troviamo quando usiamo Arduino IDE per impostare la porta corretta a cui è collegata la nostra scheda Arduino:

Figura 2. Elenco dei dispositivi connessi, Pico nel mio caso è "tty.usbmodem000000001"

Identificata la periferica, possiamo procedere tramite il comando:

minicom -o -D /dev/ttyNOME-DELLA-PERIFERICA-INDIVIDUATA

A questo punto, dovrebbe apparirvi un messaggio di benvenuto da parte di minicom: premete invio un paio di volte per avere a disposizione la comunicazione con la scheda.

Per essere sicuri di ciò, sul terminale apparirà il simbolo ">" ripetuto tre volte, per intenderci:

Figura 3. Minicom pronto per essere utilizzato

Ora siamo pronti per usare Micropython, ma per esserne sicuri al 100%, lanciamo il comando "print" per stampare a video:

Figura 4. Micropython è pronto

Usiamo l'hardware di Raspberry Pi Pico con Micropython

Il nostro obiettivo è fare il nostro primo "Ciao Mondo!" con l'hardware messo a disposizione con Raspberry Pi Pico. Per rimanere sul classico, useremo il LED saldato direttamente su scheda. Il LED saldato direttamente su Pico fa parte della GPIO messa a disposizione da Pico stesso: a tal proposito invito a scoprirla nel nostro articolo introduttivo e a livello di codice, viene identificato con il numero 25. Raspberry Pi, come azienda, ha deciso di realizzare una libreria per interagire a livello hardware e si chiama "machine".

All'interno di questa libreria, per agire in maniera diretta sulla GPIO, dovremo usare il modulo Pin:

# importiamo la libreria

from machine import Pin

# creiamo una variabile per agire sul LED built-in e specifichiamo che vogliamo usarlo come OUTPUT

ledBuiltIn = Pin(25, Pin.OUT)

Siccome dobbiamo fare tutto questo a terminale, per prima cosa scriviamo la riga necessaria a importare la libreria, dopo la riga dove dichiariamo la variabile assegnata al LED built-in.

Ora, come facciamo ad accendere e spegnere il LED? La variabile "ledBuiltIn" diventa un oggetto di tipo "Pin" e ha il metodo "value".

Se viene eseguito senza argomenti, restituisce un valore numerico.

Facciamo un esempio:

Figura 5. Il LED è spento, perciò il metodo "tornerà" uno zero

Perciò, se il LED è spento, il metodo restituisce "zero", diversamente, "uno". Abbiamo visto come funziona, ma non come si usa!

Accendiamo e spegniamo il LED

Per accendere e spegnere il LED presente su Pico, dobbiamo usare il metodo appena visto, ma dobbiamo passargli un argomento.

Per accenderlo:

Figura 6. Il LED è acceso

Per spegnerlo, invece:

Figura 7. Il LED è spento

Nei prossimi articoli analizzeremo ancora altri aspetti e funzionalità di Raspberry Pi Pico, una scheda tutt'altro che banale e che ci riserverà ancora tante sorprese. Stay tuned!

>> E' POSSIBILE ACCEDERE AL CORSO SU RASPBERRY PI SULLA PIATTAFORMA MAKERS-ACADEMY AL LINK: MYACADEMY - HOME (MYKAJABI.COM)

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend