Robot na kołach

Mały pojazd z zestawu NA KOŁACH

LOFI Robot EDUBOX - zest edukacyjny do nauki robotyki i konstruowania robotów

Co potrzebujesz do zbudowania podstawowego robota-pojazdu:

  • Komplet części drewnianych + śrubki i nakrętki do zbudowania ramy pojazdu
  • Dwa komplety części drewnianych do skonstruowania koła + odwa ringi 90mm
  • Dwa silniki serwo 360
  • Płytka prototypowa + kabelki
  • Arduino
  • Czujnik odległości – SHARP GP2Y0A41SK0F
  • Przewód JST 3pin – do podłączenia czujnika odległości
  • Obrotowe kółko do mebli
  • Kilka kolorowych diod i oporników również się przyda

Pliki do ściągnięcia

Części drewniane – pojazd NA KOŁACH
Koło ver.2 – części drewniane
Model SKETCHUP

Konstrukcja

1. Zamontuj silniki serwo w ściankach bocznych pojazdu.

pojazd_zlozenie1

2. Połącz ścianki boczne odpowiednimi klockami z wypustami.

pojazd_zlozenie2

3. Na górze pojazdu przymocuj element z płytką prototypową i Arduino. Z przodu pojazdu zamocuj płaski klocek 6×12 otworów zklockiem “uśmiechem”

pojazd_zlozenie3

4. Od spodu pojazdu, w tylnej jego części włóż koszyk na baterie, zamocuj wsporniki i kółko obrotowe.

pojazd_zlozenie4

3. Zmontuj uchwyt do czujnika odległości

sharp

4. Od przodu pojazdu zamontuj czujnik odległości. Do silników zamontuj koła. Podstawowa konstrukcja pojazdu jest gotowa.

pojazd_zlozenie5

Elektronika

Robot pojazd sterowany jest przy pomocy czujnika odległości, dzięki któremu może wykrywać przeszkody pojawiające się na jego drodze i je omijać.
Do skonstruowania układu elektronicznego potrzebujemy:

  • Arduino – dowolny model, w przypadku zestawu NA KOŁACH jest to LEONARDO
  • Płytka prototypowa + kabelki
  • Czujnik odległości SHARP GP2Y0A41SK0F (lub inny model ANALOGOWEGO czujnika odległości)
  • Przewód JST 3pin
  • Dwa silniki serwo 360
  • Zasilanie – 4 baterie AA lub zasilanie przez kabel USB

UWAGA!
Zanim podłączysz serwomotory do zasilania, zapoznaj się dokładnie z działaniem płytki prototypowej i przerób wszystkie ćwiczenia z działu PODSTAWY.
Błędne podłączenie silników może skutkować ich uszkodzeniem.

Zanim podłączysz baterie do płytki prototypowej SPRAWDŹ DOKŁADNIE CZY PODŁĄCZASZ JE ZGODNIE Z POLARYZACJĄ POZOSTAŁYCH ELEMENTÓW!

Skunstruuj układ elektroniczny jak na poniższym schemacie.
Czujnik odległości kontrolowanie serwomotorów

1. Piny zasilające Arduino podłącz do listew zasilających płytki prototypowej (5V do czerwonej listwy, GND do niebieskiej listwy).
2. Koszyk z bateriami podłącz do listew zasilających płytki prototypowej.
3. Silniki SERWO podłącz w standardowy sposób – przewód czerwony do +5V, brązowy do GND, żółty do pinów cyfrowych Arduino nr 9 i 10 .
4. Do czujnika odległości wepnij wtyczkę JST a następnie podłącz odpowiednie przewody: czerwony do +5V, czarny do GND, żółty (sygnał pomiarowy) do pinu analogowego A0

Programowanie

Jeśli wszystkie moduły robota (Arduino, czujnik odległości i silniki) są już ze sobą odpowiednio połączone, możemy przystąpić do programowania.

Snap4Arduino

Przygotowanie:
1. Podłącz Arduino do komputera.
2. Upewnij się, że na Arduino wgrany jest skrypt STANDARD FIRMATA (zestaw na kołach wysyłamy z wgranym skryptem n Arduino)
3. Uruchom Snap4Arduino i połącz go z Arduino

Program:
1. Po kliknięciu zielonej flagi ustaw cyfrowe piny 9 i 10 jako SERVO
snap_servo1
2.W zakładce DANE stwórz zmienną ODLEGŁOŚĆ.
3. Do bloku z zieloną flagą dodaj pętlę ZAWSZE i w jej środku umieść blok, który będzie zamieniał wartość zmiennej ODLEGŁOŚĆ na wartość odczytaną z pinu analogowego O – czyli odbieraną z czujnika odległości.
snap_servo2
3. Uruchom program (naciśnij zieloną flagę), zwróć uwagę jak zmienia się wartość zmiennej ODLEGŁOŚĆ gdy zbliżasz rękę do czujnika. Gdy nic nie znajduje się w zasięgu czujnika wartość zmiennej powinna wynosić od 0 do ok 100, gdy zbliżysz rękę na ok. 25cm wartość zmiennej ODLEGŁOŚĆ powinna wynosić ok. 120-160, gdy zbliżysz na ok 5cm powinna wzrosnąć do ok 400-600.

ŚLEDZENIE

Możemy przystąpić do programowania ruchu. Na początku zaprogramujmy prosty mechanizm śledzenia.
Jego algorytm będzie następujący:
1. Kiedy czujnik nic nie wykrywa (ODLEGŁOŚĆ mniejsza od 100) robot stoi w miejscu
2. Gdy coś pojawia się w zasięgu wzroku czujnika (ODLEGŁOŚĆ większa od 100 i mniejsza od 300) robot stara się do tego obiektu zbliżyć (jedzie do przodu).
3. Gdy robot zbliży się do przeszkody odpowiednio blisko (ODLEGŁOŚĆ > 300) robot staje w miejscu.

W Snapie nasz program wyglądać będzie następująco:
snap_sharp_sledzenie

Zwróć uwagę na środkowy krok, gdy robot powinien iść do przodu. Aby obydwa koła obracały się do przodu, silniki muszą kręcić się W PRZECIWNYCH KIERUNKACH ponieważ w konstrukcji ustawione są w lustrzanym odbiciu, dlatego silnik podłączony do pinu 9 ustawiony jest na obrót w kierunku przeciwnym do ruchu wskazówek zegara (Counter-clockwise) a silnik podłączony do pinu numer 10 obraca się w kierunku zgodnym z ruchem wskazówek zegara (Clockwise). Jeśli w Twoim wypadku takie ustawienie powoduje obracanie się kół do tyłu poprostu odwróć kierunki obrotu silników.

OMIJANIE PRZESZKODY

Algorytm prostego omijania przeszkód jest podobny do przedstawionego powyżej. Można go opisać następująco:

1. Jeśli nic nie znajduje się w polu widzenia czujnika (ODLEGŁOŚĆ < 150) jedź do przodu. 2. Kiedy zauważysz przeszkodę (150 < ODLEGŁOŚĆ < 300) skręcaj w lewo. 3. Jeśli przeszkoda jest bardzo blisko (ODLEGŁOŚĆ > 300) cofaj się.

Snap - omijanie przeszkody

Podobne wpisy