Hierdie tutorialie is deel van: SunFounder Framboos Pi Pico Pico 4WD Slimmotorstel
Lêers wat met hierdie groep verband hou, sal saam vertoon word. Skakels na ander video's is onder hierdie artikel.
Les 7 van 10: Lynvolging, Randbespeuring Kalibreer Grysskaal-sensor Raspberry Pi Pico-motor
In hierdie sewende les van die Raspberry Pi Pico Slimmotor-kursus ondersoek ons die kritieke funksies van lynvolging en kransbespeuring met behulp van 'n grystoongevoelige sensormodule. Hierdie module dien as die "oë" van jou motor, wat dit in staat stel om outonoom 'n voorafbepaalde pad te volg en gevaarlike valle te vermy. Die projek demonstreer hoe om die sensor te kalibreer vir akkurate lesings en logika te implementeer wat die motor op koers hou, met 'n prettige "Moenie My Stoot Nie"-kenmerk wat kransbespeuring simuleer. Hierdie gids is perfek vir enigiemand wat verder as basiese afstandbeheer wil beweeg en in die wêreld van sensorgeleide robotika wil delf.
Hierdie tegnologie het talle praktiese toepassings verder as net 'n prettige selfdoenprojek. Die beginsels wat jy hier sal leer, is fundamenteel vir die bou van werklike outonome stelsels. Hier is 'n paar idees om jou te inspireer:
- Outomatiese Afleweringsrobotte: Bou 'n klein robot wat 'n pakhuis of kantoorvloer kan navigeer deur gemerkte lyne te volg om items af te lewer.
- Tafelbladvia-oplosser: Skep 'n robot wat 'n komplekse doolhof geteken met swart isolasietape kan navigeer.
- Veiligheids- en Sekuriteitsrobot: Implementeer 'n patrolliebot wat 'n vasgestelde pad volg en kransbespeuring gebruik om te verhoed dat dit van trappe of verhewe oppervlaktes afval.
- Opvoedkundige Platform: Gebruik die motor om die grondbeginsels van PID-beheer, sensorfusie en outonome navigasie te onderrig.
Hardeware en Komponente
Hierdie projek bou voort op die SunFounder Raspberry Pi Pico 4WD-motorkit. Die sleutelkomponent vir hierdie les is die grystoongevoelige sensormodule, wat noodsaaklik is vir beide lynvolging en kransbespeuring. Die module beskik oor drie onafhanklike sensors wat die hoeveelheid lig wat van die oppervlak hieronder weerkaats word, meet. Hierdie data word gebruik om te onderskei tussen 'n swart lyn, 'n wit oppervlak en 'n "krans" of oop ruimte. Die volledige kit sluit ook die Pico-motoronderstel, motors en 'n batterybak in om die stelsel van krag te voorsien.
Bedradingsgids
Behoorlike bedrading is die eerste stap om jou sensor te laat werk. Die grystoonmodule verbind met die Raspberry Pi Pico met behulp van vier drade. Die bedrading is eenvoudig en word duidelik in die video gedemonstreer.
Hier is die bedradingkonfigurasie soos in die video getoon (in video by 03:01):
- Swart Draad: Verbind aan 'n GND-pen op die Pico.
- Rooi Draad: Verbind aan die 3.3V-pen op die Pico.
- Geel Draad (Regter Sensor): Verbind aan GPIO-pen 28.
- Bruin Draad (Sentrale Sensor): Verbind aan GPIO-pen 27.
- Wit/Grys Draad (Linker Sensor): Verbind aan GPIO-pen 26.
Kalibrering van die Grystoongevoelige Sensor
Voordat die motor betroubaar 'n lyn kan volg, moet jy die sensor kalibreer om die verskillende lesings vir wit, swart en leë ruimte te verstaan. Dit is 'n kritieke stap om te verseker dat jou motor die regte besluite neem. Die sensor se sensitiwiteit kan met 'n klein potensiometer op die module aangepas word.
Die video demonstreer die kalibrasieproses (in video by 04:39). Die sensor moet op 'n optimale hoogte bo die grond geposisioneer word—ongeveer 11 millimeter of een sentimeter—om duidelike lesings te kry. Deur die potensiometer aan te pas en die waardes te observeer, kan jy die ideale punt vind. Die doel is om 'n beduidende verskil te hê tussen die lesings vir 'n wit oppervlak (wat baie lig weerkaats) en 'n swart lyn (wat baie min weerkaats).
Hier is 'n opsomming van wat die lesings beteken:
- Wit Oppervlak: Hoë weerkaatsing, wat lei tot hoë sensorwaardes (bv. rondom 20,000).
- Swart Lyn: Lae weerkaatsing, wat lei tot lae sensorwaardes (bv. rondom 3,000).
- Krans (Hol Ruimte): Geen weerkaatsing, wat lei tot die laagste sensorwaardes (bv. rondom 1,200).
Kodeverduideliking
Aangesien geen kode vir hierdie les verskaf is nie, sal ons fokus op die konseptuele logika en die sleutelfunksies uit die Robojax-biblioteek wat gebruik word om die motor te laat werk. Die video verduidelik die twee hoof funksies wat jy uit die verskafde biblioteek sal gebruik.
Toets van die Sensor
Die eerste stap is om jou sensor met 'n eenvoudige skrip te toets. Hierdie skrip gebruik 'n funksie genaamd get_grayscale_value() om die rou waardes van die drie sensors te lees. Dit druk hierdie waardes na die reeksmonitor sodat jy kan sien hoe hulle verander wanneer die sensor oor verskillende oppervlaktes is. Dit is nuttig om jou bedrading te verifieer en die kalibrasiestap uit te voer.
# Dit is 'n konseptuele voorbeeld van die toetsfunksie
from machine import Pin, ADC
import time
# Definieer die ADC-penne vir die grystoonsensors
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]
while True:
# Lees die rou 16-bis waardes van die sensors
values = [sensor.read_u16() for sensor in sensors]
print("Links: {} Sentrum: {} Regs: {}".format(values[0], values[1], values[2]))
time.sleep_ms(100)
Lynvolginglogika
Vir lynvolging gebruik die kode nie die rou analoogwaardes nie. In plaas daarvan skakel dit dit om na 'n eenvoudige digitale status: 1 as die sensor oor die swart lyn is, en 0 as dit oor die wit oppervlak is. Dit word hanteer deur 'n funksie wat 'n lys van drie waardes teruggee (bv. [0, 1, 0]). Die hoofbeheerlus gebruik dan hierdie lys om die motor se aksies te bepaal.
Die logika is gebaseer op die vergelyking van die sensorstatus met voorafbepaalde toestande. Byvoorbeeld, as die status [0, 1, 0] is, is die motor perfek op die lyn en moet dit vorentoe beweeg. As die status [1, 0, 0] is, het die motor na links gedryf en moet dit sy pad na regs regstel. Die video verduidelik hierdie toestande in detail (in video by 13:05), en wys hoe verskillende kombinasies van sensorlesings ooreenstem met verskillende motoropdragte, soos om links te draai, regs te draai, of 'n skerp regstelling te maak.
# Dit is 'n konseptuele voorbeeld van die lynvolgende logika
# Aanvaar 'status' is 'n lys soos [0, 1, 0] van die gryskaal-sensor
if status == [0, 1, 0]: # Middelste sensor op die lyn
# Beweeg vorentoe
pass
elif status == [1, 0, 0]: # Linker sensor op die lyn
# Draai regs
pass
elif status == [0, 0, 1]: # Regter sensor op die lyn
# Draai links
pass
# ... ander toestande vir skerper draaie
Lewende Projekdemonstrasie
In die video se demonstrasie word die motor op 'n gedrukte baan met 'n dik swart lyn geplaas. Die motor volg die lyn suksesvol, maak draaie en regstellings terwyl dit langs die pad beweeg. Die video beklemtoon 'n algemene probleem waar wiele tydens skerp draaie kan losraak, en wys 'n eenvoudige oplossing om 'n klein stukkie kleefband by die wielas te voeg vir 'n stewiger pas. Sodra dit reggestel is, navigeer die motor die hele baan glad, wat die doeltreffendheid van die kalibrasie en die lynvolgende logika demonstreer.
Video-hoofstukke
- [00:00] Inleiding tot Lynvolging en Kransbespeuring
- [03:01] Bedrading van die Gryskaal-sensormodule
- [04:39] Kalibrering van die Gryskaal-sensor
- [13:05] Verstaan die Lynvolgende Logika
- [19:43] Toets van die Lynvolgende Kode
- [24:50] Lewende Demonstrasie op 'n Toetsbaan
Hierdie handleiding is deel van: SunFounder Framboos Pi Pico Pico 4WD Slimmotorstel
- Kursusles 1 van 10: Raspberry Pi Pico 4WD Slimmotor-motorstel van SunFounder deur Robojax
- Kursusles 2 van 10: Basiese Python om Raspberry Pi Pico 4WD Slimmotorstel te bestuur
- Kursusles 3 van 10: Samestelling van Raspberry Pi Pico 4WD Slimmotorstel van SunFounder deur Robojax
- Kursusles 4 van 10: Raspberry Pi Pico-uitbreidingsbord vir 4WD Slimmotorstel
- Kursusles 5 van 10: Beheer van RGB-LED WS2812B met behulp van Raspberry Pi Pico
- Kursusles 6 van 10: Beheer van GS-motors met behulp van Raspberry Pi Pico 4WD Slimmotorstel
- Kursusles 8 van 10: Raspberry Pi Pico Slim Motor – Les 8: Servomotor en Voorwerpvolging
- Kursusles 9 van 10: Hindernisvermyding met behulp van Raspberry Pi Pico 4WD Slimme Motor
- Kursusles 10 van 10: Beheer van Raspberry Pi Pico 4WD Slimmotorkit met mobiele toepassing
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
Hulpbronne en verwysings
Geen hulpbronne nog.
Lêers📁
Geen lêers beskikbaar.