Inhoudsopgave:

Otto DIY-klasfinale: 4 stappen
Otto DIY-klasfinale: 4 stappen

Video: Otto DIY-klasfinale: 4 stappen

Video: Otto DIY-klasfinale: 4 stappen
Video: OttO - Приглашение на Кубок МЦ 2024, November
Anonim
Otto DIY-klas finale
Otto DIY-klas finale

Dit project is mede mogelijk gemaakt door Otto en Athens Technical College.

Om te beginnen, moet u eerst de kit kopen op:

Volg dan de stappen op:

Stap 1: Stap één: monteer de robot uit de instructies

Stap één: monteer de robot uit de instructies
Stap één: monteer de robot uit de instructies
Stap één: monteer de robot uit de instructies
Stap één: monteer de robot uit de instructies

wikifactory.com/+OttoDIY/otto-diy

Op deze website vindt u montage-instructies en code voor uw Otto robot.

Zoals je kunt zien, heb ik verschillende onderdelen en kleuren gemengd en op elkaar afgestemd en een draagbaar oplaadblok gebruikt voor stroom in plaats van de aanbevolen 4 AA-batterijen.

Mijn luidspreker is aan de voorkant gemonteerd om goed te kunnen horen en aan de rechterkant is een zwaard bevestigd ter decoratie.

Stap 2: Stap twee: aansluiten en coderen

Stap twee: aansluiten en coderen
Stap twee: aansluiten en coderen

Nadat uw robot is geassembleerd, laadt u Arduino IDE op uw computer en sluit u uw robot aan.

Op dit punt zou u de Otto-bestanden moeten downloaden. Exporteer ze rechtstreeks naar uw Arduino-bibliothekenmap.

Hiermee kun je de code gebruiken die Otto je heeft gegeven.

Stap 3: Stap drie: coderen voltooien

Stap drie: voltooi het coderen
Stap drie: voltooi het coderen

Zodra uw bibliotheken zijn uitgepakt, moet u naar Arduino IDE gaan en ervoor zorgen dat uw bootloaders up-to-date zijn.

Stel je bord in op Arduino Nano, je processor op ATmega328P (Old Bootloader) en je COM op de poort waarop je je robot hebt aangesloten.

Zodra deze stap is voltooid en uw code gereed is, drukt u op de uploadknop in de linkerbovenhoek van het programma om de code naar uw robot te uploaden.

Stap 4: Stap vier: kijken

Bekijk de zieke bewegingen van je robot en de dope zangstem.

Afhankelijk van de code die je hebt gebruikt, kun je je robot laten zingen, dansen of obstakels vermijden.

Dit project is geschreven met de code vermijden:

//------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -----------------// Otto_avoid voorbeeldschets //-------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-- Otto DIY PLUS APP Firmware versie 9 (V9) //-- Otto DIY investeert tijd en middelen in het leveren van open source code en hardware. Steun alstublieft door kits te kopen van (https://www.ottodiy.com) //------------ -------------------------------------------------- --- //-- Als u deze software onder Open Source-licentieverlening wilt gebruiken, moet u al uw broncode bijdragen aan de gemeenschap en alle bovenstaande tekst moet worden opgenomen in elke herdistributie //-- in overeenstemming met de GPL-versie 2 wanneer uw aanvraag wordt verspreid. Zie https://www.gnu.org/copyleft/gpl.html //-------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include //-- Otto Bibliotheek versie 9 Otto9 Otto; //Dit is Otto!

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

//-- Eerste stap: Configureer de pinnen waar de servo's aan zijn bevestigd /* --------------- | O O | |---------------| JR 3==> | | ----- ------ <== RL 4 |----- ------| */ // SERVO-pincodes //////////////////////////////////////////// ////////////////////////////////// #define PIN_YL 2 //servo[0] linkerbeen #define PIN_YR 3 //servo[1] rechterbeen #define PIN_RL 4 //servo[2] linkervoet #define PIN_RR 5 //servo[3] rechtervoet // ULTRASONE PIN's ////////////// ////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 //TRIGGER-pen (8) #define PIN_Echo 9 //ECHO-pen (9) // ZOEMER-PIN /////////////// ////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER pin (13) // SERVO MONTAGE PIN ///////////////////// ////////////////////////////////////////////////// om Otto's voeten en benen te helpen monteren - draadverbinding tussen pin 7 en GND #define PIN_ASSEMBLY 7 //ASSEMBLY pin (7) LAAG = montage HOOG = normale werking ///////////////// ////////////////////////////////////////////////// //-- Globale variabelen -------------------------------------------/ / ///////////////////////////////////////////////// /////////////////// int afstand; // variabele om de afstand op te slaan die is gelezen van de ultrasone afstandsmetermodule bool obstakelDetected = false; // logische status voor wanneer het gedetecteerde object zich op de door ons ingestelde afstand bevindt //////////////////////////////////// /////////////////////////////// //-- Opstelling -------------- ----------------------------------------// //////// ////////////////////////////////////////////////// ///////// void setup() {Otto.init(PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Stel de servo-pinnen en ultrasone pinnen en Buzzer pin pinMode (PIN_ASSEMBLY, INPUT_PULLUP) in; // - Eenvoudige montagepen - LAAG is montagemodus //Otto wakker worden! Otto.sing(S_connection);// Otto maakt een geluid Otto.home(); // Otto gaat naar zijn gereedpositie vertraging (500); // wacht 500 milliseconden om Otto te laten stoppen // als pin 7 LAAG is, plaats dan de servo's van OTTO in de thuismodus om eenvoudige montage mogelijk te maken, // als je klaar bent met het monteren van Otto, verwijder dan de link tussen pin 7 en GND terwijl (digitalRead (PIN_ASSEMBLY) == LAAG) { Otto.home();// Otto gaat naar zijn gereedstaande positie Otto.sing(S_happy_short); // zing elke 5 seconden zodat we weten dat OTTO nog steeds werkt, vertraging (5000);// wacht 5 seconden}

}

////////////////////////////////////////////////// ///////////////// //-- Hoofdlus --------------------------- ------------------// ////////////////////////////// ///////////////////////////////////// void loop() { if (obstakel gedetecteerd) { // if is er een object dichterbij dan 15 cm, dan doen we het volgende Otto.sing(S_surprise); // klinkt een verrassing Otto.jump (5, 500); // Otto springt Otto.sing (S_cuddly); // sound a //Otto doet drie stappen terug voor (int i = 0; i < 3; i++) Otto.walk(1, 1300, -1); // herhaal drie keer de terugloopopdrachtvertraging (500);// kleine vertraging van 1/2 seconde zodat Otto kan settelen // Otto draait 3 stappen naar links voor (int i = 0; i < 3; i++) { // herhaal drie keer Otto.turn(1, 1000, 1); // het loop-links commando vertraging (500);// kleine 1/2 seconde vertraging om Otto te laten settelen } } else { // als er niets aan de voorkant is, loop dan vooruit Otto.walk (1, 1000, 1); //Otto loopt recht obstakelDetector(); // roep de functie aan om de ultrasone afstandsmeter te controleren op een object dichterbij dan 15 cm } } /////////////////////////////// //////////////////////////////////// //-- Functies --------- -----------------------------------------// /////// ////////////////////////////////////////////////// /////////

/-- Functie om afstandssensor te lezen en om obstakel gedetecteerde variabele te actualiseren

void obstakelDetector() { int distance = Otto.getDistance(); // haal de afstand van de ultrasone afstandsmeter op als (afstand < 15) obstakel gedetecteerd = waar; // controleer of deze afstand kleiner is dan 15 cm, waar als het anders is obstakel gedetecteerd = onwaar;// onwaar als dat niet het geval is }

Aanbevolen: