Raspberry Pi Pico è un recente microcontrollore programmabile simile ad
Arduino e
ESP8266 ed è visibile qua sotto in foto
Raspberry Pi Pico - RP2040 La moneta da 10 centesimi è riportata solo per evidenziare le reali dimensioni
E' basata sul microcontroller
RP2040 le cui caratteristiche principali sono:
- Processore dual-core Arm Cortex-M0+
- RAM interna da 264 KB e supporto per un massimo di 16 MB di Flash off-chip
- un'ampia gamma di opzioni di I/O flessibili che includono I2C, SPI e I/O programmabili (PIO)
- porta USB
- può essere programmato in C/C++ e MicroPython
La mappatura dei
Pin è questa
Pin map In questo tutorial vedremo come iniziare a programmarla in
MicroPython con
Visual Studio CodeIniziare con MicroPython
Per usare
Micro Python va prima installato il
firmware corretto sul
Pico tramite drag & drop.
Procedi in questo modo:
- scarica il file MicroPython UF2 (attualmente la versione 1.15, per vedere i firmware disponibili vedi Firmware for Raspberry Pi Pico)
- tieni premuto il pulsante BOOTSEL sul tuo Pico e collegalo alla porta USB del tuo PC, una volta collegato rilascia il pulsante
- Verrà montato come dispositivo di archiviazione di massa chiamato RPI-RP2
- trascina e rilascia il file MicroPython UF2 sul volume RPI-RP2, il Pico si riavvierà, MicroPython è installato.
Il tasto
BOOTSEL è quello evidenziato in foto
Tasto BOOTSEL Finché non viene installato
MicroPython,
Pico comparirà come periferica USB non riconosciuta (RP2 Boot)
Pico non installato ma sarà comunque visibile come dispositivo di archiviazione
Pico non installato Una volta scaricato e fatto il drag & drop del file
MicroPython UF2Installazione MicroPython sarà visualizzato in questo modo
Board in FS modePico installato Il
Pico è pronto per essere programmato.
Utilizzo di VS Code
Per utilizzare
Visual Studio Code è necessario installare l'estensione
Pico-Go VS Code ExtensionEstensione Pico-Go se tutto è andato a buon fine nella barra in basso deve comparire la dicitura
Pico Connected e visualizzata la console
Pico Console dove è possibile inserire i comandi
MicroPythonEstensione Pico-Go In questa fase viene anche visualizzata la porta a cui è connesso il Pico, nell'esempio COM5.
I tre simboli di maggiore >>> indicano che il Read–Eval–Print Loop (REPL) di Pico è pronto a ricevere comandi.
Configurazione progetto
Tramite il comando
All Commands / Configure project è possibile impostare il
progetto in automatico perché sia configurato con tutte le
dipendenze necessarie
configurazione progetto Questo crea la cartella
.vscode con, tra le altre cose, le librerie
MicroPython e un file
pico-go.json{
"sync_folder": "",
"open_on_start": true
}
in ultimo visualizza le estensioni
consigliate per questo tipo di progetto.
Lampeggio di un LED in MicroPython
Come primo programma di esempio, facciamo lampeggiare il
LED incorporato nel controller
PicoLED on-board Crea un file
demo-led.py (il nome file non è importante) e inserisci il codice seguente
# carico le librerie necessarie
from machine import Pin
import utime
# salvo in una variabile il pin collegato al LED interno (built-in)
# lo imposto in modalità OUTPUT
led1 = Pin(25, Pin.OUT)
# cliclo all'infinito
while True:
print("LED acceso")
led1.value(1)
# aspetto 1 secondo
utime.sleep(1)
print("LED spento")
led1.value(0)
# aspetto 1 secondo
utime.sleep(1)
Dove:
- Pin(25, Pin.OUT) imposta il pin 25, dove è collegato il LED interno, in output
- led1.value(...) permette di impostare la corrispondente uscita come attiva (accesa) o disattiva (spenta)
- utime.sleep(1) crea una pausa di 1 secondo tra le fasi accensione / spegnimento.
- while True crea un ciclo infinito .
Il programma può essere semplificato con l'uso dell'istruzione
toggle in questo modo
# carico le librerie necessarie
from machine import Pin
import utime
# salvo in una variabile il pin collegato al LED interno (built-in)
# lo imposto in modalità OUTPUT
led1 = Pin(25, Pin.OUT)
# cliclo all'infinito
while True:
led1.toggle()
utime.sleep(1)
L'istruzione
toggle inverte lo stato dell'uscita.
Vedi anche
Cominciare ad usare Python - Parte 1.
Esecuzione
Possiamo mandarlo in esecuzione direttamente sul
Pico tramite il pulsante
Run senza doverlo caricare (upload)
Run e fermalo con
StopRunning & Stop mentre nella console vengono visualizzati gli output dei comandi
print.
Upload
Tramite il pulsante
Upload (nella barra in basso), è possibile caricare il file
selezionato sul
Pico in modo da renderlo persistente e disponibile anche in caso di riavvio
Upload file selezionato Attenzione in questo caso (upload) il file deve assolutamente chiamarsi main.py, altrimenti non verrà eseguito nessun programma.
Cancellazione
Prima di partire con un nuovo progetto può essere utile cancellare tutto il contenuto del
Pico tramite il comando
All commands / Delete all files from boardCancella tutti i file dal Pico