Cov txheej txheem:

Otto DIY Chav Kawm Kawg: 4 Kauj Ruam
Otto DIY Chav Kawm Kawg: 4 Kauj Ruam

Video: Otto DIY Chav Kawm Kawg: 4 Kauj Ruam

Video: Otto DIY Chav Kawm Kawg: 4 Kauj Ruam
Video: Tswv Yexus lub neej thaum pib txug thaum xaus 2024, Lub Xya hli ntuj
Anonim
Otto DIY Chav Kawm Kawg
Otto DIY Chav Kawm Kawg

Txoj haujlwm no tau ua tiav los ntawm Otto thiab Athens Technical College.

Txhawm rau pib, koj yuav tsum xub yuav cov khoom siv los ntawm:

Tom qab ntawd ua raws cov theem ntawm:

Kauj Ruam 1: Kauj Ruam Ib: Txhim Kho Neeg Hlau Los Ntawm Cov Lus Qhia

Kauj Ruam Ib: Sib Sau Neeg Hlau Los Ntawm Cov Lus Qhia
Kauj Ruam Ib: Sib Sau Neeg Hlau Los Ntawm Cov Lus Qhia
Kauj Ruam Ib: Sau Neeg Hlau Los Ntawm Cov Lus Qhia
Kauj Ruam Ib: Sau Neeg Hlau Los Ntawm Cov Lus Qhia

wikifactory.com/+OttoDIY/otto-diy

Lub vev xaib no yog qhov uas koj yuav pom cov lus qhia sib dhos thiab tus lej rau koj tus neeg hlau Otto.

Raws li koj tuaj yeem pom, kuv tau sib xyaw thiab sib phim sib txawv qhov sib txawv thiab xim, thiab siv lub tsub them hluav taws xob nqa mus rau lub zog hloov pauv qhov pom zoo 4 AA roj teeb.

Kuv tus neeg hais lus tau teeb tsa rau pem hauv ntej kom hnov tau yooj yim thiab ntaj tau txuas rau sab xis rau kev kho kom zoo nkauj.

Kauj Ruam 2: Kauj Ruam Ob: Plug thiab Code

Kauj ruam Ob: Plug thiab Code
Kauj ruam Ob: Plug thiab Code

Tom qab koj cov neeg hlau sib sau ua ke, ntsaws Arduino IDE ntawm koj lub computer thiab ntsaws rau hauv koj lub neeg hlau.

Txij ntawm no mus koj yuav tsum muaj cov ntaub ntawv Otto poob qis. Xa lawv ncaj qha rau hauv koj lub tsev qiv ntawv qiv Arduino.

Qhov no yuav tso cai rau koj siv cov cai uas Otto tau muab rau koj.

Kauj Ruam 3: Kauj Ruam Peb: Tiav Coding

Kauj Ruam Peb: Tiav Coding
Kauj Ruam Peb: Tiav Coding

Thaum koj lub tsev qiv ntawv raug rho tawm, koj yuav tsum nkag mus rau Arduino IDE thiab xyuas kom tseeb tias koj lub bootloaders tau hloov kho tshiab.

Teem koj lub rooj rau Arduino Nano, koj lub processor rau ATmega328P (Old Bootloader), thiab koj li COM mus rau qhov twg los xij uas koj ntsaws koj lub neeg hlau.

Thaum cov kauj ruam no tau ua tiav thiab koj cov cai tau npaj tiav, nias lub pob upload nyob rau hauv kaum sab laug saum toj kawg nkaus ntawm txoj haujlwm kom xa cov cai rau koj tus neeg hlau.

Kauj Ruam 4: Kauj Ruam Plaub: Saib

Saib xyuas koj tus neeg hlau lub cev tsis zoo thiab ua suab nrov nrov.

Nyob ntawm seb tus lej twg koj tau siv, koj tuaj yeem ua rau koj tus neeg hlau hu nkauj, seev cev, lossis zam qhov teeb meem.

Txoj haujlwm no tau sau nrog txoj cai zam:

// ----------------------------------------------------------------------- ----------------------------------------------------------------------- ----------------------------------------------------------------------- ----------------- // Otto_avoid qauv kos duab // -------------------------- ----------------------------------------------------------------------- ----------------------------------------------------------------------- -------------------------------------- //-Otto DIY PLUS APP Firmware version 9 (V9) //-Otto DIY nqis peev sijhawm thiab peev txheej muab qhib qhov chaws thiab kho vajtse, thov txhawb nqa los ntawm kev yuav khoom siv los ntawm (https://www.ottodiy.com) // ------------ ----------------------------------------------------------------------- --- //-Yog tias koj xav siv cov software no nyob rau hauv Open Source Licensing, koj yuav tsum pab txhawb koj txhua qhov chaws rau hauv zej zog thiab txhua cov ntawv sau saum toj no yuav tsum suav nrog hauv kev rov faib dua tshiab //-raws li GPL Version 2 thaum koj daim ntawv thov raug faib. Saib https://www.gnu.org/copyleft/gpl.html // -------------------------------- ----------------------------------------------------------------------- ----------------------------------------------------------------------- --------------------------------- #include //-Otto Library version 9 Otto9 Otto; // Nov yog Otto!

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

//-Thawj kauj ruam: Kho cov pins qhov twg cov servos txuas nrog /* --------------- | OO | | --------------- | YR3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PINs //////////////////////////////////////////// ////////////////////////////////// #define PIN_YL 2 // servo [0] sab laug #define PIN_YR 3 // servo [1] sab xis #define PIN_RL 4 // servo [2] sab laug #define PIN_RR 5 // servo [3] txoj cai ko taw // ULTRASONIC PINs ////////////// ////////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #define PIN_Echo 9 // ECHO pin (9) // BUZZER PIN ///////////////// //////////////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER tus pin (13) // SERVO ASSEMBLY PIN /////////////////////// ////////////////////////////////////////////////////////// los pab ua ke Otto tus taw thiab txhais ceg - xaim txuas ntawm tus pin 7 thiab GND #define PIN_ASSEMBLY 7 // ASSEMBLY tus pin (7) LOW = sib dhos HIGH = kev ua haujlwm ib txwm /////////////////// ////////////////////////////////////////////////////////// //-Ntiaj teb Variables -------------------------------------------/ / ///////////////////////////////////////////////// //////////////////// int nrug; // kuj sib txawv los khaws qhov deb nyeem los ntawm ultrasonic ntau finder module bool obstaclesEetected = cuav; // lub xeev logic rau thaum pom cov khoom nyob ntawm qhov deb peb teev //////////////////////////////////// /////////////////////////////////-Teeb tsa -------------- ---------------------------------------- // //////// //////////////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, tseeb, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Teeb tus pin servo thiab tus pin ultrasonic thiab Buzzer tus pin pin hom (PIN_ASSEMBLY, INPUT_PULLUP); // - Tus pin yooj yim sib dhos - QAUV yog hom sib dhos // Otto sawv! Otto.sing (S_connection); // Otto ua suab Otto.home (); // Otto txav mus rau nws txoj haujlwm npaj qeeb (500); // tos 500 milliseconds tso cai Otto nres // yog Pin 7 yog LOW ces tso OTTO cov kev pabcuam hauv tsev los pab kom yooj yim sib dhos, // thaum koj ua tiav sib dhos Otto, tshem qhov txuas ntawm tus pin 7 thiab GND thaum (digitalRead (PIN_ASSEMBLY) == LOW) {Otto.home (); // Otto txav mus rau nws txoj haujlwm npaj Otto.sing (S_happy_short); // hu nkauj txhua 5 vib nas this yog li peb paub OTTO tseem ua haujlwm qeeb (5000); // tos 5 vib nas this}

}

////////////////////////////////////////////////////////// /////////////////// //-Tus Thawj Xib Fwb --------------------------- ------------------ // ///////////////////////////////// ///////////////////////////////////// tsis muaj dabtsis voj () {yog (obstacleDetected) {// yog muaj qhov khoom ze dua 15cm ces peb ua raws li hauv qab no Otto.sing (S_surprise); // suab tsis txaus ntseeg Otto.jump (5, 500); // Otto dhia Otto.sing (S_cuddly); // suab a // Otto siv peb kauj ruam rov qab rau (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // rov ua dua peb zaug taug kev rov qab ncua sijhawm (500); // me 1/2 ncua sijhawm thib ob kom tso cai Otto daws // Otto tig laug 3 kauj ruam rau (int i = 0; i <3; i ++) {// rov hais dua peb zaug Otto.turn (1, 1000, 1); // taug kev sab laug hais kom qeeb (500); // me 1/2 ncua sijhawm thib ob kom tso cai rau Otto daws}} lwm qhov {// yog tias tsis muaj dab tsi nyob rau hauv pem hauv ntej ces taug kev tom ntej Otto.walk (1, 1000, 1); // Otto taug kev ncaj qha obstaclesDetector (); // hu lub luag haujlwm los tshuaj xyuas qhov ntsuas ultrasonic ntau rau ib yam khoom ze dua 15cm}} /////////////////////////////// ////////////////////////////////////// //-Functions --------- ----------------------------------------- // /////// ////////////////////////////////////////////////////////// ///////////

/- Muaj nuj nqi los nyeem qhov deb nrug deb & txhawm rau ua kom pom tseeb qhov teeb meem

tsis muaj dabtsis obstaclesDetector () {int nrug = Otto.getDistance (); // tau txais qhov kev ncua deb ntawm qhov ntsuas ultrasonic ntau yog tias (nrug deb <15) qhov teeb meemDetected = muaj tseeb; // txheeb xyuas seb qhov kev ncua deb no ze dua 15cm, muaj tseeb yog tias nws yog lwm yam kev khuam siabDetected = cuav; // cuav yog nws tsis yog}

Pom zoo: