This tutorial is part of: SunFounder Raspberry Pi Pico Pico 4WD Smart Car Kit
Bestanden die bij deze groep horen, worden samen weergegeven. Links naar andere video's vindt u onder dit artikel.
Les 7 van 10: Lijnvolgen, Klifdetectie Grijswaardesensor kalibreren Raspberry Pi Pico-auto
In deze zevende les van de Raspberry Pi Pico Smart Car-cursus verkennen we de cruciale functies van lijnvolging en klifdetectie met behulp van een grijswaardensensormodule. Deze module fungeert als de "ogen" van uw auto, waardoor deze autonoom een vooraf bepaald pad kan volgen en gevaarlijke afgronden kan vermijden. Het project demonstreert hoe u de sensor kalibreert voor nauwkeurige metingen en logica implementeert die de auto op het spoor houdt, met een leuke "Don't Push Me"-functie die klifdetectie simuleert. Deze handleiding is perfect voor iedereen die verder wil gaan dan basisafstandsbediening en zich wil verdiepen in de wereld van sensorgestuurde robotica.
Deze technologie heeft tal van praktische toepassingen die verder gaan dan een leuk doe-het-zelfproject. De principes die u hier leert, vormen de basis voor het bouwen van echte autonome systemen. Hier zijn een paar ideeën om u te inspireren:
- Geautomatiseerde bezorgrobots: Bouw een kleine robot die door een magazijn of kantoorvloer kan navigeren door gemarkeerde lijnen te volgen om items te bezorgen.
- Tafelblad-doolhofoplosser: Maak een robot die een complex doolhof kan navigeren dat is getekend met zwarte isolatietape.
- Veiligheids- en beveiligingsrobot: Implementeer een patrouillerobot die een vast pad volgt en klifdetectie gebruikt om te voorkomen dat hij van trappen of verhoogde oppervlakken valt.
- Educatief platform: Gebruik de auto om de grondbeginselen van PID-regeling, sensorfusie en autonome navigatie te onderwijzen.
Hardware en componenten
Dit project bouwt voort op de SunFounder Raspberry Pi Pico 4WD autokit. Het belangrijkste onderdeel voor deze les is de grijswaardensensormodule, die essentieel is voor zowel lijnvolging als klifdetectie. De module heeft drie onafhankelijke sensoren die de hoeveelheid licht meten die wordt gereflecteerd door het oppervlak eronder. Deze gegevens worden gebruikt om onderscheid te maken tussen een zwarte lijn, een wit oppervlak en een "klif" of open ruimte. De volledige kit bevat ook het Pico-autochassis, motoren en een batterijpakket om het systeem van stroom te voorzien.
Bekabelingshandleiding
Correcte bedrading is de eerste stap om uw sensor te laten werken. De grijswaardenmodule wordt met vier draden op de Raspberry Pi Pico aangesloten. De bedrading is eenvoudig en wordt duidelijk gedemonstreerd in de video.
Hier is de bedradingsconfiguratie zoals getoond in de video (in video op 03:01):
- Zwarte draad: Sluit aan op een GND-pin op de Pico.
- Rode draad: Sluit aan op de 3.3V-pin op de Pico.
- Gele draad (rechter sensor): Sluit aan op GPIO-pin 28.
- Bruine draad (middelste sensor): Sluit aan op GPIO-pin 27.
- Witte/grijze draad (linker sensor): Sluit aan op GPIO-pin 26.
De grijswaardensensor kalibreren
Voordat de auto betrouwbaar een lijn kan volgen, moet u de sensor kalibreren om de verschillende metingen voor wit, zwart en lege ruimte te begrijpen. Dit is een cruciale stap om ervoor te zorgen dat uw auto de juiste beslissingen neemt. De gevoeligheid van de sensor kan worden aangepast met een kleine potentiometer op de module.
De video demonstreert het kalibratieproces (in video op 04:39). De sensor moet op een optimale hoogte boven de grond worden geplaatst—ongeveer 11 millimeter of één centimeter—om duidelijke metingen te krijgen. Door de potentiometer aan te passen en de waarden te observeren, kunt u het optimale punt vinden. Het doel is om een significant verschil te hebben tussen de metingen voor een wit oppervlak (dat veel licht reflecteert) en een zwarte lijn (dat zeer weinig reflecteert).
Hier is een samenvatting van wat de metingen betekenen:
- Wit oppervlak: Hoge reflectie, resulterend in hoge sensorwaarden (bijv. rond 20.000).
- Zwarte lijn: Lage reflectie, resulterend in lage sensorwaarden (bijv. rond 3.000).
- Klif (holle ruimte): Geen reflectie, resulterend in de laagste sensorwaarden (bijv. rond 1.200).
Code-uitleg
Aangezien er geen code is verstrekt voor deze les, richten we ons op de conceptuele logica en de belangrijkste functies uit de Robojax-bibliotheek die worden gebruikt om de auto te laten werken. De video legt de twee belangrijkste functies uit die u uit de meegeleverde bibliotheek zult gebruiken.
De sensor testen
De eerste stap is om uw sensor te testen met een eenvoudig script. Dit script gebruikt een functie genaamd get_grayscale_value() om de ruwe waarden van de drie sensoren te lezen. Het drukt deze waarden af op de seriële monitor, zodat u kunt zien hoe ze veranderen wanneer de sensor boven verschillende oppervlakken wordt gehouden. Dit is nuttig om uw bedrading te verifiëren en de kalibratiestap uit te voeren.
# Dit is een conceptueel voorbeeld van de testfunctie
from machine import Pin, ADC
import time
# Definieer de ADC-pinnen voor de grijswaardensensoren
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]
while True:
# Lees de ruwe 16-bits waarden van de sensoren
values = [sensor.read_u16() for sensor in sensors]
print("Links: {} Midden: {} Rechts: {}".format(values[0], values[1], values[2]))
time.sleep_ms(100)
Lijnvolgende logica
Voor lijnvolging gebruikt de code niet de ruwe analoge waarden. In plaats daarvan converteert het deze naar een eenvoudige digitale status: 1 als de sensor boven de zwarte lijn is, en 0 als deze boven het witte oppervlak is. Dit wordt afgehandeld door een functie die een lijst van drie waarden retourneert (bijv. [0, 1, 0]). De hoofdregellus gebruikt deze lijst vervolgens om de acties van de auto te bepalen.
De logica is gebaseerd op het vergelijken van de sensorstatus met vooraf gedefinieerde voorwaarden. Als de status bijvoorbeeld [0, 1, 0] is, staat de auto perfect op de lijn en moet hij vooruit rijden. Als de status [1, 0, 0] is, is de auto naar links afgedwaald en moet hij zijn pad naar rechts corrigeren. De video legt deze voorwaarden in detail uit (in de video op 13:05) en laat zien hoe verschillende combinaties van sensorwaarden overeenkomen met verschillende motorcommando's, zoals linksaf slaan, rechtsaf slaan of een scherpe correctie maken.
# Dit is een conceptueel voorbeeld van de lijnvolgende logica
# Ga ervan uit dat 'status' een lijst is zoals [0, 1, 0] van de grijswaarden sensor
if status == [0, 1, 0]: # Centrale sensor op de lijn
# Vooruit rijden
pass
elif status == [1, 0, 0]: # Linker sensor op de lijn
# Rechtsaf slaan
pass
elif status == [0, 0, 1]: # Rechter sensor op de lijn
# Linksaf slaan
pass
# ... andere voorwaarden voor scherpere bochten
Live Projectdemonstratie
In de demonstratie van de video wordt de auto op een gedrukte baan met een dikke zwarte lijn geplaatst. De auto volgt de lijn succesvol, maakt bochten en correcties terwijl hij langs het pad beweegt. De video benadrukt een veelvoorkomend probleem waarbij wielen los kunnen raken tijdens scherpe bochten, en toont een eenvoudige oplossing door een klein stukje tape aan de wielas toe te voegen voor een strakkere pasvorm. Zodra dit is verholpen, navigeert de auto soepel over de hele baan, wat de effectiviteit van de kalibratie en de lijnvolgende logica aantoont.
Video Hoofdstukken
- [00:00] Introductie tot Lijnvolgen en Klifdetectie
- [03:01] Bedrading van de Grijswaarden Sensormodule
- [04:39] Kalibreren van de Grijswaarden Sensor
- [13:05] Begrijpen van de Lijnvolgende Logica
- [19:43] Testen van de Lijnvolgende Code
- [24:50] Live Demonstratie op een Testbaan
This tutorial is part of: SunFounder Raspberry Pi Pico Pico 4WD Smart Car Kit
- Cursus Les 1 van 10: Raspberry Pi Pico 4WD Smart Car Kit van SunFounder door Robojax
- Cursus Les 2 van 10: Basiskennis Python om de Raspberry Pi Pico 4WD Smart Car Kit aan te sturen
- Cursus Les 3 van 10: Het assembleren van de Raspberry Pi Pico 4WD Smart Car Kit van SunFounder door Robojax
- Cursus Les 4 van 10: Raspberry Pi Pico-uitbreidingskaart voor 4WD Smart Car-kit
- Cursus Les 5 van 10: RGB LED WS2812B aansturen met Raspberry Pi Pico
- Cursus Les 6 van 10: DC-motoren aansturen met behulp van de Raspberry Pi Pico 4WD Smart Car Kit
- Cursus Les 8 van 10: Raspberry Pi Pico Slimme Auto – Les 8: Servomotor en objectvolging
- Cursus Les 9 van 10: Obstakelvermijding met behulp van Raspberry Pi Pico 4WD Slimme Auto
- Cursus Les 10 van 10: Raspberry Pi Pico 4WD Smart Car-kit bedienen met mobiele app
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
Hulpmiddelen en referenties
Nog geen middelen.
Bestanden📁
Geen bestanden beschikbaar.