Mündəricat:

Otto DIY Class Final: 4 Addım
Otto DIY Class Final: 4 Addım

Video: Otto DIY Class Final: 4 Addım

Video: Otto DIY Class Final: 4 Addım
Video: КОНЕЦ МУЧЕНИЯМ. Трава больше не проблема! 2024, Noyabr
Anonim
Otto DIY Sinif Finalı
Otto DIY Sinif Finalı

Bu layihə Otto və Afina Texniki Kolleci tərəfindən mümkün oldu.

Başlamaq üçün əvvəlcə dəsti satın almalısınız:

Sonra aşağıdakı adımları izləyin:

Addım 1: Birinci Adım: Təlimatlardan Robot yığın

Birinci addım: Təlimatlardan Robot yığın
Birinci addım: Təlimatlardan Robot yığın
Birinci addım: Təlimatlardan Robot yığın
Birinci addım: Təlimatlardan Robot yığın

wikifactory.com/+OttoDIY/otto-diy

Bu veb sayt, Otto robotunuz üçün montaj təlimatları və kodu tapa biləcəyiniz yerdir.

Gördüyünüz kimi, fərqli hissələri və rəngləri qarışdırdım və uyğunlaşdırdım və tövsiyə olunan 4 AA batareya yerinə güc üçün portativ şarj blokundan istifadə etdim.

Dinləyicim asan eşitmək üçün ön tərəfə quraşdırılmışdır və bəzək üçün sağ tərəfə qılınc bağlanmışdır.

Addım 2: İkinci Adım: Plug and Code

İkinci addım: Plug and Code
İkinci addım: Plug and Code

Robotunuz yığıldıqdan sonra Arduino IDE -ni kompüterinizə yükləyin və robotunuzu qoşun.

Bu nöqtədə Otto fayllarının aşağı salınması lazımdır. Onları birbaşa Arduino kitabxana qovluğuna ixrac edin.

Bu, Ottonun sizə verdiyi kodu istifadə etməyə imkan verəcəkdir.

Addım 3: Üçüncü Adım: Kodlamanı bitirin

Üçüncü addım: Kodlamanı bitirin
Üçüncü addım: Kodlamanı bitirin

Kitabxanalarınız çıxarıldıqdan sonra Arduino IDE -ə daxil olmalı və yükləyicilərinizin güncəlləşdiyinə əmin olmalısınız.

Lövhənizi Arduino Nanoya, prosessorunuzu ATmega328P -yə (Köhnə Yükləyici) və COM -unu robotunuzu hansı porta qoşduğunuza qoyun.

Bu addım bitdikdən və kodunuz hazır olduqdan sonra kodu robotunuza yükləmək üçün proqramın sol üst küncündəki yükləmə düyməsini basın.

Addım 4: Dördüncü addım: İzləyin

Robotunuzun xəstə hərəkətlərinə baxın və mahnı oxuyun.

İstifadə etdiyiniz koddan asılı olaraq robotunuzu oxumağa, rəqs etməyə və ya maneələrdən qaçmağa məcbur edə bilərsiniz.

Bu layihə qarşısını almaq kodu ilə yazılmışdır:

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // Otto_avoid nümunə eskizi // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-Otto DIY PLUS APP Firmware versiyası 9 (V9) //-Otto DIY, açıq mənbə kodu və aparat təmin edən vaxt və mənbələrə sərmayə qoyur, lütfən dəstləri (https://www.ottodiy.com) satın alaraq dəstəkləyin // ------------ -------------------------------------------------- --- //-Bu proqramı Açıq Mənbə Lisenziyalaşdırma altında istifadə etmək istəyirsinizsə, bütün mənbə kodunuzu cəmiyyətə təqdim etməlisiniz və yuxarıdakı bütün mətnlər GPL Version 2-yə uyğun olaraq hər hansı bir yenidən paylanmaya daxil edilməlidir //- müraciətiniz paylandıqda. Bax https://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include //-Otto Kitabxana versiyası 9 Otto9 Otto; // Bu Otto!

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

//-İlk addım: Servoların bağlandığı pinləri konfiqurasiya edin /* --------------- | O O | | --------------- | YR 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PİNSİ ////////////////////////////////// # müəyyən PIN_YL 2 // servo [0] PIN_YR 3 ayaq # müəyyən sol // servo [1] sağ ayaq #PIN_RL 4 təyin edin // servo [2] sol ayaq #PIN_RR 5 təyin edin // servo [3] sağ ayaq // ULTRASONİK PINlər /////////////// ///////////////////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #deinine PIN_Echo 9 // ECHO pin (9) // BUZZER PIN /////////////// ///////////////////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER pin (13) // SERVO MONTAJ PINİ ////////////////////// ////////////////////////////////////////////////////////////////////////////// Ottonun ayaqlarını və ayaqlarını yığmağa kömək etmək üçün - pin 7 ilə GND arasındakı tel keçidi #PIN_ASSEMBLY 7 təyin edin // MONTAJ pin (7) LOW = montaj YÜKSEK = normal işləmə ///////////////// ///////////////////////////////////////////////////////////////// //-Qlobal Dəyişənlər -------------------------------------------/ /////////////////////////////////////////////////////////////////////////////////////////// //////////////////// int məsafə; // ultrasəs diapazonu tapan moduldan oxunan məsafəni saxlamaq üçün dəyişən bool obstacleDetected = false; // obyekt aşkarlandığı məsafədə olduğumuzda məntiq vəziyyəti //////////////////////////////////// /////////////////////////////// //-- Qurmaq -------------- ---------------------------------------- // //////// ///////////////////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Servo pinləri və ultrasəs sancaqlarını və Buzzer pin pin modunu təyin edin (PIN_ASSEMBLY, INPUT_PULLUP); // - Asan montaj pin - LOW montaj rejimidir // Otto oyan! Otto.sing (S_connection); // Otto Otto.home () səsi çıxarır; // Otto hazır mövqe gecikməsinə keçir (500); // Ottonun dayanmasına icazə vermək üçün 500 millisaniyə gözləyin // Pin 7 LOW olarsa, asan montajı təmin etmək üçün OTTO -nun servolarını ev rejiminə qoyun, // Otto montajını bitirdikdən sonra pin 7 ilə GND arasındakı əlaqəni çıxarın (digitalRead (PIN_ASSEMBLY) == DÜŞÜK) {Otto.home (); // Otto hazır mövqeyinə keçir Otto.sing (S_happy_short); // hər 5 saniyədə bir oxuyun, buna görə də bilirik ki, OTTO hələ də gecikir (5000); // 5 saniyə gözləyin}

}

///////////////////////////////////////////////////////////////// //////////////////-Əsas Döngə --------------------------- ------------------ // /////////////////////////////// /////////////////////////////////////////////////// void loop () {if (maneəDetected) {// if 15 sm -dən daha yaxın bir obyekt var, sonra aşağıdakı Otto.sing (S_surprise) edirik; // sürpriz səslənir Otto.jump (5, 500); // Otto Otto.sing (S_cuddly) tullanır; // səs a // Otto üç addım geri çəkir (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // geri çəkilmə əmrinin gecikməsini üç dəfə təkrarlayın (500); // Ottonun yerləşməsinə icazə vermək üçün kiçik 1/2 saniyəlik gecikmə // Otto 3 addım sola dönür (int i = 0; i <3; i ++) {// Otto.turn üç dəfə təkrarlayın (1, 1000, 1); // yürüş sol əmr gecikməsi (500); // Ottonun yerləşməsinə icazə vermək üçün kiçik 1/2 saniyəlik gecikmə}} başqa {// öndə heç bir şey yoxdursa, irəli Otto.walk (1, 1000, 1); // Otto düz maneə ilə getmək maneəDetector (); // 15 sm -dən daha yaxın bir obyekt üçün ultrasəs diapazonunu yoxlamaq üçün funksiyanı çağırın}} ////////////////////////////// //////////////////////////////////////////////////// --/-// ----------------------------------------- // /////// ///////////////////////////////////////////////////////////////// /////////

/- Məsafə sensorunu oxumaq və maneəni aşkar etmək funksiyasıDetected dəyişən

boş maneəDetector () {int məsafə = Otto.getDistance (); // (məsafə <15) maneəDetected = doğru; // bu məsafənin 15 sm -dən daha yaxın olub -olmadığını yoxlayın, əks halda doğru olur obstacleDetected = false; // deyilsə yalan}

Tövsiyə: