İçindekiler:

Arduino 3D Baskılı Sumo Bot: 6 Adım
Arduino 3D Baskılı Sumo Bot: 6 Adım

Video: Arduino 3D Baskılı Sumo Bot: 6 Adım

Video: Arduino 3D Baskılı Sumo Bot: 6 Adım
Video: Arduino Sumo Robot 3D Baskı 2024, Kasım
Anonim
Arduino 3D Baskılı Sumo Botu
Arduino 3D Baskılı Sumo Botu

Bu yüzden evimin etrafında bir sürü parça vardı. Birkaç ay sonra çıkacak bir sumo yarışmasına katılmak istiyordum ama botum yoktu. Proje için bir şeyler satın almamı gerektiren bir bot satın almak veya mevcut bir tasarımı kullanmak yerine, devam ettim ve sahip olduğum kendi parçalarımdan kendi tasarımımdan kendi botumu yaptım. Bu eğitim için aşağıdakilere ihtiyacınız olacak.

  1. Burada bulunan her 3D baskılı parçadan biri.
  2. Bir 7.4 volt pil veya iki 18650 pil.
  3. Gerekirse bir pil tutucu.
  4. Arduino uno.
  5. Arduino uno koparma kalkanı.
  6. Arduino için USB kablosu.
  7. Masaüstü güç kaynağı (isteğe bağlı).
  8. Şarj cihazı (isteğe bağlı).
  9. Teller ve bir sürü.
  10. Standart boyutlu metal dişli sürekli dönüş servoları.
  11. İki ir anahtar sensörü.
  12. 7 cm servo tekerlekler.
  13. Açma ve kapama anahtarı.

Bu kod sürekli değiştirilmektedir. Bu robotun kodu burada bulunabilir. Bu, bu proje kodunun en güncel sürümüdür. Eğlence!

Adım 1: Montaj

Toplantı
Toplantı
Toplantı
Toplantı
Toplantı
Toplantı
  1. Robot iki metal dişli servo kullanıyor. Şasi içindeki servolar her iki yönde dışa bakacak şekilde m3 cıvata ve somun kullanarak vidalamak isteyeceksiniz. Servoların robota girmesinin tek bir yolu var, bu yüzden bu oldukça basit olacak.
  2. Servo tekerlekleri takın.
  3. Sensörleri robotun önünde aşağı bakacak şekilde takın. Robotun önündeki M3 deliklerinden iki vidayla bağlanırlar. Robotun alt kısmında bakabilmeleri için yarıklar var. Sensörlerin kasayı almamasına ve yarıklardan sonuna kadar görebilmesine dikkat etmek istersiniz. Kullanışlı çalışmanızın işe yarayıp yaramadığını görmek için robotu test ederken daha sonra bununla ilgili daha fazla bilgi edineceksiniz.
  4. HC-SR04 sensörünü robotun dışından içeriden bakan iki deliğin içine yerleştirin. Delikler kasanın ön tarafında bulunur.
  5. Arduino Uno'yu kalkanı üzerinde olacak şekilde kasanın içine yerleştirin.
  6. Aşağıdaki madde işareti listesine göre her şeyi birbirine bağlayın.

    1. Seçtiğiniz güç kaynağından güç anahtarına güç. Anahtara pozitif veya negatif kablo bağlayacaksınız. Negatif ucu seçtiyseniz, bu sizin topraklamanız olacaktır, eğer pozitif ucu seçtiyseniz, güç kaynağı ucunuz olacaktır. Pozitif veya negatif olmasına bağlı olarak diğer tel sizin pozitif veya negatifiniz olacaktır.
    2. Arduino'daki pozitif ucu vin'e ve servolardaki pozitif uçları bağlayın.
    3. Servolarda ve Arduino'da toprağı toprağa bağlayın.
    4. Arduino'daki 5 voltluk regülatörden 5v'yi sensörlerin her birindeki tüm pozitif terminallere bağlayın.
    5. Sensörleri Arduino'da toprağa bağlayın.
    6. Son olarak Arduino'daki pin 7'yi sağ ir sensörüne, pin 6'yı sol IR sensörüne, pin 8'i servolardan birine, pin 9'u son servoya bağlayın.

Uyarı: Robotu doğru şekilde kablolamamak, robotun sigara içmesine ve elektronik aksamın tahrip olmasına neden olabilir

Adım 2: Yaşamın İlk Belirtileri

Uyarı: Robotu, güç açıkken veya servolar bağlıyken bilgisayarınıza bağlamayın. Bunu yapmamak, bilgisayarınızın zarar görmesine neden olabilir

int modu = 3;

Yukarıdaki bu kod satırı, robot için çok önemli değişkendir. Aşağıda listelenen her sayıya eşitse aşağıdakileri yapar.

  1. Sıfıra eşitken robot belirli bir düzende hareket eder.
  2. Mod bire eşitse robot, sensör okumalarının her birinin çıktısını bilgisayara yazdırır.
  3. İkiye eşit olduğunda, robot kenarları ve engellerle karşılaşırsa kaçınır.
  4. Robot diğer botlarla savaşır.

Bunlar, robotun ilerlemesini test etmek ve yardımcı olmak için kullanılan robotun farklı modlarıdır. Bu öğreticinin ilk adımı için bu "3"ü sıfıra değiştirmeniz gerekecek.

Şimdi kodu robota yükleyin. Bu sırayla ileri, geri, sola ve sağa hareket ettiğini göreceksiniz.

Adım 3: Görebilir

int modu = 0;

Önceki adım tamamlandıysa, aşağıdaki değişkeni "1" olarak değiştirin. Artık Arduino'daki seri monitörünüze bağlandığında, robotunuzun ne gördüğünü yazdıracaktır. "0" Kenar sensörleri için bir şey gördüğü anlamına gelir. "1" Kenar görmediği anlamına gelir. Mantığın ters olduğunu fark ederseniz, gelecekteki adımlar için bunu not edin.

Ping sensörü hakkında endişelenmeyin. Zaten bunu henüz çalıştıramadım. Bu robot yoğun bir geliştirme aşamasındadır.

Adım 4: Masanın Kenarından Kaçınabilir

void kaçının(){

int sensorStateLeft = digitalRead(leftSensor);

int sensorStateRight = digitalRead(rightSensor);

gecikme(50);

if (Ping.ping_cm() >= 15 && sensorStateLeft == 0 && sensorStateRight == 0){

sol.write(0); sağ.yaz(90);

}

if(Ping.ping_cm() <= 15 && Ping.ping_cm() != 0 || sensorStateLeft == 1 || sensorStateRight == 1) {

left.write(90);

sağ.write(0); }

}

Yukarıdaki kod, mod ikiye eşit olduğunda çağrılan koddur. Önceki adım tamamlandıysa, modu "2"ye eşit olacak şekilde değiştirin.

Sensörler ters çevrilmişse, "if" ifadelerinin her birinde "sensorStateLeft" ve "sensorStateRight" ifadelerini, kendilerine verilen "1" veya "0"dan farklı bir sayıya eşitlemek için çekinmeyin.

Artık robot bir sumo arenasının kenarından kaçınabilir. Neredeyse savaşa hazır. Çalışıp çalışmadığını görmek için test etmekten çekinmeyin.

Adım 5: SAVAŞ

Sumo'nuz birkaç kod değişikliği ile şimdi savaşa hazır. Modu "3"e eşit olacak şekilde değiştirin ve mantığı "Sumo" boşluğunda gerektiği gibi ters çevirin. Artık robotunuz arenanın kenarından kaçıyor olmalı, ancak diğer robotları algılayamaz. Temel olarak arenanın kenarlarından kaçınır ve bir robotu masanın kenarından itebilecek kadar hızlı hareket eder. Eğlence!

Adım 6: Sonuç

Artık robotunuz bitti. Bu proje için herhangi bir sorun veya yorum varsa, bana bildirmekten çekinmeyin. Geri bildirime inanılmaz derecede açığım çünkü bunun iyi yapılmış bir eğitim olup olmadığı hakkında hiçbir fikrim yok. Eğlence!

Önerilen: