Turinys:

„Otto DIY“klasės finalas: 4 žingsniai
„Otto DIY“klasės finalas: 4 žingsniai

Video: „Otto DIY“klasės finalas: 4 žingsniai

Video: „Otto DIY“klasės finalas: 4 žingsniai
Video: шляпа панама крючком/ ХИТ ЗИМЫ 2024, Liepa
Anonim
Otto pasidaryk pats klasės finalas
Otto pasidaryk pats klasės finalas

Šį projektą įgyvendino Otto ir Atėnų technikos kolegija.

Norėdami pradėti, pirmiausia turite įsigyti rinkinį iš:

Tada atlikite šiuos veiksmus:

1 žingsnis: Pirmas žingsnis: Surinkite robotą pagal instrukcijas

Pirmas žingsnis: Surinkite robotą pagal instrukcijas
Pirmas žingsnis: Surinkite robotą pagal instrukcijas
Pirmas žingsnis: Surinkite robotą pagal instrukcijas
Pirmas žingsnis: Surinkite robotą pagal instrukcijas

wikifactory.com/+OttoDIY/otto-diy

Šioje svetainėje rasite „Otto“roboto surinkimo instrukcijas ir kodą.

Kaip matote, aš sumaišiau ir suderinau skirtingas dalis ir spalvas, o vietoj rekomenduojamų 4 AA baterijų naudojau nešiojamą įkrovimo bloką.

Mano garsiakalbis yra sumontuotas priekyje, kad būtų lengviau girdėti, o dešinėje pusėje pritvirtintas kardas dekoravimui.

2 veiksmas: antras žingsnis: kištukas ir kodas

Antras žingsnis: kištukas ir kodas
Antras žingsnis: kištukas ir kodas

Surinkę robotą, įkelkite „Arduino IDE“į savo kompiuterį ir prijunkite robotą.

Šiuo metu turėtumėte sumažinti „Otto“failų versiją. Eksportuokite juos tiesiai į savo „Arduino“bibliotekų aplanką.

Tai leis jums naudoti kodą, kurį jums davė Otto.

3 žingsnis: trečias žingsnis: užbaikite kodavimą

Trečias žingsnis: Užbaikite kodavimą
Trečias žingsnis: Užbaikite kodavimą

Kai jūsų bibliotekos bus išgautos, turėsite eiti į „Arduino IDE“ir įsitikinti, kad jūsų įkrovos tvarkyklės yra atnaujintos.

Nustatykite plokštę į „Arduino Nano“, procesorių - į „ATmega328P“(seną įkrovos įkroviklį), o COM - į bet kurį prievadą, prie kurio prijungėte robotą.

Kai šis veiksmas bus atliktas ir jūsų kodas paruoštas, paspauskite įkėlimo mygtuką viršutiniame kairiajame programos kampe ir įkelkite kodą į savo robotą.

4 žingsnis: Ketvirtas žingsnis: žiūrėkite

Stebėkite sergančius roboto judesius ir negeriantį dainuojantį balsą.

Priklausomai nuo to, kokį kodą naudojote, galite priversti robotą dainuoti, šokti ar išvengti kliūčių.

Šis projektas buvo parašytas vengiant kodo:

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // Otto_avoid mėginio eskizas // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-„Otto DIY PLUS APP“programinės įrangos versija 9 (V9) //-„Otto DIY“investuoja laiką ir išteklius teikdamas atvirojo kodo ir techninės įrangos, palaikykite pirkdami rinkinius iš (https://www.ottodiy.com) // ------------ -------------------------------------------------- --- //-Jei norite naudoti šią programinę įrangą pagal atvirojo kodo licencijavimą, turite pateikti visą savo šaltinio kodą bendruomenei, o visas aukščiau pateiktas tekstas turi būti įtrauktas į bet kokį perskirstymą //-pagal GPL 2 versiją kai jūsų paraiška platinama. Žr. Http://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------- #include //-Otto Library 9 versija Otto9 Otto; // Tai Otto!

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

//-Pirmas žingsnis: sukonfigūruokite kaiščius, prie kurių pritvirtinti servai /* --------------- | O O | | --------------- | YR 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PIN kodai ///////////////////////////////////////////////////////// ////////////////////////////////////////////////?hl=lt #define PIN_YL 2 // servo [0] kairė koja #define PIN_YR 3 // servo [1] dešinė koja #apibrėžti PIN_RL 4 // servo [2] kairė koja #apibrėžti PIN_RR 5 // servo [3] dešinė koja // ULTRAZONINIAI PIN kodai ////////////// //////////////////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER PIN (8) #define PIN_Echo 9 // ECHO PIN (9) // BUZZER PIN ////////////// ///////////////////////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER kaištis (13) // SERVO ASSEMBLY PIN //////////////////// ///////////////////////////////////////////////////////////////////// padėti surinkti Otto pėdas ir kojas - vielos jungtis tarp 7 kaiščio ir GND #define PIN_ASSEMBLY 7 // MONTAVIMO kaištis (7) LOW = surinkimas AUKŠTAS = normalus veikimas //////////////// //////////////////////////////////////////////////////////////////// //-Visuotiniai kintamieji -------------------------------------------/ /////////////////////////////////////////////////////////////////// /////////////////// int atstumas; // kintamasis saugoti atstumą, nuskaitytą iš ultragarso diapazono ieškiklio modulio bool kliūtisDetected = false; // loginė būsena, kai aptiktas objektas yra mūsų nustatytame atstume //////////////////////////////////// /////////////////////////////// //-Sąranka -------------- ---------------------------------------- // //////// //////////////////////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Nustatykite servo kaiščius ir ultragarsinius kaiščius bei „Buzzer pin pinMode“(PIN_ASSEMBLY, INPUT_PULLUP); // - Lengvas surinkimo kaištis - LOW yra surinkimo režimas // Otto pabusti! Otto.sing (S_connection); // Otto skleidžia garsą Otto.home (); // Otto pereina į parengtos padėties delsa (500); // palaukite 500 milisekundžių, kad Otto galėtų sustoti // jei 7 smeigtukas yra ŽEMAS, padėkite OTTO servo į namų režimą, kad būtų lengviau surinkti, // kai baigsite surinkti Otto, pašalinkite ryšį tarp 7 kaiščio ir GND, kol (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Otto pereina į parengtą padėtį Otto.sing (S_happy_short); // dainuokite kas 5 sekundes, kad žinotume, kad OTTO vis dar dirba atidėliojant (5000); // palaukite 5 sekundes}

}

//////////////////////////////////////////////////////////////////// ///////////////// //-Pagrindinė kilpa --------------------------- ------------------ // ////////////////////////////// ////////////////////////// yra objektas arčiau nei 15 cm, tada mes atliekame šiuos Otto.sing (S_surprise); // skamba staigmena Otto.jump (5, 500); // Otto šokinėja Otto.dainuoti (S_cuddly); // garsas a // Otto žengia tris žingsnius atgal (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // pakartokite tris kartus grįžimo komandos atidėjimo laiką (500); // nedidelė 1/2 sekundės delsa, kad Otto galėtų nusistovėti // Otto pasuka į kairę 3 žingsnius (int i = 0; i <3; i ++) {// pakartokite tris kartus Otto.turn (1, 1000, 1); // vaikščiojimo kairėje komandos uždelsimas (500); // nedidelis 1/2 sekundės uždelsimas, kad Otto galėtų įsikurti}}} kitas {// jei nieko nėra priekyje, eik į priekį Otto.walk (1, 1000, 1); // Otto vaikščioti tiesiai kliūtisDetector (); // paskambinkite funkcijai, kad patikrintumėte ultragarso diapazono ieškiklį arčiau nei 15 cm esančio objekto}} /////////////////////////////// //////////////////////////////////////////////////- ----------------------------------------- // /////// //////////////////////////////////////////////////////////////////// /////////

/- Funkcija, skirta skaityti atstumo jutiklį ir aktualizuoti kliūtį

tuštuma kliūtisDetektorius () {int atstumas = Otto.getDistance (); // gauti atstumą nuo ultragarsinio diapazono ieškiklio, jei (atstumas <15) kliūtisDetected = true; // patikrinkite, ar šis atstumas yra arčiau nei 15 cm, tiesa, jei tai kita kliūtisDetected = false; // false, jei ne}

Rekomenduojamas: