İçindekiler:

Otto Kendin Yap Sınıfı Finali: 4 Adım
Otto Kendin Yap Sınıfı Finali: 4 Adım

Video: Otto Kendin Yap Sınıfı Finali: 4 Adım

Video: Otto Kendin Yap Sınıfı Finali: 4 Adım
Video: Gen Z 1.Sezon 4.Bölüm - KARNE GÜNÜ 2024, Kasım
Anonim
Otto Kendin Yap Dersi Finali
Otto Kendin Yap Dersi Finali

Bu proje Otto ve Atina Teknik Koleji tarafından gerçekleştirilmiştir.

Başlamak için önce kiti şu adresten satın almalısınız:

Ardından şu adresteki adımları izleyin:

Adım 1: Birinci Adım: Robotu Talimatlardan Birleştirin

Birinci Adım: Robotu Talimatlardan Birleştirin
Birinci Adım: Robotu Talimatlardan Birleştirin
Birinci Adım: Robotu Talimatlardan Birleştirin
Birinci Adım: Robotu Talimatlardan Birleştirin

wikifactory.com/+OttoDIY/otto-diy

Bu web sitesi, Otto robotunuz için montaj talimatlarını ve kodunu bulabileceğiniz yerdir.

Gördüğünüz gibi farklı parça ve renkleri karıştırıp eşleştirdim ve güç için önerilen 4 AA pil yerine taşınabilir bir şarj bloğu kullandım.

Hoparlörüm, kolay işitme için ön tarafa monte edilmiştir ve dekorasyon için sağ tarafa bir kılıç takılmıştır.

Adım 2: İkinci Adım: Tak ve Kodla

İkinci Adım: Tak ve Kodla
İkinci Adım: Tak ve Kodla

Robotunuz monte edildikten sonra Arduino IDE'yi bilgisayarınıza yükleyin ve robotunuzu prize takın.

Bu noktada Otto dosyalarını indirmiş olmalısınız. Bunları doğrudan Arduino kitaplıkları klasörünüze aktarın.

Bu, Otto'nun size verdiği kodu kullanmanıza izin verecektir.

Adım 3: Üçüncü Adım: Kodlamayı Bitirin

Üçüncü Adım: Kodlamayı Bitirin
Üçüncü Adım: Kodlamayı Bitirin

Kitaplıklarınız çıkarıldıktan sonra Arduino IDE'ye girmeniz ve önyükleyicilerinizin güncel olduğundan emin olmanız gerekir.

Kartınızı Arduino Nano'ya, işlemcinizi ATmega328P'ye (Eski Önyükleyici) ve COM'unuzu robotunuzu hangi bağlantı noktasına takarsanız takın.

Bu adım tamamlandıktan ve kodunuz hazır olduğunda, kodu robotunuza yüklemek için programın sol üst köşesindeki yükle düğmesine basın.

4. Adım: Dördüncü Adım: İzleyin

Robotunuzun hasta hareketlerini ve şarkı söyleyen sesini izleyin.

Kullandığınız koda bağlı olarak robotunuzun şarkı söylemesini, dans etmesini veya engellerden kaçınmasını sağlayabilirsiniz.

Bu proje kaçınma koduyla yazılmıştır:

//------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -----------------// Otto_avoid örnek taslağı //-------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-- Otto DIY PLUS APP Firmware sürüm 9 (V9) //-- Otto DIY, açık kaynak kodu ve donanım sağlayan zaman ve kaynaklara yatırım yapar, lütfen (https://www.ottodiy.com) adresinden kit satın alarak destek verin //------------ -------------------------------------------------- --- //-- Bu yazılımı Açık Kaynak Lisansı altında kullanmak istiyorsanız, tüm kaynak kodunuzu topluluğa katkıda bulunmanız ve yukarıdaki tüm metinlerin herhangi bir yeniden dağıtıma dahil edilmesi gerekir //-- GPL Sürüm 2'ye uygun olarak Başvurunuz dağıtıldığında. Bakınız https://www.gnu.org/copyleft/gpl.html //-------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include //-- Otto Kitaplığı sürüm 9 Otto9 Otto; //Bu Otto!

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

//-- İlk adım: Servoların bağlı olduğu pinleri yapılandırın /* --------------- | O O | |---------------| YR 3==> | | ----- ------ <== RL 4 |----- ------| */ // SERVO PIN'leri /////////////////////////////////////// /////////////////////////////// #define PIN_YL 2 //servo[0] sol bacak #define PIN_YR 3 //servo[1] sağ ayak #define PIN_RL 4 //servo[2] sol ayak #tanım PIN_RR 5 //servo[3] sağ ayak // ULTRASONİK PIN'ler ///////////// ///////////////////////////////////////////// ///////// #define PIN_Trigger 8 //TRIGGER pin (8) #define PIN_Echo 9 //ECHO pin (9) // BUZZER PIN ////////////// //////////////////////////////////////////// //////////// #define PIN_Buzzer 13 //BUZZER pini (13) // SERVO MONTAJ PIN'i /////////////////// /////////////////////////////////////////// // Otto'nun ayaklarını ve bacaklarını birleştirmeye yardımcı olmak için - pin 7 ve GND arasındaki kablo bağlantısı #define PIN_ASSEMBLY 7 //MONTAJ pin (7) LOW = montaj YÜKSEK = normal çalışma ///////////////// //////////////////////////////////////////// //-- Global Değişkenler -------------------------------------------/ //////////////////////////////////////////// //////////////// int mesafe; // ultrasonik telemetre modülünden okunan mesafeyi depolamak için değişken boolblockDetected = false; // nesne algılandığındaki mantık durumu ayarladığımız mesafede /////////////////////////////// /////////////////////////////// //-- Kurmak -------------- -------------------------------------------// /////// //////////////////////////////////////////// ///////// void setup() { Otto.init(PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); //Servo pinlerini ve ultrasonik pinleri ve Buzzer pin pinMode(PIN_ASSEMBLY, INPUT_PULLUP); // - Kolay montaj pimi - DÜŞÜK montaj Modudur //Otto uyan! Otto.sing(S_connection);// Otto ses çıkarıyor Otto.home(); // Otto hazır konum gecikmesine (500); // Otto'nun durmasına izin vermek için 500 milisaniye bekleyin // Pim 7 DÜŞÜK ise, kolay montajı sağlamak için OTTO'nun servolarını ev moduna getirin, // Otto'yu monte etmeyi bitirdiğinizde, pin 7 ile GND arasındaki bağlantıyı (digitalRead) kaldırın (PIN_ASSEMBLY) == LOW) { Otto.home();// Otto hazır konumuna hareket eder Otto.sing(S_happy_short); // her 5 saniyede bir şarkı söyle, böylece OTTO'nun hala çalıştığını anlayalım gecikme(5000);// 5 saniye bekle }

}

///////////////////////////////////////////// //////////////// //-- Ana Döngü --------------------------- ------------------// /////////////////////////// ///////////////////////////////// void loop() { if (engel tespit edildi) { // if 15 cm'den daha yakın bir nesne varsa aşağıdaki Otto.sing(S_surprise); // sürpriz ses Otto.jump(5, 500); // Otto atlar Otto.sing(S_cuddly); // ses a //Otto için üç adım geri gider (int i = 0; i < 3; i++) Otto.walk(1, 1300, -1); //geri yürüme komutu gecikmesini üç kez tekrarla(500);// Otto'nun yerleşmesine izin vermek için 1/2 saniyelik küçük gecikme //Otto (int i = 0; i < 3; i++) için 3 adım sola döner { // üç kez Otto.turn(1, 1000, 1); // sola yürüme komutu gecikmesi(500);// Otto'nun yerleşmesine izin vermek için 1/2 saniyelik küçük gecikme } } else { // Önde hiçbir şey yoksa o zaman ileri yürü Otto.walk(1, 1000, 1); //Otto düz engeldetektör(); // 15 cm'den daha yakın bir nesne için ultrasonik telemetreyi kontrol etme işlevini çağırın } } /////////////////////////// //////////////////////////////// //-- Fonksiyonlar --------- -----------------------------------------// /////// ///////////////////////////////////////////// /////////

//Mesafe sensörünü okuma ve engel algılanan değişkeni gerçekleştirme işlevi

voidblockDetector() { int mesafe = Otto.getDistance(); // (mesafe < 15) engel Tespit Edildi = true ise ultrasonik telemetreden mesafeyi alın; // bu mesafenin 15 cm'den daha yakın olup olmadığını kontrol edin, eğer başka bir engel ise true -maniaDetected = false;// değilse false }

Önerilen: