Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Przegląd systemów
- Krok 2: Zacznijmy prototypowanie
- Krok 3: Prototypowanie - płyta perforowana
- Krok 4: Prototypowanie - osłona rekwizytów
- Krok 5: Prototypowanie - moc i uziemienie
- Krok 6: Prototypowanie - nośnik sterownika silnika
- Krok 7: Prototypowanie - nagłówek tablicy czujnika linii
- Krok 8: Prototypowanie - mikrosilnik z przekładnią i enkoder
- Krok 9: Prototypowanie - diody LED
- Krok 10: Prototypowanie - wybicia
- Krok 11: Przegląd bibliotek oprogramowania
- Krok 12: Objaśnienie bibliotek - przycisk
- Krok 13: Objaśnienie bibliotek - czujnik liniowy
- Krok 14: Objaśnienie bibliotek - TeensyviewMenu
- Krok 15: Objaśnienie bibliotek - silniki
- Krok 16: Testowanie - odometria enkodera
- Krok 17: Testowanie - Czujniki ruchu Prop Shield
- Krok 18: Przegląd programu
- Krok 19: Poruszanie się po menu i ustawieniach
- Krok 20: Kalibracja czujnika linii
- Krok 21: Uruchom test
- Krok 22: Ostatnie myśli i ulepszenia
Wideo: Zaawansowany robot podążający za linią: 22 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Jest to zaawansowany robot śledzący linię oparty na Teensy 3.6 i czujniku liniowym QTRX, który zbudowałem i nad którym pracuję od dłuższego czasu. Jest kilka znaczących ulepszeń w projekcie i wydajności mojej wcześniejszej linii robota. Poprawiła się szybkość i reakcja robota. Ogólna konstrukcja jest kompaktowa i lekka. Elementy są rozmieszczone blisko osi koła, aby zminimalizować moment pędu. Silniki z mikrometalowymi przekładniami o dużej mocy zapewniają odpowiedni moment obrotowy, a aluminiowe piasty silikonowe kółka zapewniają bardzo potrzebną przyczepność przy dużych prędkościach. Enkodery osłony podpory i koła umożliwiają robotowi określenie jego położenia i orientacji. Dzięki zamontowanemu na pokładzie Teensyview wszystkie istotne informacje mogą być wizualizowane, a ważne parametry programu mogą być aktualizowane za pomocą przycisków.
Aby rozpocząć budowę tego robota, będziesz potrzebować następujących zapasów (oraz dużo czasu i cierpliwości do Twojej dyspozycji).
Kieszonkowe dzieci
Elektronika
- Tablica rozwojowa Teensy 3.6
- Prop Shield z czujnikami ruchu
- Sparkfun TeensyView
- Matryca czujnika odbicia Pololu QTRX-MD-16A
- Prototypowa dwustronna płytka drukowana 15x20cm
- Pololu Regulator napięcia Step-Up/Step-Down S9V11F3S5
- Pololu Regulowany regulator napięcia 4-5-20V Step-Up U3V70A
- Mikromotoreduktor MP12 6V 1580 obr./min z enkoderem (x2)
- DRV8833 Wspornik sterownika podwójnego silnika (x2)
- Akumulator Li-Po 3,7 V, 750 mAh
- Przełącznik włącz / wyłącz
- Kondensator elektrolityczny 470uF
- Kondensator elektrolityczny 1000uF (x2)
- Kondensator ceramiczny 0,1uF (x5)
- Przyciski (x3)
- 10mm zielona dioda LED (x2)
Sprzęt komputerowy
- Kółko silikonowe Atom 37x34mm (x2)
- Kółko kulkowe Pololu z metalową kulką 3/8”
- Mocowanie silnika N20 (x2)
- Śruba i nakrętki
Kable i złącza
- Elastyczne przewody 24AWG
- 24-pinowy kabel FFC do DIP breakout i kabel FFC (typ A, długość 150 mm)
- Okrągły żeński nagłówek pinowy
- Długa końcówka okrągłej żeńskiej listwy pinowej
- Dwurzędowy żeński nagłówek pod kątem prostym
- Dwurzędowy męski nagłówek pod kątem prostym
- Męski nagłówek pinowy
- Męski nagłówek igłowy
Narzędzia
- Multimetr
- Lutownica
- Drut lutowniczy
- Ściągacz izolacji
- Przecinak do drutu
Krok 1: Przegląd systemów
Podobnie jak w przypadku mojego wcześniejszego projektu samobalansującego robota, ten robot jest zespołem desek typu breakout zamontowanych na płycie perforowanej, która służy również jako konstrukcja.
Poniżej przedstawiono główne systemy robota.
Mikrokontroler: Płytka rozwojowa Teensy 3.6 z 32-bitowym procesorem ARM Cortex-M4 180 MHz.
Czujnik liniowy: 16-kanałowy analogowy układ czujników liniowych firmy Pololu QTRX-MD-16A w układzie średniej gęstości (rozstaw czujnika 8 mm).
Napęd: 6V, 1580 obr./min, mikrometalowe motoreduktory dużej mocy z magnetycznym enkoderem i silikonowymi kołami zamontowanymi na aluminiowych piastach.
Odometria: Pary enkoderów z kołem magnetycznym do szacowania współrzędnych i przebytej odległości.
Czujnik orientacji: Podpora osłona z czujnikami ruchu do szacowania pozycji i kierunku robota.
Zasilanie: bateria lipo 3,7 V, 750 mAh jako źródło zasilania. Regulator 3.3V step-up/down zasila mikrokontroler, czujniki i urządzenie wyświetlające. Regulowany regulator step-up zasila oba silniki.
Interfejs użytkownika: Teensyview do wyświetlania informacji. Wybicie z trzema przyciskami do akceptowania danych wprowadzonych przez użytkownika. Dwie liczby zielonych diod LED o średnicy 10 mm do wskazywania statusu podczas pracy.
Krok 2: Zacznijmy prototypowanie
Powyższy układ będziemy realizować na płycie perforowanej. Najpierw musimy przygotować nasze tablice zaciskowe, lutując na nich nagłówki. Film podpowie, które nagłówki powinny być lutowane na których tabliczkach zaciskowych.
Po przylutowaniu nagłówków na tabliczkach zaciskowych, ułóż zacisk Teensyview i przycisk na szczycie Teensy.
Krok 3: Prototypowanie - płyta perforowana
Zdobądź prototypową dwustronną płytę perforowaną 15x20 cm i zaznacz granicę trwałym markerem, jak pokazano na rysunku. Wywierć otwory o rozmiarze M2 do montażu matrycy czujników, kółka samonastawnego i mikrometalowych motoreduktorów w miejscach oznaczonych białym kółkiem. Później po lutowaniu i przetestowaniu wszystkich komponentów wytniemy płytę perforowaną wzdłuż granicy.
Prototypowanie rozpoczniemy od przylutowania pinów i gniazd na płycie perforowanej. Tablice podziału zostaną później wstawione w tych nagłówkach. Zwróć szczególną uwagę na położenie nagłówków na płycie perforowanej. Będziemy łączyć wszystkie przewody w oparciu o ten układ nagłówków.
Krok 4: Prototypowanie - osłona rekwizytów
Najpierw przylutujemy połączenia do osłony śmigła. Ponieważ używamy tylko czujników ruchu osłony śruby, musimy podłączyć tylko piny SCL, SDA i IRQ oprócz pinów 3V i uziemienia osłony śruby.
Po nawiązaniu połączenia włóż Teensy i osłonę śmigła i skalibruj czujniki ruchu, wykonując czynności opisane tutaj.
Krok 5: Prototypowanie - moc i uziemienie
Przylutuj wszystkie połączenia zasilania i masy zgodnie z rysunkiem. Włóż wszystkie tabliczki zaciskowe na miejsce i zapewnij ciągłość za pomocą multimetru. Sprawdź różne poziomy napięcia na pokładzie.
- Napięcie wyjściowe Li-po (zwykle od 3 V do 4,2 V)
- Napięcie wyjściowe regulatora step-up/down (3,3 V)
- Regulowane napięcie wyjściowe regulatora step-up (ustawione na 6V)
Krok 6: Prototypowanie - nośnik sterownika silnika
Płyta nośna podwójnego sterownika silnika DRV8833 może dostarczać prąd ciągły 1,2 A i prąd szczytowy 2 A na kanał. Dwa kanały połączymy równolegle, aby napędzać jeden silnik. Przylutuj połączenia, wykonując poniższe czynności.
- Równolegle dwa wejścia i dwa wyjścia nośnika sterownika silnika, jak pokazano na rysunku.
- Podłączyć wejściowe przewody sterujące do sterownika silnika.
- Podłącz kondensator elektrolityczny 1000uF i kondensator ceramiczny 0,1uF do zacisków Vin i Gnd dwóch płytek nośnych.
- Podłącz kondensator ceramiczny 0,1uF do zacisków wyjściowych sterownika silnika.
Krok 7: Prototypowanie - nagłówek tablicy czujnika linii
Teensy 3.6 ma dwa ADC - ADC0 i ADC1, które są multipleksowane do 25 dostępnych pinów. Mamy dostęp do dowolnych dwóch pinów z dwóch ADC w tym samym czasie. Podłączymy osiem czujników liniowych każdy do ADC0 i ADC1. Czujniki parzyste zostaną podłączone do ADC1, a nieparzyste do ADC0. Przylutuj połączenia, wykonując poniższe czynności. Później podłączymy czujnik liniowy za pomocą adaptera i kabla FFC do DIP.
- Podłącz wszystkie równe piny czujnika (16, 14, 12, 10, 8, 6, 4, 2) jak pokazano na rysunku. Poprowadź przewód do podłączenia styku czujnika 12 przez tylną stronę płyty perforowanej.
- Podłącz pin kontrolny emitera (EVEN) do pinu 30 Teensy.
- Podłącz wszystkie nieparzyste styki czujnika (15, 13, 11, 9, 7, 5, 3, 1), jak pokazano na rysunku.
- Podłącz kondensator elektrolityczny 470uF do Vcc i Gnd.
Jeśli uważnie przyjrzysz się pinom czujnika liniowego i odpowiadającym im pinom nagłówka na płytce, zauważysz, że górny rząd czujnika liniowego mapuje się na dolny rząd nagłówka na płycie i na odwrót. Dzieje się tak, ponieważ gdy podłączymy czujnik linii do płyty perforowanej za pomocą dwurzędowych nagłówków pod kątem prostym, rzędy będą wyrównane prawidłowo. Zajęło mi trochę czasu, aby to rozgryźć i poprawić przypisania pinów w programie.
Krok 8: Prototypowanie - mikrosilnik z przekładnią i enkoder
- Zamocuj mikrometalowy motoreduktor z enkoderem za pomocą mocowań silnika N20.
- Podłącz przewody silnika i enkodera, jak pokazano na rysunku.
- Lewy enkoder - piny Teensy 4 i 0
- Prawy enkoder - piny 9 i 27 Teen Teensy
Krok 9: Prototypowanie - diody LED
Dwie diody LED wskazują, czy robot wykrył skręt, czy nie. Do podłączenia diod LED do Teensy użyłem rezystora serii 470 omów.
- Lewa anoda LED do pinu Teensy 6
- Prawa anoda LED do pinu Teensy 8
Krok 10: Prototypowanie - wybicia
Teraz, gdy zakończyliśmy lutowanie na perforowanej płycie, możemy ostrożnie przeciąć granicę zaznaczoną na perforacji i usunąć dodatkowe kawałki perforowanej płyty. Zamocuj również dwa koła i kółko samonastawne.
Włóż wszystkie tabliczki zaciskowe do odpowiednich gniazd. Informacje na temat wkładania złącza FFC-DIP i mocowania czujnika liniowego QTRX-MD-16A można znaleźć w filmie.
Krok 11: Przegląd bibliotek oprogramowania
Zaprogramujemy Teensy w Arduino IDE. Zanim zaczniemy, będziemy potrzebować kilku bibliotek. Biblioteki, z których będziemy korzystać to:
- Koder
- Nastolatek
- EEPROM
- ADC
- NXPMotionSense
A niektóre, które zostały napisane specjalnie dla tego robota,
- Naciśnij przycisk
- Czujnik linii
- TeensyviewMenu
- Motoryzacja
Biblioteki specyficzne dla tego robota zostały szczegółowo omówione i są dostępne do pobrania w kolejnych krokach.
Krok 12: Objaśnienie bibliotek - przycisk
Ta biblioteka służy do łączenia tabliczki zaciskowej z przyciskiem Teensy. Używane funkcje to
PushButton(int leftButtonPin, int centerButtonPin, int rightButtonPin);
Wywołanie tego konstruktora przez utworzenie obiektu powoduje skonfigurowanie pinów przycisku do trybu INPUT_PULLUP.
int8_t waitForButtonPress(void);
Ta funkcja czeka na naciśnięcie i zwolnienie przycisku i zwraca kod klucza.
int8_t getSingleButtonPress(void);
Ta funkcja sprawdza, czy przycisk jest wciśnięty i zwolniony. Jeśli tak, zwraca kod klucza, w przeciwnym razie zwraca zero.
Krok 13: Objaśnienie bibliotek - czujnik liniowy
LineSensor to biblioteka do łączenia matrycy czujników liniowych z Teensy. Poniżej przedstawiono używane funkcje.
LineSensor(unieważniony);
Wywołanie tego konstruktora przez utworzenie obiektu inicjuje ADC0 i ADC1, odczytuje wartości progowe, minimalne i maksymalne z pamięci EEPROM i konfiguruje piny czujnika w tryb wejścia i pin kontrolny emitera w tryb wyjścia.
void kalibrować (uint8_t CalibrationMode);
Ta funkcja kalibruje czujniki linii. Tryb kalibracji może być MIN_MAX lub MEDIAN_FILTER. Ta funkcja została szczegółowo wyjaśniona w kolejnym kroku.
void getSensorsAnalog(uint16_t *sensorValue, tryb uint8_t);
Odczytuje tablicę czujników w dowolnym z trzech trybów przekazanych jako argument. Tryb jest stanem emiterów i może być WŁĄCZONY, WYŁĄCZONY lub PRZEŁĄCZONY. Tryb TOGGLE kompensuje odczyty czujnika reflektancji ze względu na światło otoczenia. Czujniki podłączone do ADC0 i ADC1 są odczytywane synchronicznie.
int getLinePosition(uint16_t *sensorValue);
Oblicza pozycję matrycy czujników nad linią metodą średniej ważonej.
uint16_t getSensorsBinary(uint16_t *sensorValue);
Zwraca 16-bitową reprezentację stanu czujników. Jedynka binarna wskazuje, że czujnik jest nad linią, a zero binarne wskazuje, że czujnik jest poza linią.
uint8_t countBinary(uint16_t binaryValue);
Przekazanie 16-bitowej reprezentacji wartości czujników do tej funkcji zwraca liczbę czujników znajdujących się nad linią.
void getSensorsNormalized(uint16_t *sensorValue, tryb uint8_t);
Odczytuje wartości czujnika i ogranicza każdą wartość czujnika do odpowiednich wartości minimalnych i maksymalnych. Wartości czujnika są następnie mapowane z odpowiedniego zakresu od minimalnego do maksymalnego do zakresu od 0 do 1000.
Krok 14: Objaśnienie bibliotek - TeensyviewMenu
TeensyviewMenu to biblioteka, w której można uzyskać dostęp do funkcji menu wyświetlacza. Poniżej przedstawiono używane funkcje.
Menu Widoku Teensy (nieważne);
Wywołanie tego konstruktora tworzy obiekt klasy LineSensor, PushButton i TeensyView.
nieważne wprowadzenie (nieważne);
Służy do poruszania się po menu.
test nieważny (nieważny);
Nazywa się to wewnętrznie w menu, gdy wartości czujnika liniowego mają być wyświetlane na Teensyview w celu przetestowania.
Krok 15: Objaśnienie bibliotek - silniki
Silniki to biblioteka służąca do napędzania dwóch silników. Poniżej przedstawiono używane funkcje.
Silniki (nieważne);
Wywołanie tego konstruktora poprzez utworzenie obiektu konfiguruje sterowanie kierunkiem silnika i piny sterujące PWM w tryb wyjścia.
void setSpeed(int leftMotorSpeed, int rightMotorSpeed);
Wywołanie tej funkcji napędza dwa silniki z prędkościami przekazanymi jako argumenty. Wartość prędkości może wynosić od -255 do +255 ze znakiem ujemnym oznaczającym odwrócenie kierunku obrotów.
Krok 16: Testowanie - odometria enkodera
Przetestujemy enkodery koła magnetycznego i wyświetlimy pozycję oraz odległość pokonaną przez robota.
Prześlij DualEncoderTeensyview.ino. Program wyświetla kleszcze enkodera na Teensyview. Enkoder zaznacza inkrementację, jeśli przesuniesz robota do przodu i dekrementację, jeśli przesuniesz go do tyłu.
Teraz prześlij EncoderOdometry.ino. Ten program wyświetla pozycję robota w postaci współrzędnych x-y, wyświetla całkowitą przebytą odległość w centymetrach oraz kąt obrotu w stopniach.
Odwołałem się do Implementing Dead Reckoning by Odometry on a Robot with R/C Servo Differential Drive firmy Seattle Robotics Society do określania pozycji na podstawie taktów enkodera.
Krok 17: Testowanie - Czujniki ruchu Prop Shield
Upewnij się, że skalibrowałeś czujniki ruchu, wykonując czynności wymienione tutaj.
Teraz prześlij plik PropShieldTeensyView.ino. Powinieneś być w stanie zobaczyć wartości akcelerometru, żyroskopu i magnetometru wszystkich trzech osi na Teensyview.
Krok 18: Przegląd programu
Program dla Advanced Line Follower napisany jest w Arduino IDE. Program działa w następującej kolejności wyjaśnionej poniżej.
- Odczytywane są wartości zapisane w EEPROM i wyświetlane jest menu.
- Po naciśnięciu przycisku LAUNCH program wchodzi w pętlę.
- Odczytywane są znormalizowane wartości czujnika linii.
- Wartość binarna pozycji linii jest uzyskiwana przy użyciu znormalizowanych wartości czujników.
- Liczba czujników znajdujących się nad linią jest obliczana na podstawie binarnej wartości pozycji linii.
- Aktualizowane są znaczniki enkodera i całkowita przebyta odległość, współrzędne x-y i kąt.
- Dla różnych wartości liczby binarnej w zakresie od 0 do 16 wykonywany jest zestaw instrukcji. Jeżeli zliczanie binarne mieści się w zakresie od 1 do 5, a czujniki znajdujące się nad linią sąsiadują ze sobą, wywoływana jest procedura PID. Rotacja jest wykonywana w innych kombinacjach wartości binarnej i liczby binarnej.
- W procedurze PID (która jest faktycznie procedurą PD) silniki są napędzane z prędkościami obliczonymi na podstawie błędu, zmiany błędu, wartości Kp i Kd.
Obecnie program nie mierzy wartości orientacji z osłony śmigła. To jest praca w toku i jest aktualizowana.
Prześlij TestRun20.ino. Zobaczymy, jak poruszać się po menu, dostosowywać ustawienia i jak kalibrować czujniki liniowe w kolejnych krokach, po których przetestujemy naszego robota.
Krok 19: Poruszanie się po menu i ustawieniach
Menu zawiera następujące ustawienia, po których można poruszać się za pomocą lewego i prawego przycisku i wybierać za pomocą środkowego przycisku. Poniżej opisano ustawienia i ich funkcje.
- KALIBRUJ: Do kalibracji czujników linii.
- TEST: Aby wyświetlić wartości czujnika liniowego.
- LAUNCH: Aby rozpocząć podążanie za linią.
- MAX SPEED: Aby ustawić górną granicę prędkości robota.
- PRĘDKOŚĆ OBROTÓW: Aby ustawić górną granicę prędkości robota podczas wykonywania skrętu, tj. gdy oba koła obracają się z jednakową prędkością w przeciwnych kierunkach.
- KP: Stała proporcjonalna.
- KD: Stała pochodna.
- TRYB PRACY: Do wyboru pomiędzy dwoma trybami pracy - NORMALNY i ACCL. W trybie NORMAL robot pracuje z predefiniowanymi prędkościami odpowiadającymi wartościom pozycji linii. W trybie ACCL, MAX SPEED robota jest zastępowany przez ACCL SPEED na predefiniowanych etapach toru. Można to wykorzystać do przyspieszenia robota na prostych odcinkach toru. Poniższe ustawienia są dostępne tylko wtedy, gdy TRYB PRACY jest ustawiony na ACCL.
- ODLEGŁOŚĆ OKRĄŻENIA: Aby ustawić całkowitą długość toru wyścigowego.
- ACCL SPEED: Aby ustawić prędkość przyspieszania robota. Ta prędkość zastępuje MAX SPEED na różnych etapach toru, jak zdefiniowano poniżej.
- NIE. OF STAGES: Aby ustawić liczbę etapów, w których używana jest funkcja ACCL SPEED.
- ETAP 1: Ustalenie dystansu początkowego i końcowego etapu, w którym MAX SPEED jest zastąpiony przez ACCL SPEED. Dla każdego etapu odległość początkową i końcową można ustawić osobno.
Krok 20: Kalibracja czujnika linii
Kalibracja czujnika liniowego to proces, w którym określana jest wartość progowa każdego z 16 czujników. Ta wartość progowa jest używana do określenia, czy dany czujnik znajduje się nad linią, czy nie. Aby określić wartości progowe 16 czujników, stosujemy jedną z dwóch metod.
FILTR ŚREDNI: W tej metodzie czujniki liniowe są umieszczane nad białą powierzchnią i wstępnie zdefiniowana liczba odczytów czujników jest pobierana dla wszystkich 16 czujników. Wyznaczane są mediany wszystkich 16 czujników. Ten sam proces powtarza się po umieszczeniu czujników liniowych na czarnej powierzchni. Wartość progowa jest średnią wartości mediany powierzchni czarno-białych.
MIN MAX: W tej metodzie wartości czujnika są odczytywane wielokrotnie, dopóki użytkownik nie poprosi o zatrzymanie. Zapisywane są wartości maksymalne i minimalne napotkane przez każdy czujnik. Wartość progowa jest średnią wartości minimalnych i maksymalnych.
Uzyskane w ten sposób wartości progowe są mapowane na zakres od 0 do 1000.
Na filmie pokazano kalibrację czujników liniowych metodą MIN MAX. Po skalibrowaniu czujników linii można zwizualizować dane, jak pokazano na rysunku. Wyświetlane są następujące informacje.
- 16-bitowa binarna reprezentacja pozycji linii z binarną 1 wskazującą, że odpowiedni czujnik linii znajduje się nad linią i binarnym 0 wskazującym, że czujnik linii jest poza linią.
- Całkowita liczba czujników znajdujących się nad linią.
- Minimalne, maksymalne i wartości czujników (surowe i znormalizowane) 16 czujników, po jednym czujniku na raz.
- Pozycja linii w zakresie -7500 do +7500.
Minimalne i maksymalne wartości czujnika linii są następnie przechowywane w pamięci EEPROM.
Krok 21: Uruchom test
Film przedstawia przebieg testowy, w którym robot jest zaprogramowany do zatrzymania się po ukończeniu jednego okrążenia.
Krok 22: Ostatnie myśli i ulepszenia
Sprzęt, który jest złożony w celu zbudowania tego robota, nie jest w pełni wykorzystywany przez program, który go uruchamia. W części programowej można by wprowadzić wiele ulepszeń. Czujniki ruchu osłony podpory nie są obecnie wykorzystywane do określania położenia i orientacji. Dane odometrii z enkoderów można łączyć z danymi orientacji z osłony śmigła w celu dokładnego określenia pozycji i kursu robota. Te dane mogą być następnie wykorzystane do zaprogramowania robota do uczenia się toru w wielu okrążeniach. Zachęcam do eksperymentowania na tej części i dzielenia się swoimi wynikami.
Powodzenia.
II nagroda w Konkursie Robotów
Zalecana:
Robot podążający za linią Siebe Deetens: 4 kroki
Line Follower Robot Siebe Deetens: Bij de opleiding Elektromechanica Automatisering aan HOGENT (3e bachelor), hebben we vanuit het vak Syntheseproject de opdracht gekregen om een line follower robot te maken. sla
Robot podążający za linią do uczenia algorytmów sterowania: 3 kroki
Robot Line Follower do nauczania algorytmów sterowania: Zaprojektowałem tego robota Line Follower kilka lat temu, kiedy byłem nauczycielem robotyki. Celem tego projektu było nauczenie moich uczniów, jak kodować robota podążającego za linią na zawody, a także porównanie między sterowaniem If/Else i PID. I nie
Robot podążający za linią za pomocą mikrokontrolera TIVA TM4C1233H6PM: 3 kroki
Robot podążający za linią korzystający z mikrokontrolera TIVA TM4C1233H6PM: Robot podążający za linią jest wszechstronną maszyną wykorzystywaną do wykrywania i śledzenia ciemnych linii rysowanych na białej powierzchni. Ponieważ ten robot jest produkowany z wykorzystaniem płytki stykowej, będzie wyjątkowo łatwy do zbudowania. Ten system może być wtopiony w
Robot podążający za linią: 3 kroki
Robot podążający za linią: Robot podążający za linią to wszechstronna maszyna wykorzystywana do wykrywania i śledzenia ciemnych linii rysowanych na białej powierzchni. Ponieważ ten robot jest produkowany z wykorzystaniem płytki stykowej, będzie wyjątkowo łatwy do zbudowania. Ten system może być wtopiony w
Robot podążający za linią używający WitBlox: 3 kroki
Robot podążający za linią używający WitBlox: Budowa robota zawsze nas ekscytowała. Budowa inteligentnego robota, który może podejmować własne decyzje, jest jeszcze bardziej ekscytująca. Zbudujmy dziś robota Line Follower, używając WitBlox. Line follower to autonomiczny robot, który podąża za czarn