Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
W tej instrukcji dowiesz się, jak zrobić robota rozwiązującego labirynty, który rozwiązuje labirynty narysowane przez ludzi.
Podczas gdy większość robotów rozwiązuje pierwszy rodzaj narysowanych labiryntów (musisz podążać za liniami, są to ścieżki), normalni ludzie mają tendencję do rysowania drugiego rodzaju labiryntów. Są o wiele trudniejsze i bardziej wybredne dla robota, ale nie niemożliwe!
Krok 1: Krok 1: Rozwiązywanie labiryntu
Właściwie rozważałem wiele metod rozwiązywania labiryntów, ale najczęściej używana metoda jest łatwa do zaprogramowania, a mimo to rozwiązuje prawie każdy labirynt!
W tej metodzie nakazujemy robotowi:
- Skręć w prawo, kiedy tylko może
- Jeśli nie, jedź do przodu, jeśli to możliwe
- Jako ostatnie rozwiązanie skręć w lewo i
- Zawróć, jeśli wpadnie w ślepy zaułek
Na obrazku widzisz, jak labirynt rozwiązuje się w ten sposób. Ta metoda jest często nazywana Wall Follower. Dopóki miejscem docelowym jest wyjście w zewnętrznej ścianie, Wall Follower go znajdzie.
Krok 2: Krok 2: Zamów części
Do tego robota potrzebowalibyśmy:
- 1× Arduino Uno
- 1 × 4 uchwyt baterii AA
- 3× czujniki TCRT5000 (QTR-1A)
- Silniki 2 × 6 V DC
- 13 × przewód męsko-żeński do płytki stykowej
- 10× żeńsko-żeński przewód płytki stykowej
- Nagłówek pinów z co najmniej 29 pinami
- Sprzęt lutowniczy
Pobierz i zainstaluj Arduino IDE, aby rozwijać się na Arduino i upewnij się, że Arduino jest dostarczane z kablem USB typu A/B, aby podłączyć go do komputera.
Krok 3: Krok 3: Odczytaj z czujnika
Czujniki TCRT5000 składają się z diody podczerwieni (niebieska kula) i odbiornika (czarna kula).
Gdy dioda LED emituje światło podczerwone na białą powierzchnię, zostanie odbita od odbiornika i zwróci niską wartość (w moim przypadku 40 ~ 60). Gdy dioda LED emituje światło na czarną powierzchnię, zostanie pochłonięta i zwróci wysoka wartość (700~1010 w moim przypadku)
Drugi obraz przedstawia schemat, który mówi, jak podłączyć czujnik do Arduino. Przytrzymaj czujnik tak, aby widać było diodę i odbiornik, a piny były skierowane w stronę schematu, aby upewnić się, że podłączyłeś właściwe piny.
Teraz wystarczy podłączyć Arduino do naszego komputera, umieścić poniższy kod w Arduino IDE i skompilować:
// Zmień A0 na dowolny port, do którego podłączono czujnik#define FRONT_SENSOR A0void start() { Serial.begin(9600); } void loop() { int frontValue = analogRead(FRONT_SENSOR); Serial.println(frontValue);}
Teraz, jeśli przesuniesz czujnik bardzo blisko po białych i czarnych powierzchniach, powinieneś zauważyć, że wartości odpowiednio się zmieniają na monitorze szeregowym.