Ten poradnik jest częścią: Zestaw samochodowy SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
Pliki powiązane z tą grupą będą wyświetlane razem. Linki do innych filmów znajdują się poniżej tego artykułu.
Lekcja 7 z 10: Śledzenie linii, wykrywanie krawędzi Kalibracja czujnika skali szarości Samochód Raspberry Pi Pico
W tej siódmej lekcji kursu Raspberry Pi Pico Smart Car odkrywamy kluczowe funkcje śledzenia linii i wykrywania krawędzi za pomocą modułu czujnika skali szarości. Moduł ten działa jak „oczy” Twojego samochodu, pozwalając mu autonomicznie podążać wyznaczoną trasą i unikać niebezpiecznych spadków. Projekt pokazuje, jak skalibrować czujnik w celu uzyskania dokładnych odczytów i wdrożyć logikę, która utrzymuje samochód na właściwej ścieżce, z zabawną funkcją „Don't Push Me”, która symuluje wykrywanie krawędzi. Ten przewodnik jest idealny dla każdego, kto chce wyjść poza podstawowe sterowanie zdalne i zagłębić się w świat robotyki sterowanej czujnikami.
Ta technologia ma wiele praktycznych zastosowań wykraczających poza zabawny projekt DIY. Zasady, których się tutaj nauczysz, są podstawą do budowania rzeczywistych systemów autonomicznych. Oto kilka pomysłów, które mogą Cię zainspirować:
- Automatyczne roboty dostawcze: Zbuduj małego robota, który może poruszać się po magazynie lub biurze, podążając za oznaczonymi liniami, aby dostarczać przedmioty.
- Rozwiązywacz labiryntów stołowych: Stwórz robota, który może poruszać się po złożonym labiryncie narysowanym czarną taśmą izolacyjną.
- Robot bezpieczeństwa i ochrony: Zaimplementuj robota patrolującego, który podąża ustaloną ścieżką i używa wykrywania krawędzi, aby uniknąć spadnięcia ze schodów lub podwyższonych powierzchni.
- Platforma edukacyjna: Użyj samochodu, aby uczyć podstaw sterowania PID, fuzji czujników i nawigacji autonomicznej.
Sprzęt i komponenty
Ten projekt opiera się na zestawie SunFounder Raspberry Pi Pico 4WD car kit. Kluczowym komponentem tej lekcji jest moduł czujnika skali szarości, który jest niezbędny zarówno do śledzenia linii, jak i wykrywania krawędzi. Moduł wyposażony jest w trzy niezależne czujniki, które mierzą ilość światła odbitego od powierzchni pod spodem. Dane te służą do rozróżnienia czarnej linii, białej powierzchni i „krawędzi” lub otwartej przestrzeni. Pełny zestaw zawiera również podwozie samochodu Pico, silniki i zestaw baterii do zasilania systemu.
Podłączanie przewodów
Prawidłowe podłączenie przewodów to pierwszy krok do uruchomienia czujnika. Moduł skali szarości łączy się z Raspberry Pi Pico za pomocą czterech przewodów. Podłączenie jest proste i zostało jasno pokazane na filmie.
Oto konfiguracja podłączenia pokazana na filmie (na filmie o 03:01):
- Czarny przewód: Podłącz do pinu GND na Pico.
- Czerwony przewód: Podłącz do pinu 3.3V na Pico.
- Żółty przewód (prawy czujnik): Podłącz do pinu GPIO 28.
- Brązowy przewód (środkowy czujnik): Podłącz do pinu GPIO 27.
- Biały/szary przewód (lewy czujnik): Podłącz do pinu GPIO 26.
Kalibracja czujnika skali szarości
Zanim samochód będzie mógł niezawodnie podążać za linią, należy skalibrować czujnik, aby rozumiał różne odczyty dla bieli, czerni i pustej przestrzeni. To krytyczny krok, aby zapewnić, że samochód podejmuje właściwe decyzje. Czułość czujnika można regulować małym potencjometrem na module.
Film pokazuje proces kalibracji (na filmie o 04:39). Czujnik powinien być umieszczony na optymalnej wysokości nad ziemią — około 11 milimetrów lub jednego centymetra — aby uzyskać wyraźne odczyty. Regulując potencjometr i obserwując wartości, można znaleźć idealny punkt. Celem jest uzyskanie znaczącej różnicy między odczytami dla białej powierzchni (która odbija dużo światła) a czarnej linii (która odbija bardzo mało).
Oto podsumowanie znaczenia odczytów:
- Biała powierzchnia: Wysokie odbicie, co daje wysokie wartości czujnika (np. około 20 000).
- Czarna linia: Niskie odbicie, co daje niskie wartości czujnika (np. około 3 000).
- Krawędź (pusta przestrzeń): Brak odbicia, co daje najniższe wartości czujnika (np. około 1 200).
Wyjaśnienie kodu
Ponieważ nie dostarczono kodu do tej lekcji, skupimy się na logice koncepcyjnej i kluczowych funkcjach z biblioteki Robojax, które są używane do uruchomienia samochodu. Film wyjaśnia dwie główne funkcje, które będziesz używać z dostarczonej biblioteki.
Testowanie czujnika
Pierwszym krokiem jest przetestowanie czujnika za pomocą prostego skryptu. Ten skrypt używa funkcji o nazwie get_grayscale_value() do odczytu surowych wartości z trzech czujników. Wypisuje te wartości na monitorze szeregowym, abyś mógł zobaczyć, jak się zmieniają, gdy czujnik znajduje się nad różnymi powierzchniami. Jest to przydatne do weryfikacji podłączenia przewodów i wykonania kroku kalibracji.
# To jest koncepcyjny przykład funkcji testowej
from machine import Pin, ADC
import time
# Zdefiniuj piny ADC dla czujników skali szarości
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]
while True:
# Odczytaj surowe 16-bitowe wartości z czujników
values = [sensor.read_u16() for sensor in sensors]
print("Lewy: {} Środkowy: {} Prawy: {}".format(values[0], values[1], values[2]))
time.sleep_ms(100)
Logika śledzenia linii
Do śledzenia linii kod nie używa surowych wartości analogowych. Zamiast tego konwertuje je na prosty status cyfrowy: 1, jeśli czujnik znajduje się nad czarną linią, i 0, jeśli znajduje się nad białą powierzchnią. Obsługuje to funkcja, która zwraca listę trzech wartości (np. [0, 1, 0]). Główna pętla sterowania używa następnie tej listy do określenia działań samochodu.
Logika opiera się na porównywaniu statusu czujnika z predefiniowanymi warunkami. Na przykład, jeśli status to [0, 1, 0], samochód znajduje się idealnie na linii i powinien jechać prosto. Jeśli status to [1, 0, 0], samochód zboczył w lewo i musi skorygować tor jazdy w prawo. Film szczegółowo wyjaśnia te warunki (w filmie o 13:05), pokazując, jak różne kombinacje odczytów czujników odpowiadają różnym poleceniom silników, takim jak skręt w lewo, skręt w prawo lub ostra korekta.
# To jest przykładowa koncepcja logiki podążania za linią
# Zakładamy, że 'status' to lista, np. [0, 1, 0] z czujnika skali szarości
if status == [0, 1, 0]: # Środkowy czujnik na linii
# Jedź prosto
pass
elif status == [1, 0, 0]: # Lewy czujnik na linii
# Skręć w prawo
pass
elif status == [0, 0, 1]: # Prawy czujnik na linii
# Skręć w lewo
pass
# ... inne warunki dla ostrzejszych skrętów
Prezentacja na żywo projektu
W demonstracji na filmie samochód umieszczony jest na wydrukowanym torze z grubą czarną linią. Samochód skutecznie podąża za linią, wykonując skręty i korekty podczas jazdy po trasie. Film zwraca uwagę na częsty problem, jakim jest poluzowanie kół podczas ostrych skrętów, i pokazuje proste rozwiązanie polegające na dodaniu małego kawałka taśmy na oś koła, aby zapewnić ciaśniejsze dopasowanie. Po tej poprawce samochód płynnie pokonuje cały tor, co pokazuje skuteczność kalibracji i logiki podążania za linią.
Rozdziały filmu
- [00:00] Wprowadzenie do śledzenia linii i wykrywania krawędzi
- [03:01] Podłączanie modułu czujnika skali szarości
- [04:39] Kalibracja czujnika skali szarości
- [13:05] Zrozumienie logiki podążania za linią
- [19:43] Testowanie kodu śledzenia linii
- [24:50] Prezentacja na żywo na torze testowym
Ten poradnik jest częścią: Zestaw samochodowy SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
- Kurs Lekcja 1 z 10: Zestaw inteligentnego samochodu 4WD Raspberry Pi Pico od SunFounder autorstwa Robojax
- Kurs Lekcja 2 z 10: Podstawy Pythona do sterowania zestawem inteligentnego samochodu 4WD Raspberry Pi Pico
- Lekcja 3 z 10 kursu: Składanie zestawu inteligentnego samochodu 4WD Raspberry Pi Pico od SunFounder autorstwa Robojax
- Kurs Lekcja 4 z 10: Płytka rozszerzająca Raspberry Pi Pico do zestawu inteligentnego samochodu 4WD
- Kurs Lekcja 5 z 10: Sterowanie diodą RGB WS2812B za pomocą Raspberry Pi Pico
- Kurs Lekcja 6 z 10: Sterowanie silnikami DC za pomocą zestawu inteligentnego samochodu 4WD Raspberry Pi Pico
- Kurs Lekcja 8 z 10: Raspberry Pi Pico Smart Car – Lekcja 8: Serwomechanizm i podążanie za obiektem
- Kurs Lekcja 9 z 10: Unikanie przeszkód za pomocą inteligentnego samochodu 4WD Raspberry Pi Pico
- Kurs Lekcja 10 z 10: Sterowanie zestawem inteligentnego samochodu 4WD Raspberry Pi Pico za pomocą aplikacji mobilnej
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
Zasoby i odniesienia
Brak zasobów.
Pliki📁
Brak dostępnych plików.