Raspberry Pi Pico: programmazione con Visual Studio Code
Raspberry Pi Pico è un recente microcontrollore programmabile simile ad Arduino e ESP8266 ed è visibile qua sotto in foto
Procedi in questo modo:
sarà visualizzato in questo modo Board in FS modeIl Pico è pronto per essere programmato.
in ultimo visualizza le estensioni consigliate per questo tipo di progetto.
Dove:
Il programma può essere semplificato con l'uso dell'istruzione toggle in questo modo
L'istruzione toggle inverte lo stato dell'uscita.
Vedi anche Cominciare ad usare Python - Parte 1.
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
Allo stato attuale non ha nessun supporto di rete/WI-FI.
Se serve il supporto al WI-Fi conviene usare ESP8266 come in questo esempio Prese comandate IoT controllate da cellulare (ESP8266).
La mappatura dei Pin è questaIn questo tutorial vedremo come iniziare a programmarla in MicroPython con Visual Studio CodeSe serve il supporto al WI-Fi conviene usare ESP8266 come in questo esempio Prese comandate IoT controllate da cellulare (ESP8266).
Oltre a Visual Studio Code esiste anche un altro editor per il Python che si chiama Thonny che può essere usato per programmare il Pico.
Attenzione per proseguire nel tutorial, sulla macchina deve già essere installato Python 3 e Visual Studio Code
Iniziare 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.
sarà visualizzato in questo modo Board in FS modeIl Pico è pronto per essere programmato.
Utilizzo di VS Code
Per utilizzare Visual Studio Code è necessario installare l'estensione Pico-Go VS Code Extensionse 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 MicroPythonIn 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.
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 necessarieQuesto crea la cartella .vscode con, tra le altre cose, le librerie MicroPython e un file pico-go.jsonJSON: pico-go.json
{
"sync_folder": "",
"open_on_start": true
}
Lampeggio di un LED in MicroPython
Come primo programma di esempio, facciamo lampeggiare il LED incorporato nel controller PicoCrea un file demo-led.py (il nome file non è importante) e inserisci il codice seguentePython: demo-led.py
# 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)
- 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
Python
# 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)
Vedi anche Cominciare ad usare Python - Parte 1.
Esecuzione
Possiamo mandarlo in esecuzione direttamente sul Pico tramite il pulsante Run senza doverlo caricare (upload)e fermalo con Stopmentre 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 riavvioAttenzione in questo caso (upload) il file deve assolutamente chiamarsi main.py, altrimenti non verrà eseguito nessun programma.