Una guida per principianti a MicroPython con Raspberry Pi Pico

Una guida per principianti a MicroPython con Raspberry Pi Pico

Il Raspberry Pi Pico è il nuovo membro della famiglia Raspberry Pi. Prima di questo, la linea di prodotti Raspberry Pi era costituita da computer a scheda singola in grado di eseguire un sistema operativo.

Basato sul nuovo chip RP2040, il Raspberry Pi Pico supporta sia MicroPython che C/C++. Con il Raspberry Pi Pico, i principianti e gli appassionati possono controllare l'hardware e i dispositivi collegati. I pin GPIO del Raspberry Pi Pico possono essere utilizzati per attenuare le luci, leggere lo stato degli interruttori e molto altro.

Cos'è MicroPython?

La programmazione su microcontrollori è stata effettuata prevalentemente in linguaggio C, come si vede utilizzato nelle schede di sviluppo Arduino . Poi, nel 2014, è stato pubblicato un nuovo linguaggio di programmazione per microcontrollori, MicroPython. MicroPython ti permette di scrivere codice Python sul bare metal di un microcontrollore. Ciò significa che puoi scrivere codice Python senza un sistema operativo.

Python è un linguaggio di programmazione di alto livello adatto ai principianti che consente agli utenti di concentrarsi sull'apprendimento dei concetti di programmazione. Questo è più o meno lo stesso con MicroPython.

Utilizzo di un LED

Per controllare l'hardware, il Pico comunica con la serie di pin lungo entrambi i bordi. Questi sono chiamati pin GPIO (General Purpose Input Output) e il LED integrato si trova su GPIO 25. Per controllarlo, importa prima le librerie necessarie:

import machine

import utime

Quindi chiama la funzione Pin usando la libreria della macchina per gestire il pin GPIO del Pin, in questo caso stiamo impostando il Pin su GPIO 25, quindi è il primo parametro. Il secondo parametro lo imposta come pin di output anziché come pin di input, così facendo il pin sa cosa dovrebbe fare:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Per continuare, nel codice seguente, stiamo dicendo al Pico di impostare il suo valore pin su GPIO 25 su 1, o "on".

while True: onboard_led.value(1)

Tuttavia, potresti renderti conto che non sembra accadere nulla. Questo perché il Pico funziona molto velocemente, quindi il LED si accende più velocemente di quanto tu possa percepire con l'occhio. Per risolvere questo problema, dobbiamo rallentare il programma utilizzando il comando sleep dalla libreria utime . Il codice completo in cui il LED si accenderà e si spegnerà può essere visto di seguito:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

Attivazione e disattivazione dei LED

In alternativa, c'è un altro modo per accendere e spegnere i LED, con il comando toggle :

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: led_onboard.toggle() utime.sleep(5)

Nell'esempio, il comando toggle sostituisce la necessità di impostare il valore del LED a 1 e successivamente a 0. Si accenderà comunque per 5 secondi e poi si spegnerà per altri cinque, finché il programma è in esecuzione.

Creazione di funzioni

Una guida per principianti a MicroPython con Raspberry Pi Pico

Man mano che i programmi diventano più complessi, è utile raggruppare pezzi di codice in modo da mantenere la coerenza. Per fare ciò, MicroPython come Python consente l'uso di funzioni. Le funzioni sono un gruppo di istruzioni correlate che esegue un'attività specifica. Ad esempio nel codice seguente viene definita una funzione denominata printNames :

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

L'ultima riga del codice chiama la funzione in modo che venga effettivamente eseguita.

loop

Una guida per principianti a MicroPython con Raspberry Pi Pico

La logica condizionale esegue azioni diverse a seconda che un vincolo booleano valga come vero o falso. Molti progetti Raspberry Pi Pico si basano su queste affermazioni logiche. Nell'esempio seguente, viene utilizzata un'istruzione if-else per determinare se verrà eseguita un'istruzione print :

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

Nel prossimo esempio, il ciclo for viene utilizzato con la funzione range . Questi cicli possono essere usati per ripetere un blocco di codice un certo numero di volte.

Una guida per principianti a MicroPython con Raspberry Pi Pico

Per questo esempio, il comando print verrà eseguito cinque volte con un ritardo di cinque secondi tra ciascuno di essi con il comando sleep :

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Convertitore da analogico a digitale (ADC)

Anche se non sarai in grado di vederlo, il Raspberry Pi Pico ha un convertitore analogico-digitale interno. Nell'esempio seguente, un potenziometro è collegato al Raspberry Pi Pico su GPIO 26, che è in grado di funzionare con ADC:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Qui, prima di poter utilizzare questo pin compatibile con ADC, è necessario configurarlo con la funzione ADC. Quindi, mentre il programma è in esecuzione, il valore del potenziometro verrà stampato ogni secondo. Altri pin sul Raspberry Pi Pico compatibili con ADC includono GPIO27, 28 e 29.

Modulazione di larghezza di impulso (Pwm)

L'uscita digitale di un microcontrollore può essere solo 1 o 0. Per creare un segnale analogico, avresti bisogno di un convertitore da digitale ad analogico. Tuttavia, un altro modo è creare artificialmente un segnale analogico, utilizzando la modulazione di larghezza di impulso o PWM in breve.

Attivando e disattivando un segnale digitale, questo è noto come impulso. Modulando la larghezza di un impulso, questo crea artificialmente un segnale analogico come mostrato nell'esempio seguente:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Innanzitutto, sono state importate le librerie macchina e utime . Viene creato un oggetto, onboard_led con un'uscita PWM attivata sul pin 21 GPIO. Quindi, utilizzando il comando freq , imposta la frequenza per modulare la larghezza dell'impulso. Immagina di girare il potenziometro, il LED diventerà più luminoso se ruotato in una direzione.

Questo accade perché il valore analogico del potenziometro viene utilizzato come valore per il duty cycle del segnale PWM, è un valore compreso tra 0 e 65535. Tuttavia, senza conversione, ruotare leggermente il potenziometro potrebbe già far sì che il LED raggiunga il livello di luminosità massimo .

Per risolvere questo problema, in modo che il potenziometro raggiunga la piena luminosità solo quando ruotato fino alla fine, il valore viene convertito con la funzione duty_u16 . Questa funzione lo trasforma in un intero a 16 bit che è un valore compreso tra 0 e 1024 che è lo stesso intervallo di valori che riceveresti dal pin analogico di Pico.

Crea di più con Raspberry Pi Pico

Questo articolo ha coperto i comandi di base in MicroPython sul Raspberry Pi Pico. Per ulteriori informazioni, consulta la documentazione ufficiale sulla programmazione MicroPython con Raspberry Pi Pico .

Se non è già configurato sul tuo Raspberry Pi Pico, ottieni l' IDE Thonny per eseguire il tuo codice MicroPython, o in alternativa controlla l' emulatore CPU Unicorn per eseguire un microcontrollore virtuale direttamente sul tuo computer.


Progettare e stampare in 3D le proprie miniature da tavolo con una stampante FDM

Progettare e stampare in 3D le proprie miniature da tavolo con una stampante FDM

I giochi da tavolo come D&D e Warhammer offrono un ottimo modo per godersi l'intrattenimento interattivo senza bisogno di un computer o di una console.

Come installare una Dashcam nella tua auto

Come installare una Dashcam nella tua auto

Se hai una dashcam, installarla potrebbe sembrare un po' un lavoro ingrato. In alcuni casi, non è così semplice come vorresti, ma l'installazione di una dashcam nella tua auto vale ogni minuto che passi su di essa.

I 6 posti migliori per cercare modelli di stampa 3D

I 6 posti migliori per cercare modelli di stampa 3D

Quando i brevetti di stampa 3D sono scaduti, l'industria è esplosa in casa.

Come recuperare i dati da un disco rigido esterno

Come recuperare i dati da un disco rigido esterno

I dischi rigidi esterni sono diventati sempre più popolari grazie alla loro velocità, costo e convenienza. Tuttavia, proprio come i normali dischi rigidi, sono soggetti agli stessi rischi di perdita di dati, sia essa meccanica o indotta dal software.

10 antenne Wi-Fi a lungo raggio fai-da-te che puoi realizzare a casa

10 antenne Wi-Fi a lungo raggio fai-da-te che puoi realizzare a casa

Sebbene le moderne antenne Wi-Fi ti consentano di utilizzare le velocità più elevate all'interno del pacchetto del tuo ISP, possono essere piuttosto costose. Fortunatamente, puoi sempre rivolgerti a progetti fai-da-te per migliorare il segnale di connessione senza spendere troppi soldi.

Come costruire una torre di dadi fai-da-te per il gioco da tavolo

Come costruire una torre di dadi fai-da-te per il gioco da tavolo

Si pensa che i dadi siano in circolazione da migliaia di anni. In questo momento, tuttavia, è stato fatto molto poco per avanzare o innovare su questa tecnologia. Mentre i materiali sono cambiati e anche i metodi per creare i dadi sono andati avanti, sei ancora bloccato a tirare i dadi a mano come una sorta di uomo delle caverne.

I 10 migliori progetti di casa intelligente ESP32

I 10 migliori progetti di casa intelligente ESP32

Una casa intelligente è quella in cui elettrodomestici e dispositivi possono essere controllati in remoto da qualsiasi telefono o computer con una connessione Internet. In genere si basa su dispositivi connessi in modalità wireless creati con microcontrollori, come un Arduino o una scheda ESP32.

Ecco come overcloccare la RAM del PC: ma dovresti?

Ecco come overcloccare la RAM del PC: ma dovresti?

Ottenere la RAM per il tuo PC è una necessità. Anche se, se non lo esegui alla sua massima capacità, stai perdendo molto. Ogni singolo programma memorizza i dati nella RAM per un po' per un'accessibilità più rapida. Con una RAM overcloccata, puoi aumentare le prestazioni del tuo PC.

11 alternative al Raspberry Pi Pico

11 alternative al Raspberry Pi Pico

Il rilascio del Raspberry Pi Pico è stato entusiasmante. Non solo la Raspberry Pi Foundation si stava finalmente spostando nel mercato dei microcontrollori per hobby precedentemente dominato da Arduino, ma lo stava facendo anche con il proprio silicio.

Le 10 migliori idee luminose fai-da-te per trasformare la tua camera da letto

Le 10 migliori idee luminose fai-da-te per trasformare la tua camera da letto

L'illuminazione è la colla che tiene insieme il tuo arredamento. Accentua le caratteristiche attraenti delle tue stanze, trasformandole in un'oasi calda e accogliente che amerai venire ogni sera. La parte migliore? Non devi nemmeno rompere la banca perché ci sono alcune idee fai-da-te piuttosto fenomenali per illuminare la tua camera da letto. Ecco la nostra top ten:

Progettare e stampare in 3D le proprie miniature da tavolo con una stampante FDM

Progettare e stampare in 3D le proprie miniature da tavolo con una stampante FDM

I giochi da tavolo come D&D e Warhammer offrono un ottimo modo per godersi l'intrattenimento interattivo senza bisogno di un computer o di una console.

Come installare una Dashcam nella tua auto

Come installare una Dashcam nella tua auto

Se hai una dashcam, installarla potrebbe sembrare un po' un lavoro ingrato. In alcuni casi, non è così semplice come vorresti, ma l'installazione di una dashcam nella tua auto vale ogni minuto che passi su di essa.

I 6 posti migliori per cercare modelli di stampa 3D

I 6 posti migliori per cercare modelli di stampa 3D

Quando i brevetti di stampa 3D sono scaduti, l'industria è esplosa in casa.

Come recuperare i dati da un disco rigido esterno

Come recuperare i dati da un disco rigido esterno

I dischi rigidi esterni sono diventati sempre più popolari grazie alla loro velocità, costo e convenienza. Tuttavia, proprio come i normali dischi rigidi, sono soggetti agli stessi rischi di perdita di dati, sia essa meccanica o indotta dal software.

10 antenne Wi-Fi a lungo raggio fai-da-te che puoi realizzare a casa

10 antenne Wi-Fi a lungo raggio fai-da-te che puoi realizzare a casa

Sebbene le moderne antenne Wi-Fi ti consentano di utilizzare le velocità più elevate all'interno del pacchetto del tuo ISP, possono essere piuttosto costose. Fortunatamente, puoi sempre rivolgerti a progetti fai-da-te per migliorare il segnale di connessione senza spendere troppi soldi.

Una guida per principianti a MicroPython con Raspberry Pi Pico

Una guida per principianti a MicroPython con Raspberry Pi Pico

Il Raspberry Pi Pico è il nuovo membro della famiglia Raspberry Pi. Prima di questo, la linea di prodotti Raspberry Pi era costituita da computer a scheda singola in grado di eseguire un sistema operativo.

Come costruire una torre di dadi fai-da-te per il gioco da tavolo

Come costruire una torre di dadi fai-da-te per il gioco da tavolo

Si pensa che i dadi siano in circolazione da migliaia di anni. In questo momento, tuttavia, è stato fatto molto poco per avanzare o innovare su questa tecnologia. Mentre i materiali sono cambiati e anche i metodi per creare i dadi sono andati avanti, sei ancora bloccato a tirare i dadi a mano come una sorta di uomo delle caverne.

I 10 migliori progetti di casa intelligente ESP32

I 10 migliori progetti di casa intelligente ESP32

Una casa intelligente è quella in cui elettrodomestici e dispositivi possono essere controllati in remoto da qualsiasi telefono o computer con una connessione Internet. In genere si basa su dispositivi connessi in modalità wireless creati con microcontrollori, come un Arduino o una scheda ESP32.

Ecco come overcloccare la RAM del PC: ma dovresti?

Ecco come overcloccare la RAM del PC: ma dovresti?

Ottenere la RAM per il tuo PC è una necessità. Anche se, se non lo esegui alla sua massima capacità, stai perdendo molto. Ogni singolo programma memorizza i dati nella RAM per un po' per un'accessibilità più rapida. Con una RAM overcloccata, puoi aumentare le prestazioni del tuo PC.