Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Tento projekt umožnila průmyslová škola Otto a Athény.
Chcete -li začít, musíte si soupravu nejprve zakoupit na adrese:
Poté postupujte podle pokynů na adrese:
Krok 1: Krok první: Sestavte robota podle pokynů
wikifactory.com/+OttoDIY/otto-diy
Na této webové stránce naleznete montážní pokyny a kód pro svého robota Otto.
Jak vidíte, smíchal jsem a sladil různé části a barvy a místo doporučených 4 baterií AA jsem použil k napájení přenosný nabíjecí blok.
Můj reproduktor je namontován na přední straně pro snadné slyšení a na pravé straně je pro ozdobu připevněn meč.
Krok 2: Krok dva: Plug and Code
Jakmile je váš robot sestaven, načtěte Arduino IDE do počítače a zapojte robota.
V tomto okamžiku byste měli stáhnout soubory Otto. Exportujte je přímo do složky knihoven Arduino.
To vám umožní použít kód, který vám dal Otto.
Krok 3: Krok třetí: Dokončete kódování
Jakmile jsou vaše knihovny extrahovány, budete muset přejít do Arduino IDE a ujistit se, že vaše zavaděče jsou aktuální.
Nastavte svou desku na Arduino Nano, váš procesor na ATmega328P (Old Bootloader) a COM na libovolný port, do kterého jste zapojili svého robota.
Jakmile je tento krok hotov a váš kód je připraven, stiskněte tlačítko pro odeslání v levém horním rohu programu a nahrajte kód do svého robota.
Krok 4: Krok čtyři: Sledujte
Sledujte nemocné pohyby svého robota a dopingový zpěv.
Podle toho, jaký kód jste použili, můžete svého robota přimět zpívat, tančit nebo se vyhýbat překážkám.
Tento projekt byl napsán s kódem vyhnout se:
// ------------------------------------------------ ---------------------------------------------------------- ---------------------------------------------------------- ----------------- // Otto_avoid ukázkový náčrt // -------------------------- ---------------------------------------------------------- ---------------------------------------------------------- -------------------------------------- //-Otto DIY PLUS APP Firmware verze 9 (V9) //-Otto DIY investuje čas a prostředky poskytováním otevřeného zdrojového kódu a hardwaru, podpořte prosím nákupem sad od (https://www.ottodiy.com) // ------------ ---------------------------------------------------------- ---- když je vaše aplikace distribuována. Viz https://www.gnu.org/copyleft/gpl.html // -------------------------------- ---------------------------------------------------------- ---------------------------------------------------------- --------------------------------- #include //-Otto Library verze 9 Otto9 Otto; // Toto je Otto!
//---------------------------------------------------------
//-První krok: Konfigurujte piny, kde jsou připojena serva /* --------------- | O O | | --------------- | YR 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PINY //////////////////////////////////////////////////////////// //////////////////////////////////////definovat PIN_YL 2 // servo [0] levá noha #definovat PIN_YR 3 // servo [1] pravá noha #definovat PIN_RL 4 // servo [2] levá noha #definovat PIN_RR 5 // servo [3] pravá noha // ULTRASONICKÉ PINY //////////////// ////////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // PIN TRIGGER (8) #define PIN_Echo 9 // ECHO pin (9) // BUZZER PIN ///////////////// ////////////////////////////////////////////////////////// ///////////////define PIN_Buzzer 13 // BUZZER pin (13) // SERVO ASSEMBLY PIN ///////////////////////// ////////////////////////////////////////////////////// // pro pomoc při sestavování Ottových nohou a nohou - drátové propojení mezi pinem 7 a GND #define PIN_ASSEMBLY 7 // MONTÁŽ pin (7) LOW = montáž HIGH = normální provoz ///////////////// ////////////////////////////////////////////////////////// //-Globální proměnné -------------------------------------------/ ////////////////////////////////////////////////////////// //////////////////// int vzdálenost; // proměnná pro uložení vzdálenosti přečtené z modulu ultrazvukového dálkoměru bool překážkaDetected = false; // logický stav pro detekovaný objekt je ve vzdálenosti, kterou jsme nastavili ////////////////////////////////////////// /////////////////////////////// //-- Založit -------------- ---------------------------------------- // //////// ////////////////////////////////////////////////////////// /////////// neplatné nastavení () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Nastavte servo piny a ultrazvukové piny a pin pin režimu Buzzer (PIN_ASSEMBLY, INPUT_PULLUP); // - Snadná montáž kolíku - NÍZKÝ je režim montáže // Otto probuď se! Otto.sing (S_connection); // Otto vydává zvuk Otto.home (); // Otto se přesune do zpoždění připravené polohy (500); // počkejte 500 milisekund, aby se Otto mohl zastavit // pokud je Pin 7 NÍZKÝ, pak umístěte serva OTTO do domácího režimu, aby byla umožněna snadná montáž, // až dokončíte montáž Otto, odstraňte propojení mezi pinem 7 a GND, zatímco (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Otto se přesouvá do připravené polohy Otto.sing (S_happy_short); // zpívejte každých 5 sekund, abychom věděli, že OTTO stále pracuje se zpožděním (5 000); // počkejte 5 sekund}
}
////////////////////////////////////////////////////////// ////////////////// // // Principal Loop --------------------------- ------------------ // //////////////////////////////////// /////////////////////////////////////////// prázdná smyčka () {if (překážka Zjištěna) {// pokud tam je předmět blíže než 15 cm, pak uděláme následující Otto.sing (S_surprise); // zvuk překvapení Otto.jump (5, 500); // Otto skáče Otto.sing (S_cuddly); // zvuk a // Otto udělá tři kroky zpět pro (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // opakujte třikrát zpoždění příkazu chůze zpět (500); // malé zpoždění 1/2 sekundy, aby se Otto mohl usadit // Otto odbočí doleva o 3 kroky pro (int i = 0; i <3; i ++) {// opakujte třikrát Otto.turn (1, 1000, 1); // zpoždění příkazu chůze vlevo (500); // malé zpoždění 1/2 sekundy, aby se Otto mohl usadit}} else {// když nic vpředu, pak kráčejte vpřed Otto.walk (1, 1000, 1); // Otto chodí rovně překážkaDetector (); // volání funkce pro kontrolu ultrazvukového dálkoměru na objekt blíže než 15 cm}} ///////////////////////////////////// ////////////////////////////////////////// // Funkce --------- ----------------------------------------- // //////// ////////////////////////////////////////////////////////// //////////
/- Funkce pro čtení snímače vzdálenosti a pro aktualizaci překážky Zjištěná proměnná
void překážkaDetektor () {int vzdálenost = Otto.getDistance (); // získejte vzdálenost z ultrazvukového dálkoměru if (vzdálenost <15) překážkaDetected = true; // zkontrolujte, zda je tato vzdálenost menší než 15 cm, true pokud je to jiné překážkaDetected = false; // false, pokud není}