Taula de continguts:

Final de la classe de bricolatge Otto: 4 passos
Final de la classe de bricolatge Otto: 4 passos

Vídeo: Final de la classe de bricolatge Otto: 4 passos

Vídeo: Final de la classe de bricolatge Otto: 4 passos
Vídeo: Балерина/Ballerina 2024, Juliol
Anonim
Final de la classe de bricolatge Otto
Final de la classe de bricolatge Otto

Aquest projecte va ser possible gràcies a Otto i Athens Technical College.

Per començar, primer heu de comprar el kit a:

A continuació, seguiu els passos a:

Primer pas: primer pas: muntar el robot a partir de les instruccions

Primer pas: muntar el robot a partir de les instruccions
Primer pas: muntar el robot a partir de les instruccions
Primer pas: muntar el robot a partir de les instruccions
Primer pas: muntar el robot a partir de les instruccions

wikifactory.com/+OttoDIY/otto-diy

En aquest lloc web trobareu instruccions de muntatge i codi per al vostre robot Otto.

Com podeu veure, vaig barrejar i combinar diferents parts i colors, i vaig utilitzar un bloc de càrrega portàtil per alimentar en lloc de les 4 bateries AA recomanades.

El meu altaveu està muntat a la part frontal per facilitar l’oïda i una espasa s’adjunta al costat dret per decorar-la.

Pas 2: segon pas: connectar i codificar

Segon pas: connecteu i codifiqueu
Segon pas: connecteu i codifiqueu

Després de muntar el robot, carregueu Arduino IDE a l'ordinador i connecteu-lo.

En aquest punt hauríeu de descartar els fitxers Otto. Exporteu-los directament a la carpeta de biblioteques Arduino.

Això us permetrà utilitzar el codi que Otto us ha proporcionat.

Pas 3: tercer pas: finalitzar la codificació

Tercer pas: finalitzeu la codificació
Tercer pas: finalitzeu la codificació

Un cop extretes les vostres biblioteques, haureu d'entrar a Arduino IDE i assegurar-vos que els carregadors d'arrencada estiguin actualitzats.

Configureu la vostra placa a Arduino Nano, el processador a ATmega328P (Old Bootloader) i el COM a qualsevol port al qual hàgiu connectat el robot.

Un cop fet aquest pas i el vostre codi a punt, premeu el botó de càrrega a l'extrem superior esquerre del programa per penjar el codi al vostre robot.

Pas 4: quart pas: vigilar

Mireu els moviments malalts del vostre robot i dopeu la veu cantant.

Depenent del codi que hàgiu fet servir, podeu fer cantar, ballar o evitar obstacles al vostre robot.

Aquest projecte s'ha escrit amb el codi d'evitar:

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // Esbós de mostra Otto_avoid // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- // - APLICACIÓ Otto DIY PLUS Firmware versió 9 (V9) // - Otto DIY inverteix temps i recursos en subministrar codi i maquinari de codi obert. Si us plau, assistiu comprant kits de (https://www.ottodiy.com) // ------------ -------------------------------------------------- --- // - Si voleu utilitzar aquest programari sota llicències de codi obert, heu d’aportar tot el vostre codi font a la comunitat i s’ha d’incloure tot el text anterior a qualsevol redistribució // - d’acord amb la versió 2 de la GPL quan es distribueix la vostra sol·licitud. Vegeu https://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include // - Biblioteca Otto versió 9 Otto9 Otto; // Això és Otto!

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

// - Primer pas: configureu els pins on estan connectats els servos / * --------------- | O O | | --------------- | 3 anys ==> | | ----- ------ <== RL 4 | ----- ------ | * / // PINS DE SERVO ////////////////////////////////////////////// ////////////////////////////////// #define PIN_YL 2 // servo [0] cama esquerra #define PIN_YR 3 // servo [1] cama dreta #define PIN_RL 4 // servo [2] peu esquerre #define PIN_RR 5 // servo [3] peu dret // PINS ULTRASONNICS ////////////// ////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // PIN TRIGGER (8) #define PIN_Echo 9 // ECHO pin (9) // PIN BUZZER /////////////// ////////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER pin (13) // SERVO ASSEMBLY PIN ///////////////////// //////////////////////////////////////////////////// // per ajudar a muntar els peus i les cames d'Otto: enllaç de cable entre el pin 7 i GND #define PIN_ASSEMBLY 7 // ASSEMBLY pin (7) LOW = assembly HIGH = normal operation ///////////////// ////////////////////////////////////////////////////// // - Variables globals ------------------------------------------- / / ///////////////////////////////////////////////////// //////////////////// int distància; // variable per emmagatzemar la distància llegida des del mòdul de telemetre ultrasònic bool obstacleDetected = false; // estat lògic per a quan l’objecte detectat es troba a la distància que establim ////////////////////////////////////// ///////////////////////////////// // - Configuració -------------- ---------------------------------------- // //////// ////////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Configureu els pins de servo i els pins ultrasònics i el pin pinzador Buzzer (PIN_ASSEMBLY, INPUT_PULLUP); // - Pin de muntatge fàcil: LOW és el mode de muntatge // Otto wake up! Otto.sing (S_connection); // Otto emet un so Otto.home (); // Otto es mou a la seva posició endarrerida (500); // espereu 500 mil·lisegons per aturar Otto // si el pin 7 és BAIX, col·loqueu els servos d'OTTO en mode casolà per permetre el muntatge fàcil, // quan hàgiu acabat de muntar Otto, traieu l'enllaç entre el pin 7 i el GND mentre (digitalRead (PIN_ASSEMBLY) == BAIX) {Otto.home (); // Otto es mou a la seva posició preparada Otto.sing (S_happy_short); // cantar cada 5 segons perquè sabem que OTTO continua funcionant amb retard (5000); // esperar 5 segons}

}

////////////////////////////////////////////////////// ///////////////// // - bucle principal --------------------------- ------------------ // //////////////////////////////// ///////////////////////////////////// void loop () {if (obstacleDetected) {// if hi ha un objecte més a prop de 15cm i fem el següent Otto.sing (S_surprise); // sona una sorpresa Otto.jump (5, 500); // Otto salta Otto.sing (S_cuddly); // sona a // Otto fa tres passos enrere per (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // repeteix tres vegades el retard de l’ordre de retrocés (500); // petit retard de 1/2 segon per permetre que Otto es resolgui // Otto gira a l’esquerra 3 passos per (int i = 0; i <3; i ++) {// repetir tres vegades Otto.turn (1, 1000, 1); // el retard de l’ordre de marxa a l’esquerra (500); // petit retard de 1/2 segon per permetre que Otto s’instal·li}} else {// si no hi ha res al davant, camina endavant Otto.walk (1, 1000, 1); // Otto walk straight obstacleDetector (); // truqueu a la funció per comprovar el telemetre ultrasònic per a un objecte de més de 15 cm}} ///////////////////////////////// //////////////////////////////////// // - Funcions --------- ----------------------------------------- // /////// ////////////////////////////////////////////////////// /////////

/ - Funció per llegir el sensor de distància i actualitzar la variable obstacle Detectada

void obstacleDetector () {int distance = Otto.getDistance (); // obtenir la distància del telemetre ultrasònic si (distància <15) obstacleDetected = true; // comproveu si aquesta distància és més propera a 15 cm, cert si és més obstacleDetected = false; // false si no ho és}

Recomanat: