Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Tak więc w tej instrukcji zaczniemy programować inteligentny samochód, który zbudujemy w tej instrukcji i na której zainstalowaliśmy czujnik wizyjny MU w tej instrukcji.
Zamierzamy zaprogramować micro:bit z prostym śledzeniem obiektów, aby czujnik MU mógł śledzić karty ruchu.
Kieszonkowe dzieci
Materiały
1 x mikro:bit
1 x silnik: bit
1 x czujnik wizyjny MU
Mocowanie kamery 1x2 osi
4 śruby M3 x 30
6 x M3 x 6 śrub
6 x przekładka M3
10 x nakrętki M3
1 x kółko samonastawne
2 x inteligentne silniki samochodowe
2 x silnik TT130
2 x Koła do silnika TT130
1x9 V bateria + uchwyt baterii
Trochę drutu. W dwóch różnych kolorach, jeśli to możliwe
sklejka 4 mm (powinno wystarczyć 170 x 125 mm)
Mały kawałek taśmy dwustronnej
Taśma rzepowa (haczyk i pętelka)
Gorący klej
Narzędzia:
Wkrętaki
Lutowanie
Żelazo
Przecinarka do drutu
Wycinarka laserowa
Pistolet na gorący klej
Wiertarka
Wiertła 2,5 i 3 mm
Krok 1: Konfiguracja czujnika MU
Zanim zaczniemy cokolwiek podłączać, chcemy odpowiednio skonfigurować czujnik.
Czujnik Mu Vision ma 4 przełączniki. Dwa po lewej określają tryb wyjścia, a dwa po prawej określają jego adres.
Ponieważ chcemy, aby adres był 00, oba przełączniki po prawej stronie powinny być wyłączone.
Różne tryby wyjścia to:
00 UART
01 I2C
10 transmisji danych Wi-Fi
11 Transmisja obrazu Wi-Fi
Chcemy pracować w trybie I2C, więc dwa przełączniki powinny być na 01, więc lewy najbardziej powinien być wyłączony, a drugi włączony.
Krok 2: Okablowanie czujnika MU
Okablowanie jest dość proste, wystarczy użyć czterech przewodów połączeniowych, aby połączyć czujnik Mu z płytką zaciskową.
Czujnik Mu -> Płytka zaciskowa
SDA -> pin 20
SCL -> pin 19
G -> Ziemia
V -> 3,3-5 V
Krok 3: Okablowanie uchwytu kamery
Serwomotor kontrolujący ruch poziomy należy podłączyć do pinu 13, a serwomotor kontrolujący ruch pionowy do pinu 14.
Krok 4: Uzyskanie rozszerzenia
Najpierw przechodzimy do edytora Makecode i rozpoczynamy nowy projekt. Następnie przechodzimy do „Zaawansowane” i wybieramy „Rozszerzenia”. Należy pamiętać, że ponieważ jestem Duńczykiem, na zdjęciach te przyciski mają nieco inne nazwy. W rozszerzeniach wyszukujemy „Muvision” i wybieramy jedyny otrzymany wynik.
Krok 5: Inicjowanie połączenia i włączanie algorytmu
Podczas korzystania z tego rozszerzenia otrzymasz błędy „Nie można odczytać właściwości niezdefiniowanych”. Dzieje się tak tylko dlatego, że brakuje animacji micro:bit. Nie wpływa to na kompilację i działanie programu.
Pierwsza pomarańczowa część kodu inicjuje połączenie I2C.
Druga pomarańczowa część kodu umożliwia algorytmy rozpoznawania kart drogowych.
Pokazywanie liczb służy do rozwiązywania problemów. Jeśli micro:bit nie liczy się do trzech po uruchomieniu programu, sprawdź, czy przewody czujnika wizyjnego MU są prawidłowo podłączone do właściwych pinów.
Dwa czerwone bloki wyznaczają pozycję początkową mocowania kamery.
Krok 6: Program
Dwa pierwsze czerwone bloki sterują serwomotorami, które sterują mocowaniami kamery. Pierwsza steruje ruchem pionowym, a druga ruchem poziomym.
Pierwszy zewnętrzny blok „IF” sprawdza, czy czujnik MU może wykryć jakiekolwiek karty drogowe. Jeśli to możliwe, przechodzimy do dwóch stwierdzeń „JEŻELI” znajdujących się w środku.
Pierwsze stwierdzenie „JEŻELI” sprawdza pionowe umieszczenie wykrytej karty w polu widzenia. Jeśli karta zostanie umieszczona w centrum pola widzenia, otrzymamy wartość 50 z algorytmu wartości pionowej. Teraz, aby karta znajdowała się dokładnie pośrodku, jest rzadkością. Musimy trafić bardzo precyzyjnie, więc jeśli pójdziemy z 50 jako jedyną wartością, przy której kamera powinna stać nieruchomo, to będzie się mniej więcej poruszać przez cały czas. Więc zamiast tego liczymy wszystko pomiędzy 45 a 55 jak w środku. Jeśli więc położenie kart w pionie jest poniżej 45, to przesuwamy kamerę nieco w dół, zmieniając zmienną pionową o +1. W ten sam sposób przesuwamy kamerę nieco w górę, jeśli położenie w pionie jest powyżej 55, zmieniając zmienną pionową o -1. Mogę wydawać się dziwne, że kamera idzie w górę, gdy podnosimy zmienną i w dół, gdy zmienna idzie w górę, ale tak jest umieszczony silnik.
Drugie polecenie „JEŻELI” robi dokładnie to samo, ale dla pozycji poziomej. Jeśli więc karta drogowa znajduje się za daleko na prawo od pola widzenia, kamera przesunie się na prawo, a jeśli za daleko na lewo od pola widzenia, kamera przesunie się na lewo.
Program znajdziesz tutaj.
Krok 7: Zakończono
Teraz prześlij swój program do Smart Car i przetestuj go.
Możesz zwiększyć szybkość reakcji kamery na ruch, zwiększając zmianę zmiennych do 2 lub 3 zamiast 1. Możesz także spróbować zmniejszyć wielkość pola w środku. Spróbuj zamiast tego zrobić to z 47 do 53.