Spisu treści:

Finał klasy Otto DIY: 4 kroki
Finał klasy Otto DIY: 4 kroki

Wideo: Finał klasy Otto DIY: 4 kroki

Wideo: Finał klasy Otto DIY: 4 kroki
Wideo: КТО ПОСЛЕДНИЙ ВЫЛЕЗЕТ ИЗ ГРОБА ! ЭКСТРЕМАЛЬНЫЙ ЧЕЛЛЕНДЖ 2024, Lipiec
Anonim
Finał klasy Otto DIY
Finał klasy Otto DIY

Ten projekt był możliwy dzięki Otto and Athens Technical College.

Aby rozpocząć, musisz najpierw zakupić zestaw z:

Następnie postępuj zgodnie z instrukcjami na:

Krok 1: Krok pierwszy: Złóż robota z instrukcji

Krok pierwszy: złóż robota z instrukcji
Krok pierwszy: złóż robota z instrukcji
Krok pierwszy: złóż robota z instrukcji
Krok pierwszy: złóż robota z instrukcji

wikifactory.com/+OttoDIY/otto-diy

Na tej stronie znajdziesz instrukcje montażu i kod dla Twojego robota Otto.

Jak widać, wymieszałem i dopasowałem różne części i kolory oraz użyłem przenośnego bloku ładującego do zasilania zamiast zalecanych 4 baterii AA.

Mój głośnik jest zamontowany z przodu dla łatwego słyszenia, a miecz jest przymocowany z prawej strony w celu dekoracji.

Krok 2: Krok drugi: Podłącz i kod

Krok drugi: podłącz i kod
Krok drugi: podłącz i kod

Po złożeniu robota załaduj Arduino IDE na komputer i podłącz robota.

W tym momencie powinieneś pobrać pliki Otto. Eksportuj je bezpośrednio do folderu bibliotek Arduino.

Umożliwi ci to użycie kodu, który przekazał ci Otto.

Krok 3: Krok trzeci: Zakończ kodowanie

Krok trzeci: Zakończ kodowanie
Krok trzeci: Zakończ kodowanie

Po wyodrębnieniu bibliotek musisz przejść do Arduino IDE i upewnić się, że twoje programy ładujące są aktualne.

Ustaw swoją płytę na Arduino Nano, procesor na ATmega328P (stary bootloader), a COM na dowolny port, do którego podłączono robota.

Po wykonaniu tego kroku i przygotowaniu kodu, naciśnij przycisk przesyłania w lewym górnym rogu programu, aby przesłać kod do robota.

Krok 4: Krok czwarty: Obejrzyj

Obserwuj chore ruchy swojego robota i śpiewający głos.

W zależności od użytego kodu możesz sprawić, by robot śpiewał, tańczył lub omijał przeszkody.

Ten projekt został napisany z kodem unikania:

//------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -----------------// Otto_avoid przykładowy szkic //-------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-- Oprogramowanie aplikacji Otto DIY PLUS w wersji 9 (V9) //-- Otto DIY inwestuje czas i zasoby, dostarczając kod i sprzęt o otwartym kodzie źródłowym, prosimy o wsparcie poprzez zakup zestawów z (https://www.ottodiy.com) //------------ -------------------------------------------------- --- //-- Jeśli chcesz używać tego oprogramowania w ramach licencji Open Source, musisz przekazać cały swój kod źródłowy do społeczności, a cały powyższy tekst musi zostać włączony do jakiejkolwiek redystrybucji //-- zgodnie z GPL w wersji 2 gdy Twoja aplikacja jest rozpowszechniana. Zobacz https://www.gnu.org/copyleft/gpl.html //-------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include //-- Wersja biblioteki Otto 9 Otto9 Otto; //To jest Otto!

//---------------------------------------------------------

//-- Pierwszy krok: skonfiguruj piny, do których podłączone są serwa /* --------------- | O O | |---------------| Rok 3==> | | ----- ------ <== RL 4 |----- ------| */ // PINY SERWO /////////////////////////////////////////// ////////////////////////////////// #define PIN_YL 2 //servo[0] lewa noga #define PIN_YR 3 //servo[1] prawa noga #define PIN_RL 4 //servo[2] lewa noga #define PIN_RR 5 //servo[3] prawa noga // PINY ULTRADŹWIĘKOWE ////////////// //////////////////////////////////////////////// ///////// #define PIN_Trigger 8 //TRIGGER pin (8) #define PIN_Echo 9 //ECHO pin (9) // BUZZER PIN /////////////// //////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 //BUZZER pin (13) // PIN MONTAŻU SERWA ///////////////////// ///////////////////////////////////////////////// aby pomóc w montażu stóp i nóg Otto - połączenie drutu pomiędzy pinem 7 a GND #define PIN_MONTAŻ 7 //MONTAŻ pin (7) NISKI = montaż WYSOKI = normalna praca ///////////////// //////////////////////////////////////////////// //-- Zmienne globalne -------------------------------------------/ //////////////////////////////////////////////// ////////////////// odległość międzymiastowa; // zmienna do przechowywania odległości odczytanej z modułu ultradźwiękowego dalmierza bool barrierDetected = false; // stan logiczny, gdy wykryty obiekt znajduje się w ustawionej przez nas odległości /////////////////////////////////// /////////////////////////////// //-- Ustawiać -------------- ----------------------------------------// //////// //////////////////////////////////////////////// ///////// void setup() { Otto.init(PIN_YL, PIN_YR, PIN_RL, PIN_RR, prawda, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); //Ustaw piny serwa i piny ultradźwiękowe oraz pin brzęczyka pinMode(PIN_ASSEMBLY, INPUT_PULLUP); // - Łatwy montaż pin - LOW to tryb montażu //Otto obudź się! Otto.sing(S_connection);// Otto wydaje dźwięk Otto.home(); // Otto przechodzi do swojej pozycji gotowości delay(500); // odczekaj 500 milisekund, aby Otto mógł się zatrzymać // jeśli Pin 7 jest NISKI, ustaw serwa OTTO w trybie domowym, aby umożliwić łatwy montaż, // po zakończeniu montażu Otto usuń połączenie między pinem 7 a GND podczas (odczyt cyfrowy (PIN_ASSEMBLY) == LOW) { Otto.home();// Otto przechodzi do pozycji gotowości Otto.sing(S_happy_short); // śpiewaj co 5 sekund, abyśmy wiedzieli, że OTTO nadal działa delay(5000);// poczekaj 5 sekund }

}

//////////////////////////////////////////////// ///////////////// //-- Pętla główna --------------------------- ------------------// ////////////////////////////// ///////////////////////////////////// void loop() { if (obstacleDetected) { // if obiekt znajduje się bliżej niż 15cm, następnie wykonujemy następujące polecenie Otto.sing(S_surprise); // zabrzmi niespodzianka Otto.jump(5, 500); // Otto skacze Otto.sing(S_cuddly); // dźwięk a //Otto robi trzy kroki wstecz dla (int i = 0; i < 3; i++) Otto.walk(1, 1300, -1); //powtórz trzykrotne opóźnienie polecenia powrotu (500);// małe opóźnienie 1/2 sekundy, aby Otto mógł się uspokoić //Otto skręca w lewo o 3 kroki dla (int i = 0; i < 3; i++) { // powtórz trzy razy Otto.turn(1, 1000, 1); // komenda marszu w lewo delay(500);// małe opóźnienie 1/2 sekundy, aby Otto mógł się osiedlić } } else { // jeśli nic z przodu, idź naprzód Otto.walk(1, 1000, 1); //Otto iść prosto przeszkodaDetector(); // wywołanie funkcji sprawdzania dalmierza ultradźwiękowego dla obiektu znajdującego się bliżej niż 15 cm } } ////////////////////////////// //////////////////////////////////// //-- Funkcje --------- -----------------------------------------// /////// //////////////////////////////////////////////// /////////

/-- Funkcja odczytu czujnika odległości i aktualizacji zmiennej wykrytej przeszkody;

void probeDetector() { int distance = Otto.getDistance(); // uzyskaj odległość od dalmierza ultradźwiękowego if (odległość < 15) barrierDetected = true; // sprawdź, czy ta odległość jest bliższa niż 15cm, true jeśli to jeszcze przeszkodaDetected = false;// false jeśli nie }

Zalecana: