Questo tutorial è parte di: SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
I file relativi a questo gruppo verranno visualizzati insieme. I link ad altri video si trovano sotto questo articolo.
Lezione 7 di 10: Inseguimento della linea, Rilevamento del precipizio Calibrare il sensore in scala di grigi Auto Raspberry Pi Pico
In questa settima lezione del corso Raspberry Pi Pico Smart Car, esploriamo le funzioni cruciali del rilevamento della linea e del rilevamento del precipizio utilizzando un modulo sensore in scala di grigi. Questo modulo funge da "occhi" della tua auto, permettendole di seguire un percorso predeterminato in modo autonomo ed evitare cadute pericolose. Il progetto dimostra come calibrare il sensore per letture accurate e implementare una logica che mantiene l'auto in pista, con una divertente funzione "Don't Push Me" che simula il rilevamento del precipizio. Questa guida è perfetta per chiunque voglia andare oltre il controllo remoto di base e immergersi nel mondo della robotica guidata da sensori.
Questa tecnologia ha numerose applicazioni pratiche oltre a essere un divertente progetto fai-da-te. I principi che imparerai qui sono fondamentali per costruire sistemi autonomi nel mondo reale. Ecco alcune idee per ispirarti:
- Robot di consegna automatizzati: Costruisci un piccolo robot che possa navigare in un magazzino o in un ufficio seguendo linee marcate per consegnare oggetti.
- Risolutore di labirinti da tavolo: Crea un robot che possa navigare in un labirinto complesso disegnato con nastro isolante nero.
- Robot di sicurezza e protezione: Implementa un robot di pattuglia che segue un percorso prestabilito e usa il rilevamento del precipizio per evitare di cadere dalle scale o da superfici elevate.
- Piattaforma educativa: Usa l'auto per insegnare i fondamenti del controllo PID, della fusione dei sensori e della navigazione autonoma.
Hardware e componenti
Questo progetto si basa sul kit auto 4WD SunFounder Raspberry Pi Pico. Il componente chiave per questa lezione è il modulo sensore in scala di grigi, essenziale sia per il rilevamento della linea che per il rilevamento del precipizio. Il modulo presenta tre sensori indipendenti che misurano la quantità di luce riflessa dalla superficie sottostante. Questi dati vengono utilizzati per distinguere tra una linea nera, una superficie bianca e un "precipizio" o spazio aperto. Il kit completo include anche il telaio dell'auto Pico, i motori e un pacco batterie per alimentare il sistema.
Guida al cablaggio
Un cablaggio corretto è il primo passo per far funzionare il tuo sensore. Il modulo in scala di grigi si collega al Raspberry Pi Pico utilizzando quattro fili. Il cablaggio è semplice ed è dimostrato chiaramente nel video.
Ecco la configurazione del cablaggio come mostrato nel video (nel video a 03:01):
- Filo nero: Collega a un pin GND sul Pico.
- Filo rosso: Collega al pin 3.3V sul Pico.
- Filo giallo (sensore destro): Collega al pin GPIO 28.
- Filo marrone (sensore centrale): Collega al pin GPIO 27.
- Filo bianco/grigio (sensore sinistro): Collega al pin GPIO 26.
Calibrazione del sensore in scala di grigi
Prima che l'auto possa seguire in modo affidabile una linea, devi calibrare il sensore per comprendere le diverse letture per bianco, nero e spazio vuoto. Questo è un passaggio critico per garantire che la tua auto prenda le giuste decisioni. La sensibilità del sensore può essere regolata con un piccolo potenziometro sul modulo.
Il video dimostra il processo di calibrazione (nel video a 04:39). Il sensore dovrebbe essere posizionato a un'altezza ottimale dal suolo—circa 11 millimetri o un centimetro—per ottenere letture chiare. Regolando il potenziometro e osservando i valori, puoi trovare il punto ottimale. L'obiettivo è avere una differenza significativa tra le letture per una superficie bianca (che riflette molta luce) e una linea nera (che riflette pochissima luce).
Ecco un riepilogo di cosa significano le letture:
- Superficie bianca: Alta riflessione, con valori del sensore elevati (ad esempio, circa 20.000).
- Linea nera: Bassa riflessione, con valori del sensore bassi (ad esempio, circa 3.000).
- Precipizio (spazio vuoto): Nessuna riflessione, con i valori del sensore più bassi (ad esempio, circa 1.200).
Spiegazione del codice
Poiché non è stato fornito alcun codice per questa lezione, ci concentreremo sulla logica concettuale e sulle funzioni chiave della libreria Robojax utilizzate per far funzionare l'auto. Il video spiega le due funzioni principali che userai dalla libreria fornita.
Test del sensore
Il primo passo è testare il tuo sensore con un semplice script. Questo script utilizza una funzione chiamata get_grayscale_value() per leggere i valori grezzi dai tre sensori. Stampa questi valori sul monitor seriale così puoi vedere come cambiano quando il sensore è sopra diverse superfici. Questo è utile per verificare il cablaggio ed eseguire il passaggio di calibrazione.
# Questo è un esempio concettuale della funzione di test
from machine import Pin, ADC
import time
# Definisci i pin ADC per i sensori in scala di grigi
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]
while True:
# Leggi i valori grezzi a 16 bit dai sensori
values = [sensor.read_u16() for sensor in sensors]
print("Sinistro: {} Centrale: {} Destro: {}".format(values[0], values[1], values[2]))
time.sleep_ms(100)
Logica del rilevamento della linea
Per il rilevamento della linea, il codice non usa i valori analogici grezzi. Invece, li converte in un semplice stato digitale: 1 se il sensore è sopra la linea nera e 0 se è sopra la superficie bianca. Questo è gestito da una funzione che restituisce una lista di tre valori (ad esempio, [0, 1, 0]). Il ciclo di controllo principale usa poi questa lista per determinare le azioni dell'auto.
La logica si basa sul confronto dello stato del sensore con condizioni predefinite. Ad esempio, se lo stato è [0, 1, 0], l'auto è perfettamente sulla linea e dovrebbe andare dritta. Se lo stato è [1, 0, 0], l'auto è deviata a sinistra e deve correggere la traiettoria verso destra. Il video spiega queste condizioni in dettaglio (nel video al minuto 13:05), mostrando come diverse combinazioni delle letture del sensore corrispondano a diversi comandi motore, come girare a sinistra, girare a destra o effettuare una correzione brusca.
# Questo è un esempio concettuale della logica di inseguimento della linea
# Supponiamo che 'status' sia una lista come [0, 1, 0] proveniente dal sensore in scala di grigi
if status == [0, 1, 0]: # Sensore centrale sulla linea
# Vai dritto
pass
elif status == [1, 0, 0]: # Sensore sinistro sulla linea
# Gira a destra
pass
elif status == [0, 0, 1]: # Sensore destro sulla linea
# Gira a sinistra
pass
# ... altre condizioni per curve più strette
Dimostrazione dal Vivo del Progetto
Nella dimostrazione del video, l'auto è posizionata su una pista stampata con una spessa linea nera. L'auto segue con successo la linea, effettuando curve e correzioni mentre si muove lungo il percorso. Il video evidenzia un problema comune in cui le ruote possono allentarsi durante le curve strette, e mostra una soluzione semplice: aggiungere un piccolo pezzo di nastro adesivo all'asse della ruota per una migliore aderenza. Una volta risolto questo, l'auto percorre l'intera pista senza intoppi, dimostrando l'efficacia della calibrazione e della logica di inseguimento della linea.
Capitoli del Video
- [00:00] Introduzione all'Inseguimento della Linea e al Rilevamento dei Bordi
- [03:01] Cablaggio del Modulo Sensore in Scala di Grigi
- [04:39] Calibrazione del Sensore in Scala di Grigi
- [13:05] Comprensione della Logica di Inseguimento della Linea
- [19:43] Test del Codice di Inseguimento della Linea
- [24:50] Dimostrazione dal Vivo su una Pista di Prova
Questo tutorial è parte di: SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
- Corso Lezione 1 di 10: Kit Auto Intelligente 4WD Raspberry Pi Pico di SunFounder di Robojax
- Corso Lezione 2 di 10: Python di base per guidare il kit auto intelligente 4WD Raspberry Pi Pico
- Corso Lezione 3 di 10: Assemblaggio del Kit Auto Intelligente 4WD Raspberry Pi Pico di SunFounder di Robojax
- Corso Lezione 4 di 10: Scheda di espansione Raspberry Pi Pico per Kit Auto Intelligente 4WD
- Corso Lezione 5 di 10: Controllo del LED RGB WS2812B Utilizzando Raspberry Pi Pico
- Lezione 6 di 10 del Corso: Controllo dei Motori DC utilizzando il Kit Auto Intelligente 4WD Raspberry Pi Pico
- Corso Lezione 8 di 10: Auto Intelligente Raspberry Pi Pico – Lezione 8: Servomotore e Inseguimento di Oggetti
- Corso Lezione 9 di 10: Evitamento degli ostacoli utilizzando l'auto intelligente 4WD Raspberry Pi Pico
- Corso Lezione 10 di 10: Controllo del Kit Auto Intelligente 4WD Raspberry Pi Pico con App mobile
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
Risorse e riferimenti
Nessuna risorsa ancora.
File📁
Nessun file disponibile.