Nota

Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché Unirsi?

  • Supporto da Esperti: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra community e del nostro team.

  • Impara e Condividi: Scambia consigli e tutorial per migliorare le tue competenze.

  • Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime.

  • Sconti Speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni Festive e Giveaway: Partecipa a giveaway e promozioni festive.

👉 Pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!

2.2 Visualizza il Livello

Il primo progetto consiste semplicemente nel far lampeggiare un LED. Per questo progetto, utilizziamo il LED Bar Graph, che contiene 10 LED in un involucro di plastica, generalmente usato per visualizzare i livelli di potenza o di volume.

img_led_bar_pin

Componenti Necessari

In questo progetto, abbiamo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

Kepler Kit

450+

Kepler Ultimate Kit

Puoi anche acquistarli separatamente dai link sottostanti.

SN

COMPONENTE

QUANTITÀ

LINK

1

Introduzione al Pico W

1

ACQUISTA

2

Cavo Micro USB

1

3

Breadboard

1

ACQUISTA

4

Cavi Jumper

Diversi

ACQUISTA

5

Resistenza

10 (220Ω)

ACQUISTA

6

Grafico a Barre LED

1

Schema Elettrico

sch_ledbar

Nel LED Bar Graph ci sono 10 LED, ciascuno dei quali può essere controllato singolarmente. L’anodo di ciascun LED è collegato ai pin GP6*GP15, mentre il catodo è collegato a una resistenza da 220 ohm, e poi a GND.

Collegamenti

wiring_ledbar

Codice

Nota

  • Apri il file 2.2_display_the_level.py nel percorso kepler-kit-main/micropython o copia questo codice in Thonny, poi clicca su «Esegui Script Corrente» o semplicemente premi F5 per eseguirlo.

  • Non dimenticare di selezionare l’interprete «MicroPython (Raspberry Pi Pico)» nell’angolo in basso a destra.

  • Per tutorial dettagliati, fai riferimento a Aprire ed Eseguire Codice Direttamente.

import machine
import utime

pin = [6,7,8,9,10,11,12,13,14,15]
led= []
for i in range(10):
    led.append(None)
    led[i] = machine.Pin(pin[i], machine.Pin.OUT)

while True:
    for i in range(10):
        led[i].toggle()
        utime.sleep(0.2)

Sul LED Bar Graph, vedrai i LED accendersi e poi spegnersi in sequenza quando il programma è in esecuzione.

Come funziona?

Il LED Bar è composto da dieci LED che sono controllati da dieci pin, il che significa che dobbiamo definire questi pin. Il processo sarebbe troppo noioso se li definissimo uno per uno. Quindi, qui utilizziamo le Liste.

Nota

Le liste in Python sono uno dei tipi di dati più versatili che ci permettono di lavorare con più elementi contemporaneamente, e vengono create inserendo gli elementi tra parentesi quadre [], separati da virgole.

pin = [6,7,8,9,10,11,12,13,14,15]

Questa riga di codice definisce una lista pin, che contiene i dieci elementi 6,7,8,9,10,11,12,13,14,15. Possiamo usare l’operatore di indice [] per accedere a un elemento in una lista. In Python, gli indici iniziano da 0. Quindi, una lista con 10 elementi avrà un indice da 0 a 9. Usando questa lista come esempio, pin[0] è 6 e pin[4] è 10.

Successivamente, dichiara una lista vuota led che verrà utilizzata per definire dieci oggetti LED.

led = []

A causa della lunghezza della lista, che è 0, le operazioni dirette sull’array, come stampare led[0], non funzioneranno. Ci sono nuovi elementi che dobbiamo aggiungere.

led.append(None)

Come risultato di questo metodo append(), la lista led ha il suo primo elemento, di lunghezza 1, e led[0] diventa un elemento valido nonostante il suo valore attuale sia None (che rappresenta nullo).

Il passo successivo è definire led[0], il LED collegato al pin 6, come il primo oggetto LED.

led[0] = machine.Pin(6, machine.Pin.OUT)

Il primo oggetto LED è stato ora definito.

Come puoi vedere, abbiamo creato i dieci numeri di pin come una lista pin, che possiamo sostituire in questa riga per facilitare le operazioni in blocco.

led[0] = machine.Pin(pin[0], machine.Pin.OUT)

Usa un’istruzione for per far eseguire a tutti i 10 pin l’istruzione sopra.

import machine

pin = [6,7,8,9,10,11,12,13,14,15]
led= []
for i in range(10):
    led.append(None)
    led[i] = machine.Pin(pin[i], machine.Pin.OUT)

Usa un altro ciclo for per fare in modo che i dieci LED sul LED Bar cambino stato uno dopo l’altro.

for i in range(10):
    led[i].toggle()
    utime.sleep(0.2)

Il codice è completato mettendo il codice sopra in un ciclo while.

import machine
import utime

pin = [6,7,8,9,10,11,12,13,14,15]
led= []
for i in range(10):
    led.append(None)
    led[i] = machine.Pin(pin[i], machine.Pin.OUT)

while True:
    for i in range(10):
        led[i].toggle()
        utime.sleep(0.2)