Sisukord:

Otto DIY klassi finaal: 4 sammu
Otto DIY klassi finaal: 4 sammu

Video: Otto DIY klassi finaal: 4 sammu

Video: Otto DIY klassi finaal: 4 sammu
Video: Термопара Устройство Неисправности Лайфхаки по ремонту 2024, November
Anonim
Otto DIY klassi finaal
Otto DIY klassi finaal

Selle projekti teostasid Otto ja Ateena tehnikakõrgkool.

Alustamiseks peate esmalt komplekti ostma:

Seejärel järgige juhiseid:

Samm: esimene samm: koguge robot juhiste järgi kokku

Esimene samm: koguge robot juhiste järgi kokku
Esimene samm: koguge robot juhiste järgi kokku
Esimene samm: koguge robot juhiste järgi kokku
Esimene samm: koguge robot juhiste järgi kokku

wikifactory.com/+OttoDIY/otto-diy

Sellel veebisaidil leiate Otto roboti kokkupaneku juhised ja koodi.

Nagu näete, segasin ja sobitasin kokku erinevad osad ja värvid ning kasutasin soovitatud 4 AA patarei asemel toiteallikaks kaasaskantavat laadimisplokki.

Minu kõlar on kuulde hõlbustamiseks paigaldatud esiküljele ja kaunistuseks on paremal küljel kinnitatud mõõk.

2. samm: teine samm: pistik ja kood

Teine samm: ühendage ja kood
Teine samm: ühendage ja kood

Pärast roboti kokkupanekut laadige oma arvutisse Arduino IDE ja ühendage robot.

Sel hetkel peaksite Otto -failid alla laadima. Eksportige need otse oma Arduino raamatukogude kausta.

See võimaldab teil kasutada Otto antud koodi.

3. samm: kolmas samm: lõpetage kodeerimine

Kolmas samm: lõpetage kodeerimine
Kolmas samm: lõpetage kodeerimine

Kui teie teegid on välja võetud, peate minema Arduino IDE -sse ja veenduma, et teie alglaadurid on ajakohased.

Seadistage oma plaat Arduino Nano, protsessoriks ATmega328P (vana alglaadur) ja oma COM mis tahes porti, kuhu te oma roboti ühendasite.

Kui see samm on tehtud ja teie kood on valmis, vajutage koodi üleslaadimiseks oma robotile programmi vasakus ülanurgas üleslaadimisnuppu.

Samm 4: Neljas samm: vaadake

Vaadake oma roboti haigeid liigutusi ja jobu lauluhäält.

Sõltuvalt kasutatavast koodist saate panna oma roboti laulma, tantsima või takistusi vältima.

See projekt kirjutati vältimiskoodiga:

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // Otto_avoid näidisvisand // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-Otto DIY PLUS APP püsivara versioon 9 (V9) //-Otto DIY investeerib aega ja ressursse avatud lähtekoodi ja riistvara pakkumiseks, palun toetage, ostes komplekte saidilt (https://www.ottodiy.com) // ------------ -------------------------------------------------- --- //-Kui soovite seda tarkvara kasutada avatud lähtekoodiga litsentsimise alusel, peate kogu oma lähtekoodi kogukonda panustama ja kogu ülaltoodud tekst tuleb lisada mis tahes ümberjaotamisse //-vastavalt GPL-i versioonile 2 kui teie rakendust levitatakse. Vt https://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------- #Include //-Otto raamatukogu versioon 9 Otto9 Otto; // See on Otto!

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

//-Esimene samm: seadistage tihvtid, kuhu servod on kinnitatud /* --------------- | O O | | --------------- | AAS 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PIN -koodid ////////////////////////////////////////////////////////// ///////////////////////////////////////////////// #/definiseeri PIN_YL 2 // servo [0] vasak jalg #defineeri PIN_YR 3 // servo [1] parem jalg #define PIN_RL 4 // servo [2] vasak jalg #define PIN_RR 5 // servo [3] parem jalg // ULTRAASONILISED PIN -koodid ////////////// ////////////////////////////////////////////////////////////- ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #define PIN_Echo 9 // ECHO pin (9) // BUZZER PIN ////////////// ////////////////////////////////////////////////////////////- ///////////// #define PIN_Buzzer 13 // BUZZER pin (13) // SERVO ASSEMBLY PIN ///////////////////// ////////////////////////////////////////////- Otto jalgade ja jalgade kokkupanemise hõlbustamiseks - traatühendus tihvti 7 ja GND vahel #define PIN_ASSEMBLY 7 // KOKKUVÕTMISTAPT (7) LOW = kokkupanek KÕRGE = normaalne töö //////////////// ////////////////////////////////////////////////////////////- //-Globaalsed muutujad -------------------------------------------/ ///////////////////////////////////////////////////////////- /////////////////// int kaugus; // muutuja ultraheli kaugusmoodulist loetud kauguse salvestamiseks bool takistuseksDetected = false; // loogiline olek objekti tuvastamiseks meie määratud kaugusele //////////////////////////////////// /////////////////////////////// //-Seadistamine -------------- ---------------------------------------- // //////// ////////////////////////////////////////////////////////////- ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Seadistage servopoldid ja ultraheli tihvtid ning Buzzer pin pinMode (PIN_ASSEMBLY, INPUT_PULLUP); // - Lihtne kokkupanekunõel - LOW on kokkupanekurežiim // Otto ärka üles! Otto.sing (S_connection); // Otto teeb häält Otto.home (); // Otto liigub oma valmispositsiooni viivitusse (500); // oodake 500 millisekundit, kuni Otto peatub // kui tihvt 7 on LOW, siis asetage OTTO servod kodurežiimi, et hõlbustada kokkupanekut, // kui olete Otto kokkupaneku lõpetanud, eemaldage seos tihvti 7 ja GND vahel (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Otto liigub oma valmispositsiooni Otto.sing (S_happy_short); // laula iga 5 sekundi tagant, nii et me teame, et OTTO töötab endiselt viivitusega (5000); // oodake 5 sekundit}

}

////////////////////////////////////////////////////////////- //////////////////-Põhisilm --------------------------- ------------------ // ////////////////////////////// ////////////////////////////////////////////////////////////////////// void loop () {if (takistust avastatud) {// kui seal on objekt lähemal kui 15cm siis teeme järgmist Otto.sing (S_surprise); // kõla üllatusena Otto.jump (5, 500); // Otto hüppab Otto.sing (S_cuddly); // heli a // Otto astub kolm sammu tagasi (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // korrake kolm korda tagasikäigu käsu viivitust (500); // väike 1/2 sekundiline viivitus, et Otto saaks settida // Otto pöörab vasakule 3 sammu (int i = 0; i <3; i ++) {// korda kolm korda Otto.turn (1, 1000, 1); // käigu vasakule käskluse viivitus (500); // väike 1/2 sekundiline viivitus, et Otto saaks settida}} else {// kui midagi ees pole, kõndige edasi Otto.walk (1, 1000, 1); // Otto kõnnib otse takistustDetektor (); // helistage funktsioonile, et kontrollida ultraheli kaugusmõõtjat objekti puhul, mis on lähemal kui 15 cm}} /////////////////////////////// /////////////////////////////////////////////////////-Funktsioonid --------- ----------------------------------------- // /////// ////////////////////////////////////////////////////////////- /////////

/- Funktsioon kaugusanduri lugemiseks ja takistuse tuvastamiseks

tühine takistusDetektor () {int kaugus = Otto.getDistance (); // saada kaugus ultraheli kaugusmõõtjast, kui (kaugus <15) takistustDetected = tõsi; // kontrollige, kas see kaugus on lähemal kui 15 cm, tõsi, kui see on muu takistusDetected = false; // vale, kui see pole}

Soovitan: