Acest tutorial face parte din: Kit auto inteligent SunFounder Rasberry Pi Pico Pico 4WD
Fișierele legate de acest grup vor fi afișate împreună. Linkuri către alte videoclipuri se află sub acest articol.
Lecția 7 din 10: Urmărirea liniei, detectarea marginii Calibrarea senzorului de gri Scale Raspberry Pi Pico Mașină
În această a șaptea lecție a cursului Raspberry Pi Pico Smart Car, explorăm funcțiile cruciale de urmărire a liniei și detectare a prăpastiei folosind un modul de senzor în tonuri de gri. Acest modul acționează ca „ochii” mașinii tale, permițându-i să urmeze autonom o cale prestabilită și să evite căderile periculoase. Proiectul demonstrează cum să calibrezi senzorul pentru citiri precise și să implementezi logică care menține mașina pe traseu, cu o funcție distractivă „Nu mă împinge” care simulează detectarea prăpastiei. Acest ghid este perfect pentru oricine dorește să treacă dincolo de controlul remote de bază și să se aventureze în lumea roboticii ghidate de senzori.
Această tehnologie are numeroase aplicații practice dincolo de un simplu proiect DIY distractiv. Principiile pe care le vei învăța aici sunt fundamentale pentru construirea sistemelor autonome din lumea reală. Iată câteva idei pentru a te inspira:
- Roboți de livrare automatizați: Construiește un robot mic care poate naviga pe podeaua unui depozit sau birou urmând linii marcate pentru a livra obiecte.
- Rezolvitor de labirint pe masă: Creează un robot care poate naviga un labirint complex desenat cu bandă electrică neagră.
- Robot de siguranță și securitate: Implementează un robot de patrulare care urmează o cale stabilită și folosește detectarea prăpastiei pentru a evita căderea pe scări sau de pe suprafețe înalte.
- Platformă educațională: Folosește mașina pentru a preda fundamentele controlului PID, fuziunii senzorilor și navigației autonome.
Hardware și componente
Acest proiect se bazează pe kit-ul SunFounder Raspberry Pi Pico 4WD car. Componenta cheie pentru această lecție este modulul de senzor în tonuri de gri, esențial atât pentru urmărirea liniei, cât și pentru detectarea prăpastiei. Modulul dispune de trei senzori independenți care măsoară cantitatea de lumină reflectată de suprafața de dedesubt. Aceste date sunt folosite pentru a distinge între o linie neagră, o suprafață albă și o „prăpastie” sau spațiu deschis. Kit-ul complet include și șasiul mașinii Pico, motoarele și un pachet de baterii pentru alimentarea sistemului.
Ghid de cablare
Cablarea corectă este primul pas pentru a face senzorul să funcționeze. Modulul în tonuri de gri se conectează la Raspberry Pi Pico folosind patru fire. Cablarea este simplă și este demonstrată clar în videoclip.
Iată configurația de cablare așa cum este prezentată în videoclip (în videoclip la 03:01):
- Firul negru: Conectează-l la un pin GND de pe Pico.
- Firul roșu: Conectează-l la pinul 3.3V de pe Pico.
- Firul galben (senzor dreapta): Conectează-l la pinul GPIO 28.
- Firul maro (senzor centru): Conectează-l la pinul GPIO 27.
- Firul alb/gri (senzor stânga): Conectează-l la pinul GPIO 26.
Calibrarea senzorului în tonuri de gri
Înainte ca mașina să poată urmări fiabil o linie, trebuie să calibrezi senzorul pentru a înțelege diferitele citiri pentru alb, negru și spațiu gol. Acesta este un pas critic pentru a te asigura că mașina ta ia deciziile corecte. Sensibilitatea senzorului poate fi ajustată cu un potențiometru mic pe modul.
Videoclipul demonstrează procesul de calibrare (în videoclip la 04:39). Senzorul ar trebui poziționat la o înălțime optimă deasupra solului—în jur de 11 milimetri sau un centimetru—pentru a obține citiri clare. Prin ajustarea potențiometrului și observarea valorilor, poți găsi punctul optim. Scopul este să existe o diferență semnificativă între citirile pentru o suprafață albă (care reflectă multă lumină) și o linie neagră (care reflectă foarte puțin).
Iată un rezumat al semnificației citirilor:
- Suprafață albă: Reflecție ridicată, rezultând valori mari ale senzorului (de exemplu, în jur de 20.000).
- Linie neagră: Reflecție scăzută, rezultând valori mici ale senzorului (de exemplu, în jur de 3.000).
- Prăpastie (spațiu gol): Fără reflecție, rezultând cele mai mici valori ale senzorului (de exemplu, în jur de 1.200).
Explicația codului
Deoarece nu a fost furnizat niciun cod pentru această lecție, ne vom concentra pe logica conceptuală și pe funcțiile cheie din biblioteca Robojax folosite pentru a face mașina să funcționeze. Videoclipul explică cele două funcții principale pe care le vei folosi din biblioteca furnizată.
Testarea senzorului
Primul pas este să îți testezi senzorul cu un script simplu. Acest script folosește o funcție numită get_grayscale_value() pentru a citi valorile brute de la cei trei senzori. Le afișează pe monitorul serial pentru a putea vedea cum se schimbă atunci când senzorul este deasupra diferitelor suprafețe. Acest lucru este util pentru verificarea cablării și efectuarea calibrării.
# Acesta este un exemplu conceptual al funcției de testare
from machine import Pin, ADC
import time
# Definește pinii ADC pentru senzorii în tonuri de gri
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]
while True:
# Citește valorile brute pe 16 biți de la senzori
values = [sensor.read_u16() for sensor in sensors]
print("Stânga: {} Centru: {} Dreapta: {}".format(values[0], values[1], values[2]))
time.sleep_ms(100)
Logica de urmărire a liniei
Pentru urmărirea liniei, codul nu folosește valorile analogice brute. În schimb, le convertește într-un status digital simplu: 1 dacă senzorul este deasupra liniei negre și 0 dacă este deasupra suprafeței albe. Acest lucru este gestionat de o funcție care returnează o listă de trei valori (de exemplu, [0, 1, 0]). Bucla principală de control folosește apoi această listă pentru a determina acțiunile mașinii.
Logica se bazează pe compararea stării senzorului cu condiții predefinite. De exemplu, dacă starea este [0, 1, 0], mașina este perfect pe linie și ar trebui să meargă înainte. Dacă starea este [1, 0, 0], mașina a deviat spre stânga și trebuie să își corecteze traiectoria spre dreapta. Videoclipul explică aceste condiții în detaliu (în videoclip la 13:05), arătând cum diferite combinații de citiri ale senzorului corespund diferitelor comenzi pentru motor, cum ar fi virarea la stânga, virarea la dreapta sau efectuarea unei corecții bruște.
# Acesta este un exemplu conceptual al logicii de urmărire a liniei
# Presupunem că 'status' este o listă ca [0, 1, 0] de la senzorul în tonuri de gri
if status == [0, 1, 0]: # Senzorul central pe linie
# Mergi înainte
pass
elif status == [1, 0, 0]: # Senzorul stâng pe linie
# Virează la dreapta
pass
elif status == [0, 0, 1]: # Senzorul drept pe linie
# Virează la stânga
pass
# ... alte condiții pentru viraje mai bruște
Demonstrație Live a Proiectului
În demonstrația din videoclip, mașina este plasată pe o pistă imprimată cu o linie neagră groasă. Mașina urmează cu succes linia, făcând viraje și corecții pe măsură ce se deplasează de-a lungul traseului. Videoclipul evidențiază o problemă comună în care roțile se pot slăbi în timpul virajelor bruște și arată o soluție simplă de a adăuga o bucată mică de bandă adezivă pe axul roții pentru o fixare mai strânsă. Odată ce aceasta este rezolvată, mașina navighează întreaga pistă fără probleme, demonstrând eficiența calibrării și a logicii de urmărire a liniei.
Capitolele Videoclipului
- [00:00] Introducere în Urmărirea Liniei și Detectarea Stâncilor
- [03:01] Conectarea Modulului Senzorului în Tonuri de Gri
- [04:39] Calibrarea Senzorului în Tonuri de Gri
- [13:05] Înțelegerea Logicii de Urmărire a Liniei
- [19:43] Testarea Codului de Urmărire a Liniei
- [24:50] Demonstrație Live pe o Pistă de Test
Acest tutorial face parte din: Kit auto inteligent SunFounder Rasberry Pi Pico Pico 4WD
- Curs Lecția 1 din 10: Kit Mașină Inteligentă 4WD Raspberry Pi Pico de la SunFounder de Robojax
- Curs Lecția 2 din 10: Python de bază pentru a conduce Kit-ul de mașină inteligentă 4WD Raspberry Pi Pico
- Curs Lecția 3 din 10: Asamblarea kitului de mașină inteligentă 4WD Raspberry Pi Pico de la SunFounder de Robojax
- Curs Lecția 4 din 10: Placă de extensie Raspberry Pi Pico pentru Kit-ul de mașină inteligentă 4WD
- Curs Lecția 5 din 10: Controlul LED-ului RGB WS2812B folosind Raspberry Pi Pico
- Curs Lecția 6 din 10: Controlul motoarelor DC folosind Kitul de mașină inteligentă 4WD Raspberry Pi Pico
- Curs Lecția 8 din 10: Mașină inteligentă Raspberry Pi Pico – Lecția 8: Servomotor și urmărirea obiectelor
- Curs Lecția 9 din 10: Evitarea obstacolelor folosind mașina inteligentă 4WD Raspberry Pi Pico
- Curs Lecția 10 din 10: Controlul kit-ului de mașină inteligentă 4WD Raspberry Pi Pico cu aplicația mobilă
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
Resurse și referințe
Încă nu sunt resurse.
Fișiere📁
Nu sunt disponibile fișiere.