Nota
Ciao, benvenuto nella Comunità degli Appassionati di Raspberry Pi, Arduino & ESP32 di SunFounder su Facebook! Immergiti più a fondo in Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati.
Why Join?
Expert Support: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.
Learn & Share: Scambia consigli e tutorial per migliorare le tue competenze.
Exclusive Previews: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime esclusive.
Special Discounts: Goditi sconti esclusivi sui nostri prodotti più recenti.
Festive Promotions and Giveaways: Partecipa a giveaway e promozioni festive.
👉 Pronto per esplorare e creare con noi? Clicca [qui] e unisciti oggi!
Lezione 08: Modulo Sensore di Rilevamento Ostacoli IR
In questa lezione, imparerai come rilevare ostacoli utilizzando un sensore con il Raspberry Pi. Ti guideremo nel collegamento di un sensore di input digitale al pin GPIO 17. Imparerai a scrivere uno script Python che monitora continuamente il sensore per determinare la presenza di un ostacolo. Il programma emetterà un messaggio che indica se un ostacolo è stato rilevato o meno. Questo progetto semplice ma pratico è un ottimo modo per iniziare con l’interfacciamento GPIO e la programmazione Python, rendendolo ideale per i principianti interessati all’esplorazione dell’integrazione dei sensori con il Raspberry Pi.
Componenti Necessari
Per questo progetto, abbiamo bisogno dei seguenti componenti.
È decisamente conveniente acquistare un kit completo, ecco il link:
Nome |
ARTICOLI IN QUESTO KIT |
LINK |
|---|---|---|
Kit Sensori Universale per Makers |
94 |
Puoi anche acquistarli separatamente dai link qui sotto.
Introduzione al Componente |
Link Acquisto |
|---|---|
Raspberry Pi 5 |
|
Cablaggio
Codice
from gpiozero import InputDevice
from time import sleep
# Inizializza il sensore come dispositivo di input digitale su GPIO 17
sensor = InputDevice(17)
while True:
if sensor.is_active:
print("No obstacle detected") # Stampa quando non viene rilevato alcun ostacolo
else:
print("Obstacle detected") # Stampa quando viene rilevato un ostacolo
sleep(0.5)
Analisi del Codice
Importazione delle Librerie
Lo script inizia importando la classe
InputDevicedalla libreria gpiozero per interagire con il sensore, e la funzionesleepdal modulo time di Python per mettere in pausa l’esecuzione.from gpiozero import InputDevice from time import sleep
Inizializzazione del Sensore
Un oggetto
InputDevicedenominatosensorè creato, collegato al pin GPIO 17. Questa linea assume che il sensore degli ostacoli sia collegato a questo specifico pin GPIO.sensor = InputDevice(17)
Implementazione del Ciclo di Monitoraggio Continuo
Lo script utilizza un ciclo
while True:per controllare continuamente lo stato del sensore. Questo ciclo continuerà a eseguirsi fino a quando il programma non viene fermato.All’interno del ciclo, un’istruzione
ifcontrolla la proprietàis_activedelsensor.Se
is_activeèTrue, indica che non è stato rilevato alcun ostacolo e viene stampato «Nessun ostacolo rilevato».Se
is_activeèFalse, indicando che un ostacolo è stato rilevato, viene stampato «Ostacolo rilevato».sleep(0.5)mette in pausa il ciclo per 0,5 secondi tra ogni controllo, il che aiuta a ridurre la richiesta di elaborazione dello script e fornisce un ritardo tra le letture consecutive del sensore.
while True: if sensor.is_active: print("No obstacle detected") else: print("Obstacle detected") sleep(0.5)
Nota
Se il sensore non funziona correttamente, regola il trasmettitore IR e il ricevitore per renderli paralleli. Inoltre, puoi regolare il range di rilevamento usando il potenziometro incorporato.