Cov txheej txheem:

Otto Bot (Kuv Lub Npe Kuv Lub Spike): 5 Kauj Ruam
Otto Bot (Kuv Lub Npe Kuv Lub Spike): 5 Kauj Ruam

Video: Otto Bot (Kuv Lub Npe Kuv Lub Spike): 5 Kauj Ruam

Video: Otto Bot (Kuv Lub Npe Kuv Lub Spike): 5 Kauj Ruam
Video: Finance with Python! Portfolio Diversification and Risk 2024, Lub Xya hli ntuj
Anonim
Otto Bot (Kuv lub npe hu ua Mine Spike)
Otto Bot (Kuv lub npe hu ua Mine Spike)
Otto Bot (Kuv lub npe hu ua Mine Spike)
Otto Bot (Kuv lub npe hu ua Mine Spike)

Nov yog txoj haujlwm yooj yim uas tsuas yog hais txog leej twg tuaj yeem ua los tsim cov neeg taug kev yooj yim.

Khoom siv:

Rau qhov kev tsim tshwj xeeb no koj yuav xav tau:

*Ultrasonic Sensor

*1 3d cov ntaub ntawv luam tawm

*4 servos

*Arduino nano board

*hais lus

*9v roj teeb pob

*9v roj teeb

*8 tus poj niam xaim

* usb mini b qaum

*roj teeb nqa tau

*kho kom zoo nkauj

*ntsaws rab phom kub kub

*soldering hlau

*4 tus ntsia hlau me

*ntswj taub hau

*daim kab xev hluav taws xob

*4 lub tshuab ntxhua khaub ncaws me

Kauj Ruam 1: Teeb/tsev

Teeb/tsev
Teeb/tsev
Teeb/tsev
Teeb/tsev
Teeb/tsev
Teeb/tsev
Teeb/tsev
Teeb/tsev

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

Tom qab ntawd ua raws cov theem ntawm:

tej zaum koj yuav tsum tau hloov lub casing los kho koj qhov chaw yog li kuv tau siv cov hlau txuas

Kauj ruam 2: Kho thiab Kho Cov Xov

Kho thiab Kho Cov Xov
Kho thiab Kho Cov Xov
Kho thiab Kho Cov Xov
Kho thiab Kho Cov Xov

Thaum koj tsis tas yuav kho nws ntxiv rau qhov tsis zoo li casing ntxiv thiab ntxiv qhov ntev ntxiv rau tus bot tsuas yog nco ntsoov tiv thaiv qhov sib npaug qhov hnyav kom cov neeg hlau sib npaug.

yog tias koj hla koj cov xov hlau koj tuaj yeem ntsaws ob qho tib si ua ke thiab kaw lawv kom qhov tam sim no tuaj yeem hla mus.

lub roj teeb 9v lossis txawm tias 4 lub roj teeb ob zaug yuav tsis txaus yog li kuv tau xaiv tsuas yog siv lub roj teeb nqa mus ntsaws rau hauv pawg thawj coj ncaj qha

Kuv kuj tau ntxiv daim kab xev rau hauv qab ntawm kuv tus ko taw ko taw kom muaj zog dua

kev tswj hwm cable yuav tsis yooj yim yog li kuv pom zoo siv kab xev hluav taws xob txhawm rau kaw cov xov hlau txuas rau ib leeg thiab tso tus hais lus thiab khawm mus rau sab nraud ces kaw rau bot thaum txhua yam nyob hauv qhov chaw txaus yog li nws yuav nyob hauv qhov tshwj xeeb yog rooj plaub tsis yog yam suab zoo

Kauj ruam 3: Upload Code

// ----------------------------------------------------------------------- ----------------------------------------------------------------------- ----------------------------------------------------------------------- ----------------- // 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 tias nws tsis yog

}

Kauj Ruam 4: Cov Tsev Qiv Ntawv Xav Tau

Cov Tsev Qiv Ntawv Xav Tau
Cov Tsev Qiv Ntawv Xav Tau

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.

Thaum koj tuaj yeem pom tsuas yog hais txog ib qho chaws thiab lub tsev qiv ntawv teeb tsa tsis yog txhua tus ntawm lawv yuav ua haujlwm dab yuav tuaj yeem noj hmo.

Kauj Ruam 5: Npe, Txaus Siab, thiab Saib Nws Mus

yog tias txhua yam mus raws li phiaj xwm thiab pawg thawj coj tsis tau kib koj yuav tsum muaj tus bot uas tuaj yeem yog cov phiaj xwm hu nkauj, ua las voos, txav ib puag ncig thiab zam kev muaj teeb meem.

Thaum koj tsuas tuaj yeem hu nws Otto Kuv pom tias lub npe nws rau koj tus kheej yog qhov nthuav me ntsis yog li kuv hu kuv li Spike.

Pom zoo: