İçindekiler:

Otto Bot (Adını Mine Spike koydum): 5 Adım
Otto Bot (Adını Mine Spike koydum): 5 Adım

Video: Otto Bot (Adını Mine Spike koydum): 5 Adım

Video: Otto Bot (Adını Mine Spike koydum): 5 Adım
Video: TELEVİZYON ADAM ÇILDIRDI, KEREM KOMİSER'İ ÖLDÜRECEK! 😱 - Minecraft 2024, Temmuz
Anonim
Otto Bot (Adını Madene Başak Koydum)
Otto Bot (Adını Madene Başak Koydum)
Otto Bot (Adını Madene Başak Koydum)
Otto Bot (Adını Madene Başak Koydum)

Bu, hemen hemen herkesin basit bir yürüyen robot yaratmak için yapabileceği basit bir projedir.

Gereçler:

Bu özel yapı için ihtiyacınız olacak:

*Ultrasonik sensör

*1 3d baskılı kılıf

*4 servo

*Arduino nano kurulu

*hoparlör

*9v pil takımı

*9v pil

* 8 dişi tel

* usb mini b kablosu

*taşınabilir pil

*dekorasyonlar

* dolu sıcak tutkal tabancası

*havya

* 4 küçük vida

*Tornavida

*elektrik bandı

* 4 küçük pul

Adım 1: Kurulum/inşa

Kurulum/inşa
Kurulum/inşa
Kurulum/inşa
Kurulum/inşa
Kurulum/inşa
Kurulum/inşa
Kurulum/inşa
Kurulum/inşa

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

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

parçalarınızı ateşlemek için kasayı değiştirmeniz gerekebilir, bu yüzden bir havya kullandım

Adım 2: Kabloları Düzenleme ve Sabitleme

Düzenlemeler ve Sabitleme Telleri
Düzenlemeler ve Sabitleme Telleri
Düzenlemeler ve Sabitleme Telleri
Düzenlemeler ve Sabitleme Telleri

Aksi takdirde yumuşak kasaya ekleyerek onu dekore etmeniz ve bota ekstra boyutlar eklemeniz gerekmese de, robotun dengeli olması için ağırlığı dengelediğinizden emin olun.

Kablolarınızı fazla soyarsanız, her iki seti de birbirine bükebilir ve akımın geçebilmesi için sızdırmaz hale getirebilirsiniz.

9v pil veya hatta 4 çift a pil yeterli olmayabilir, bu yüzden doğrudan panoya takmak için taşınabilir bir pil kullanmayı seçtim

Daha fazla çekiş için botumun ayaklarının altına bant da ekledim

kablo yönetimi zor olacaktır, bu nedenle birbirine bağlanan kablo setlerini kapatmak için elektrik bandı kullanmanızı ve hoparlörü ve düğmeyi dışarıya doğru yerleştirmenizi ve ardından her şey yeterince yerine oturduğunda bota mühürlemenizi tavsiye ederim, böylece özellikle eğer yerinde kalacaktır. durum tamamen yapısal olarak sağlam değil

3. Adım: Kodu Yükleyin

//------------------------------------------------ -------------------------------------------------- -------------------------------------------------- -----------------// 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 trueDetected = false;// değilse false

}

4. Adım: Gerekli Kitaplıklar

Gerekli Kütüphaneler
Gerekli Kütüphaneler

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.

Hemen hemen her kod ve kitaplık setini bulabilirken, hepsi işe yaramaz, cadı akşam yemeği için sinir bozucu olabilir.

Adım 5: Adlandırın, Keyfini Çıkarın ve Hareket Etmesini İzleyin

Her şey plana göre giderse ve tahta kızarmazsa, şarkı söyleme, dans etme, hareket etme ve engellerden kaçınma programları olabilecek bir botunuz olmalıdır.

Siz sadece Otto diyebilirsiniz, ancak kendi adınıza adlandırmanın biraz daha ilginç olduğunu düşünüyorum, bu yüzden benimkine Spike adını verdim.

Önerilen: