Nota
Ciao, benvenuto nella Community di SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts su Facebook! Approfondisci il mondo di Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.
Perché unirti a noi?
Supporto tecnico esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità 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 alle anteprime.
Sconti speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.
Promozioni festive e giveaway: Partecipa a giveaway e promozioni durante le festività.
👉 Sei pronto a esplorare e creare con noi? Clicca [Qui] e unisciti oggi stesso!
1.1.1 LED Lampeggiante
Introduzione
In questo progetto impareremo a programmare un LED lampeggiante. Grazie alle tue impostazioni, il LED potrà produrre una serie di fenomeni interessanti. Ora, mettiti al lavoro!
Componenti Necessari
Per questo progetto, avremo bisogno dei seguenti componenti.
È decisamente conveniente acquistare un kit completo, ecco il link:
Nome |
COMPONENTI NEL KIT |
LINK |
|---|---|---|
Raphael Kit |
337 |
Puoi anche acquistarli separatamente dai link sottostanti.
INTRODUZIONE AI COMPONENTI |
LINK D’ACQUISTO |
|---|---|
Schema Elettrico
In questo esperimento, colleghiamo il pin GPIO 17 del Raspberry Pi all’anodo (pin lungo) del LED, poi il catodo (pin corto) del LED a una resistenza, e infine colleghiamo l’altro capo della resistenza al pin GND sul Raspberry Pi. Per accendere il LED dobbiamo impostare GPIO17 su alto (3,3V). Possiamo ottenere questo risultato programmando.
Nota
Pin11 si riferisce all’11° pin del Raspberry Pi da sinistra a destra, e i suoi numeri di pin BCM corrispondenti sono mostrati nella seguente tabella.
Per il contenuto relativo al linguaggio Python, BCM 17 è 17 nella colonna BCM della seguente tabella. Allo stesso tempo, corrisponde all’11° pin del Raspberry Pi, Pin 11.
T-Board Name |
physical |
BCM |
GPIO17 |
Pin 11 |
17 |
Procedure Sperimentali
Passo 1: Costruisci il circuito.
Passo 2: Vai nella cartella del codice ed eseguilo.
Se utilizzi uno schermo, ti consigliamo di seguire i seguenti passaggi.
Trova 1.1.1_BlinkingLed_zero.py e fai doppio clic per aprirlo. Ora ti trovi
nel file.
Clicca su Esegui ->Esegui modulo nella finestra e appariranno i seguenti contenuti.
Per interrompere l’esecuzione, basta cliccare sul pulsante X in alto a destra per chiudere e tornare al codice. Se modifichi il codice, prima di cliccare su Esegui modulo (F5) è necessario salvarlo. Quindi puoi vedere i risultati.
Se accedi in remoto al Raspberry Pi, digita il comando:
cd ~/raphael-kit/python-pi5
Nota
Cambia directory nel percorso del codice in questo esperimento tramite cd.
Passo 3: Esegui il codice
sudo python3 1.1.1_BlinkingLed_zero.py
Nota
Qui sudo - superuser do, e python significa eseguire il file tramite Python.
Dopo l’esecuzione del codice, vedrai il LED lampeggiare.
Passo 4: Se vuoi modificare il file di codice 1.1.1_BlinkingLed_zero.py,
premi Ctrl + C per interrompere l’esecuzione del codice. Quindi digita il
seguente comando per aprire 1.1.1_BlinkingLed_zero.py:
nano 1.1.1_BlinkingLed_zero.py
Nota
nano è uno strumento di editor di testo. Il comando viene utilizzato per aprire il
file di codice 1.1.1_BlinkingLed_zero.py tramite questo strumento.
Premi Ctrl+X per uscire. Se hai modificato il codice, verrà visualizzato un
prompt che chiede se salvare le modifiche o meno. Digita Y (salva)
oppure N (non salvare).
Quindi premi Invio per uscire. Digita nano 1.1.1_BlinkingLed_zero.py di nuovo per
vedere l’effetto dopo la modifica.
Avvertimento
Se viene visualizzato l’errore RuntimeError: Cannot determine SOC peripheral base address, fare riferimento a If gpiozero doesn’t work..
Code
Il seguente è il codice del programma:
Nota
Puoi Modificare/Reset/Copy/Esegui/Ferma il codice qui sotto. Ma prima, devi andare nella directory del codice come raphael-kit/python-pi5. Dopo aver modificato il codice, puoi eseguirlo direttamente per vedere l’effetto.
#!/usr/bin/env python3
from gpiozero import LED
from time import sleep
# Inizializza un LED collegato al pin GPIO 17 utilizzando la libreria GPIO Zero.
led = LED(17)
try:
# Avvia un ciclo infinito per alternare lo stato del LED.
while True:
# Accendi il LED e stampa un messaggio sulla console.
led.on()
print('...LED ON')
# Attendi 0,5 secondi con il LED acceso.
sleep(0.5)
# Spegni il LED e stampa un messaggio sulla console.
led.off()
print('LED OFF...')
# Attendi 0,5 secondi con il LED spento.
sleep(0.5)
except KeyboardInterrupt:
# Gestisci in modo elegante un'interruzione da tastiera (Ctrl+C) interrompendo il ciclo.
# GPIO Zero si occupa automaticamente della pulizia delle impostazioni GPIO all'uscita.
pass
Spiegazione del Codice
Quando il sistema rileva questo, cercherà il percorso di installazione di python nelle impostazioni dell’ambiente, quindi chiamerà l’interprete corrispondente per completare l’operazione. Serve a prevenire che l’utente non abbia installato python nel percorso predefinito
/usr/bin.#!/usr/bin/env python3Queste righe importano le classi e le funzioni necessarie.
LEDdagpiozeroper il controllo del LED esleepdatimeper le pause.from gpiozero import LED from time import sleep
Questa riga crea un oggetto LED collegato al pin GPIO 17.
# Inizializza un LED collegato al pin GPIO 17 utilizzando la libreria GPIO Zero. led = LED(17)
Viene avviato un ciclo infinito utilizzando
while True:. All’interno del ciclo, il LED viene acceso (led.on()) e viene stampato un messaggio. Il programma quindi si interrompe per 0,5 secondi (sleep(0.5)). Successivamente, il LED viene spento (led.off()), viene stampato un altro messaggio e il programma si interrompe di nuovo per 0,5 secondi.try: # Avvia un ciclo infinito per alternare lo stato del LED. while True: # Accendi il LED e stampa un messaggio sulla console. led.on() print('...LED ON') # Attendi 0,5 secondi con il LED acceso. sleep(0.5) # Spegni il LED e stampa un messaggio sulla console. led.off() print('LED OFF...') # Attendi 0,5 secondi con il LED spento. sleep(0.5)
Il blocco
exceptcattura un”interruzione da tastiera(come premere Ctrl+C) ed esce in sicurezza dal ciclo. Il comandopassviene utilizzato qui come segnaposto per indicare che non viene intrapresa alcuna azione specifica all’interruzione.except KeyboardInterrupt: # Gestisci in modo elegante un'interruzione da tastiera (Ctrl+C) interrompendo il ciclo. # GPIO Zero si occupa automaticamente della pulizia delle impostazioni GPIO all'uscita. pass