Spisu treści:

Wydrukowany w 3D Arduino Sumo Bot: 6 kroków
Wydrukowany w 3D Arduino Sumo Bot: 6 kroków

Wideo: Wydrukowany w 3D Arduino Sumo Bot: 6 kroków

Wideo: Wydrukowany w 3D Arduino Sumo Bot: 6 kroków
Wideo: Druk 3d: Ręka robota sterowana przez arduino - InMoov 2024, Lipiec
Anonim
Arduino Druk 3D Sumo Bot
Arduino Druk 3D Sumo Bot

Więc miałem kilka części leżących wokół mojego domu. Za kilka miesięcy chciałem wziąć udział w zawodach sumo, ale nie miałem bota. Zamiast kupować bota lub korzystać z istniejącego projektu, który wymagałby ode mnie zakupu rzeczy do projektu, poszedłem dalej i stworzyłem własnego bota według własnego projektu z własnych części, które miałem. Do tego samouczka potrzebne będą następujące elementy.

  1. Jedna z każdej części wydrukowanej w 3D, którą można znaleźć tutaj.
  2. Bateria 7,4 V lub dwie baterie 18650.
  3. W razie potrzeby uchwyt baterii.
  4. Arduino jedno.
  5. Tarcza Arduino uno breakout.
  6. Kabel USB do Arduino.
  7. Zasilacz stołowy (opcjonalnie).
  8. Ładowarka (opcjonalnie).
  9. Przewody i mnóstwo.
  10. Standardowe metalowe serwomechanizmy o ciągłym obrocie.
  11. Dwa czujniki przełącznika podczerwieni.
  12. Koła serwo 7cm.
  13. Włącznik i wyłącznik.

Ten kod jest ciągle zmieniany. Kod tego robota można znaleźć tutaj. To jest najbardziej aktualna wersja tego kodu projektu. Cieszyć się!

Krok 1: Montaż

Montaż
Montaż
Montaż
Montaż
Montaż
Montaż
  1. Robot wykorzystuje dwa metalowe serwa zębate. Będziesz chciał je wkręcić za pomocą śrub i nakrętek m3 z serwomechanizmami wewnątrz obudowy skierowanymi na zewnątrz w obu kierunkach. Jest tylko jeden sposób, w jaki serwa mogą wejść do robota, więc będzie to całkiem proste.
  2. Zamontuj koła serwo.
  3. Zamocuj czujniki podczerwieni tak, aby były skierowane w dół z przodu robota. Mocuje się je dwoma śrubami przez otwory M3 z przodu robota. Na spodzie robota znajdują się szczeliny, przez które mogą zajrzeć. Chcesz być ostrożny, czujniki nie podnoszą obudowy i widzą całą drogę przez szczeliny. Więcej na ten temat dowiesz się później, gdy będziemy testować robota, aby sprawdzić, czy twoja przydatna praca zadziałała.
  4. Umieść czujnik HC-SR04 w dwóch otworach skierowanych na zewnątrz robota od wewnątrz. Otwory znajdują się z przodu obudowy.
  5. Umieść Arduino Uno w obudowie z osłoną.
  6. Połącz wszystko razem zgodnie z poniższą listą punktową.

    1. Zasilanie z wybranego źródła zasilania do wyłącznika zasilania. Do przełącznika podłączysz przewód dodatni lub ujemny. Jeśli wybierzesz przewód ujemny, będzie to twoja ziemia, a jeśli wybierzesz przewód dodatni, to będzie twoim źródłem zasilania. Drugi przewód, w zależności od tego, czy jest dodatni, czy ujemny, będzie twoim dodatnim lub ujemnym.
    2. Podłącz dodatni przewód do vin na Arduino i dodatni przewód na serwomechanizmach.
    3. Podłącz uziemienie do uziemienia na serwach i Arduino.
    4. Podłącz napięcie 5 V z regulatora 5 V na Arduino do wszystkich dodatnich zacisków na każdym z czujników.
    5. Podłącz czujniki do masy w Arduino.
    6. Na koniec podłącz pin 7 na Arduino do prawego czujnika podczerwieni, pin 6 do lewego czujnika podczerwieni, pin 8 do jednego z serw, pin 9 do ostatniego serwomechanizmu.

Ostrzeżenie: Nieprawidłowe okablowanie robota może spowodować dymienie robota i zniszczenie elektroniki

Krok 2: Pierwsze oznaki życia

Ostrzeżenie: Nie podłączaj robota do komputera, gdy jest zasilany lub gdy serwa są podłączone. Niezastosowanie się do tego może doprowadzić do uszkodzenia komputera

tryb int = 3;

Ten wiersz kodu powyżej jest kluczową zmienną dla robota. Wykonuje następujące czynności, jeśli jest równa każdej liczbie wymienionej poniżej.

  1. Przy wartości zero robot porusza się po określonym wzorze.
  2. Jeśli tryb jest równy jeden, robot drukuje na komputerze dane wyjściowe każdego z odczytów czujników.
  3. Gdy jest równy dwa, robot omija krawędzie i przeszkody, jeśli się na nie natknie.
  4. Robot walczy z innymi botami.

Są to różne tryby robota używane do testowania i wspomagania postępu robota. Będziesz musiał zmienić tę „3” na zero w pierwszym kroku tego samouczka.

Teraz prześlij kod do robota. Zobaczysz, jak porusza się do przodu, do tyłu, w lewo i w prawo w tej kolejności.

Krok 3: Widzi

tryb int = 0;

Zmień następującą zmienną na „1”, jeśli poprzedni krok został zakończony. Teraz po podłączeniu do monitora szeregowego w Arduino wydrukuje to, co widzi twój robot. „0” Oznacza dla czujników krawędziowych, że coś widzi. "1" Oznacza, że nie widzi żadnych krawędzi. Jeśli zauważysz, że logika jest odwrócona, zanotuj to w przyszłych krokach.

Nie martw się o czujnik ping. I tak to jeszcze nie działa. Ten robot jest intensywnie rozwijany.

Krok 4: Może uniknąć krawędzi stołu

nieważne Unikaj (){

int sensorStateLeft = digitalRead(leftSensor);

int SensorStateRight = digitalRead(rightSensor);

opóźnienie(50);

if (Ping.ping_cm() >= 15 && sensorStateLeft == 0 && sensorStateRight == 0){

left.write(0); prawo.zapis(90);

}

if(Ping.ping_cm() <= 15 && Ping.ping_cm() != 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write(90);

prawo.zapis(0); }

}

Powyższy kod jest kodem przywołanym, gdy tryb równa się dwa. Jeśli poprzedni krok został zakończony, zmień tryb na „2”.

Jeśli czujniki są odwrócone, możesz odwrócić wartości „sensorStateLeft” i „sensorStateRight” w każdym z poleceń „if” tak, aby były równe innej liczbie niż podano, czyli „1” lub „0”.

Teraz robot może ominąć krawędź areny sumo. Jest prawie gotowy do walki. Przetestuj go, aby sprawdzić, czy działa, czy nie.

Krok 5: BITWA

Twoje sumo jest teraz gotowe do walki z kilkoma zmianami w kodzie. Zmień tryb na „3” i odwróć logikę w razie potrzeby w pustym „Sumo”. Teraz twój robot powinien unikać krawędzi areny, ale nie może wykrywać innych robotów. Zasadniczo unika krawędzi areny i porusza się na tyle szybko, że może zepchnąć robota z krawędzi stołu. Cieszyć się!

Krok 6: Wniosek

Twój robot jest już gotowy. Jeśli są jakieś problemy lub komentarze do tego projektu, daj mi znać. Jestem niesamowicie otwarty na opinie, ponieważ nie mam pojęcia, czy to był dobrze zrobiony samouczek, czy nie. Cieszyć się!

Zalecana: