Arduino'da otonom tank. Radyo kontrollü bir tank nasıl yapılır: uzaktan kumandalı ve kameralı bir casus arduino'dan kendin yap tank savaşı

Robot, radyo kontrollü bir tanktan alınan bir şasi ve aşağıda bir listesi verilen diğer birkaç bileşenden oluşur. Bu benim ilk projem ve Arduino platformunu seviyorum. Bu robotu yaratırken kitaplardan ve internetten materyaller kullandım.

gerekli malzemeler
1. Radyo kontrollü bir tanktan şasi.
2. Arduino Uno.
3. Breadboard ve jumper'lar.
4. Entegre motor sürücüsü SN754410NE.
5. Standart servo.
6. Ultrasonik telemetre.
7. 9V pil ve bunun için konektör.
8. 4 D pil ve onlar için bir konektör.
9. USB AB kablosu.
10. Taban 6" x 6".

enstrümanlar
1. Bir dizi tornavida.
2. Sıcak tutkal tabancası.
3. Lehim ve havya.

şasi

Şasiyi 10 dolara aldığım bir tanktan aldım. Tabanı herhangi bir yere takılabilir ama ben ortasına taktım.

Motor Sürücüsü SN754410NE

Motorları kontrol etmek için SN754410NE sürücüsünü kullandım. Bende olduğu için kullandım ama L293 gibi bir tane daha kullanabilirsiniz.

Şimdi sürücüyü Arduino Uno'ya bağlama hakkında. Tüm GND pinlerini (4,5,12,13) ​​​​Breadboard GND'ye bağlayın. Sürücü pinleri 1 ve 16'yı Arduino pinleri 9 ve 10'a bağlayın. Sürücü pinleri 2 ve 7'yi Arduino pinleri 3 ve 4'e bağlayın, bunlar sol motorun kontrol pinleridir. Sürücü pinleri 10 ve 15'i Arduino pinleri 5 ve 6'ya bağlayın, bunlar doğru motor kontrol pinleridir. Pim 3 ve 6'yı sol motora ve pim 14 ve 11'i sağa bağlayın. 8 ve 16 numaralı pinler devre tahtasına güç sağlamak için bağlanmalıdır. Güç kaynağı: 9V pil.

Ultrasonik telemetre, robotun hareket ederken engellerden kaçınmasına yardımcı olur. Robotun ön tarafında bulunan standart bir servo üzerinde bulunur. Robot 10 cm mesafedeki bir nesneyi gördüğünde, servo dönmeye başlar, bir geçit arar ve ardından Arduino hangi tarafın hareket etmenin en keyifli olduğuna karar verir.
Ona bir konektör takın. Servoyu, her iki tarafa 90 dereceden fazla dönemeyecek şekilde sınırlayın.

Sensörün üç pimi GND, 5V ve bir sinyal vardır. GND, GND'ye, 5V'den Arduino 5V'ye ve sinyal Arduino pin 7'ye bağlanır.

Beslenme

Arduino, uygun konektör aracılığıyla 9V pil ile çalışır. Motorlara güç sağlamak için 4 boyutlu pil ve uygun konektör kullandım. Motorlara güç sağlamak için tutucudan gelen kabloları SN754410NE ile karta bağlayın.

Toplantı

Tüm parçalar hazır olduğunda, onları bir araya getirme zamanı. İlk önce Arduino'yu tabana takmamız gerekiyor. Daha sonra sıcak tutkal yardımıyla telemetreyi servo ile robotun önüne takacağız. Ardından pilleri takmanız gerekir. Onları istediğin yere koyabilirsin, ama onları Arduino'nun yanına yerleştirdim. Her şey hazır olduğunda, Arduino'nun çalıştığından emin olmak için robotu açabilirsiniz.

programı

Yani robotu kurduktan sonra onun için bir program yazmanın zamanı geldi. Birkaç gün geçirdikten sonra yazdım.
Robot, nesneye 10 cm'den daha uzak olduğu sürece düz bir çizgide hareket edecektir.Bir nesne fark ettiğinde, bir yol arayarak sensörü döndürmeye başlar. Tarama tamamlandığında, program hareket için en uygun tarafı seçer. Robot çıkmazdaysa 180 derece döner.
Program aşağıdan indirilebilir. Değiştirebilir ve tamamlayabilirsiniz.

Robotun ana kısmı, radyo kontrollü tanktan ve diğer bileşenlerden gelen şasidir, bunların listesi aşağıda yazılacaktır. Bu tank, yazarın Arduino platformundaki ilk projesidir ve kullandığı için memnun olmuştur. Yazar internetten materyal ve kitap kullandı.

Malzemeler ve araçlar:
- Tank şasisi
- Arduino Uno
- Jumper'lar ve breadboard
- Entegre motor sürücüsü SN754410NE
- Geleneksel servo
- Ultrasonik telemetre
- Bunun için konektörlü 9V pil
- D tipi piller
- Arduino için USB kablosu
- Şasi tabanı
- Tornavidalar
- Termal tabanca ve bunun için yapıştırıcı
- Havya ve lehim

Adım bir. Tank kasası.
Yazar, şasiyi bit pazarından satın alınan eski bir Abrams tankından aldı. Ortaya çıkan tank, şasinin ondan çıkarılabilmesi için sökülmüştür. Aynı tankı kullanmak gerekli değildir, herhangi bir radyo kontrollü tank yeterli olacaktır. Dahası, orijinal motor arzulanan çok şey bıraktı, bu yüzden kendiminkini monte etmek zorunda kaldım, montajı bir sonraki adımda olacak. Şasiyi hazırlayan yazar, tabanı onlara sıcak tutkalla tutturdu. Nerede sabitleneceği önemli değil, ancak merkeze yapıştırılmasına karar verildi.

İkinci adım. Makinist.
SN754410NE sürücüsü motoru kontrol etmek için kullanılır, yazar onu kullandı, mevcut olduğu için benzer bir tane alabilirsin.
Sürücüyü Arduino'ya bağlamak aşağıdaki gibidir:

Tüm GND pinleri, breadboard GND pinlerine bağlanır.
- Sürücü pinleri 1 ve 16'dan Arduino 9 ve 10'a.
- Sürücünün 2 ve 7 numaralı pinleri Arduino'nun 3 ve 4 numaralı pinlerine bağlanır (sol motorun kontrolünden sorumludurlar).
- Arduino pinleri 5 ve 6, sürücü pinleri 10 ve 15'e bağlanır (doğru motorun kontrolünden sorumludurlar).
- 3 ve 6 numaralı pinler sol motora ve 14 ve 11 numaralı pinler sağ motora bağlanır.
- 8 ve 16 numaralı pinler, 9V pil ile çalışan Bredboard'a güç sağlamak için bağlanmalıdır.

Adım üç. Telemetre kurulumu.
Ultrasonik sensör, robotun hareket ederken yolundaki engellerden kaçınmasını sağlar. Sensör standart bir servo üzerinde bulunur ve robotun önüne monte edilir. Robot 10 cm içinde bir engel fark ettiği anda servo her iki yönde de dönmeye başlayacak ve böylece bir geçit aramaya başlayacaktır. Arduino, sensörden gelen bilgileri okur ve daha fazla hareket için hangi tarafın daha uygun olduğuna karar verir.
Her şeyden önce, sensöre bir servo bağlanmıştır. Yazar servoyu her yönde sadece 90 derece dönebilecek şekilde sabitler, başka bir deyişle servonun tam dönüşü 180 derece olacaktır.

Sensörün GND, sinyal ve 5V olmak üzere üç pini vardır. 5V kaynağı Arduino 5V kaynağına, GND'den GND'ye ve sinyal Arduino pin 7'ye bağlanır.

Adım dört. Beslenme.
Arduino 9V pil üzerinden güç alır, uygun konnektöre bağlanır. Motorlar, pil yuvasına takılı dört adet D tipi pil ile çalışır. Motorlara güç sağlamak için tutucu teller, SN754410NE motor sürücüsünün halihazırda kurulu olduğu karta bağlanır.

Beşinci adım. Robot montajı.
Önceki tüm adımları tamamladıktan sonra, tüm detayları bir araya getirme zamanı. Öncelikle Arduino, tankın tabanına takılır. Bundan sonra, sıcak tutkal kullanılarak robotun önüne bir ultrasonik telemetre takılır. Ardından yazar, Arduino'nun yanındaki pilleri düzeltir. Piller, tankın herhangi bir yerine takılabilir. Tüm bileşenleri taktıktan sonra, montajın doğru olduğundan emin olmak için tüm teller yukarı kaldırıldı ve karta güç verildi.

Altıncı adım. Program kodu.
Tankın montajı tamamlandıktan sonra sıra onun için bir program yazmaya gelir. Program, bir engelle çarpışmayı önlemek için robota ne zaman hareket edeceğini ve ne zaman duracağını göstermelidir. Yazardan kod yazarken

2 kilometreye kadar uzaktan kontrol edilebilen bir birinci şahıs RC tankı yapalım! Projem uzaktan kumandalı bir gezici üzerine kuruluydu, montajı kolay, programlaması kolay ve hobiler için harika bir proje!




Bot çok hızlı ve çevik, iki güçlü motor taşıdığından bahsetmiyorum bile! Irklar hangi yüzeyde olursa olsun, kesinlikle bir insanı geride bırakacak!

Bot, aylarca süren geliştirmeden sonra bile hala bir prototip.

Peki FPV nedir?
FPV veya Birinci Kişi Görünümü, Birinci Kişi Görünümüdür. Genellikle FPV'yi konsollarda ve bilgisayarlarda oynarken, örneğin yarış oyunlarında görürüz. FPV ayrıca ordu tarafından gözetim, koruma veya korunan alanları kontrol etmek için kullanılır. Hobiler, havadan çekim için ve sadece eğlence için FPV'yi quadcopter'larda kullanır. Bütün bunlar kulağa bir quadcopter yapmanın maliyeti kadar havalı geliyor, bu yüzden yerde hareket eden daha küçük bir şey yapmaya karar verdik.

Nasıl yönetilir?
Bot, Arduino kartına dayanmaktadır. Arduino, çok çeşitli eklenti ve modülleri (RC / WiFi / Bluetooth) desteklediğinden, iletişim türlerinden herhangi birini seçebilirsiniz. Bu montaj için, botu kontrol eden 2.4Ghz verici ve alıcı kullanarak uzun mesafelerde kontrole izin verecek özel bileşenler kullanacağız.

Son adımda bir demo videosu var.

Adım 1: Araçlar ve Malzemeler






Parçaların çoğunu yerel hobi dükkanlarımdan satın alıyorum, geri kalanını çevrimiçi buluyorum - sadece en iyi fırsatları arayın. Tamiya'dan birçok çözüm kullanıyorum ve talimatlarım bu özellik göz önünde bulundurularak yazılıyor.

Gearbest'ten yedek parça ve malzeme satın aldım - o zaman bir indirimleri vardı.

İhtiyacımız olacak:

  • Arduino UNO R3 Klonu
  • Pololu Çift VNH5019 Motor Kalkanı (2x30A)
  • Babaları sabitle
  • 4 ara parça
  • Vidalar ve somunlar
  • Sinyal iletim modülü (verici) 2,4 Ghz - 13. adımda daha fazlasını okuyun
  • En az iki kanal için alıcı 2.4 Ghz
  • 2 motor Tamiya Plazma Dash / Hiper çizgi 3
  • Tamiya Çift Motorlu Şanzıman Takımı (stok motorlar dahil)
  • 2 evrensel Tamiya panoları
  • Tamiya palet ve tekerlek seti
  • 3 Li-polimer pil 1500mAh
  • Yön ve yakınlaştırmanın uzaktan kontrolünü destekleyen POV kamera
  • FPV 5.8Ghz 200mW için verici ve alıcı
  • bir şişe süper yapıştırıcı
  • Sıcak tutkal

Alet:

  • çok amaçlı alet
  • Tornavida Seti
  • Dremel

Adım 2: Eşleştirilmiş bir dişli kutusunun montajı


Şanzımanı ambalajından çıkarma zamanı. Sadece talimatları izleyin ve iyi olacaksınız.

Önemli not: 58:1 dişli oranı kullanın!!!

  • dişlileri kutuyu monte etmeden önce yağlayın, sonra değil
  • metal ara parçaları unutmayın, aksi takdirde kutu gıcırdar
  • 58:1 dişli biçimini kullanın, 204:1'den daha hızlı

Adım 3: Motorları İyileştirin

Şanzıman motorlarla geliyor, ama bence çok yavaşlar. Bu nedenle projede daha fazla enerji tüketen Plazma Dash motorları yerine Hyper Dash motorları kullanmaya karar verdim.

Ancak Plazma Dash motorları, Tamiya'nın 4WD motor serisindeki en hızlı motorlardır. Motorlar pahalıdır, ancak para için daha iyi bir ürün alırsınız. Bu karbon kaplı motorlar, 3V'de 29.000 rpm'de ve 7V'de 36.000 rpm'de dönüyor.

Motorlar, 3V güç kaynakları ile çalışacak ve voltajı artıracak şekilde tasarlanmıştır, performansı artırsa da hizmet ömürlerini kısaltır. Pololu 2x30 Motor Sürücüsü ve iki adet Lityum Polimer pil ile Arduino yazılımı 320/400 maksimum hıza ayarlanmalıdır, bunun ne anlama geldiğini kısaca kod adımında öğreneceksiniz.

Adım 4: Motor Sürücüleri


Çok uzun zamandır robotiğe düşkünüm ve söyleyebilirim. en iyi motor sürücüsünün Pololu Dual VNH5019 olduğunu. Güç ve verimlilik söz konusu olduğunda, bu en iyi seçenek, ancak fiyat hakkında konuştuğumuzda, o açıkça bizim arkadaşımız değil.

Başka bir seçenek de L298 sürücüsünü oluşturmak olacaktır. 1 L298, yüksek akım motorları için en iyi çözüm olan tek motor için tasarlanmıştır. Size böyle bir sürücünün kendi sürümünüzü nasıl oluşturacağınızı göstereceğim.

Adım 5: Palet Montajı




Hayal gücünüzü kullanın ve parçaları beğeninize göre yapılandırın.

Adım 6: Ara Parçaları Vidalayın ve FPV'yi Takın



Yine hayal gücünüzü kullanın ve birinci şahıs görüşü için payandaları ve kamerayı nasıl konumlandıracağınızı bulun. Her şeyi sıcak tutkalla sabitleyin. Üst güverteyi takın ve FPV antenini monte etmek için ve takılı ara parçaların altına delikler açın, ardından her şeyi yerine vidalayın.

Adım 7: Üst Güverte


Üst güverteyi yaratmanın amacı, boş alanı artırmaktı, çünkü FPV bileşenleri drone'nun altında çok yer kaplıyor ve Arduino ve motor sürücüsü için yer bırakmıyor.

Adım 8: Arduino ve Motor Sürücüsünü Kurun

Arduino'yu üst güvertedeki yerine vidalayın veya yapıştırın ve ardından motor sürücüsünü bunun üzerine yerleştirin.

Adım 9: Alıcı Modülünün Kurulumu



Rx modülünü Arduino'ya bağlamanın zamanı geldi. Kanal 1 ve 2'yi kullanarak kanal 1'i A0'a ve kanal 2'yi A1'e bağlayın. Alıcıyı Arduino üzerindeki 5V ve GND pinlerine bağlayın.

Adım 10: Motorları ve Pilleri Bağlayın



Kabloları motora lehimleyin ve kanallara göre sürücüye bağlayın. Pil için JST erkek ve Dyna erkek fişleri kullanarak kendi konektörünüzü oluşturmanız gerekecektir. Sizden ne istendiğini daha iyi anlamak için fotoğraflara bakın.

Adım 11: Pil

Pili alın ve kuracağınız yeri belirleyin.

Bunun için bir yer bulduğunuzda, bataryaya bağlanmak için bir erkek adaptör oluşturun. 3S 12V Li-po pil, FPV kameraya, motora ve Arduino'ya güç sağlar, bu nedenle motor güç hattı ve FPV hattı için bir konektör oluşturmanız gerekecektir.

Adım 12: Arduino Kodu (C++)

Kod çok basit, sadece yükleyin ve VNH motor sürücüsü ile çalışması gerekir (sürücü kitaplığını indirdiğinizden ve Arduino kitaplıkları klasörüne koyduğunuzdan emin olun).

Kod Zumobot RC'ye benziyor, sadece motor sürücü kitaplığını değiştirdim ve birkaç şeyi değiştirdim.

L298 sürücüsü için standart Zumobot programını kullanın, her şeyi kütüphanede yazıldığı şekilde bağlamanız yeterlidir.

#define PWM_L 10 ///sol motor
#define PWM_R 9
#define DIR_L 8 ///sol motor
#define DIR_R 7

Sadece kodu yükleyin ve bir sonraki adıma geçin.

Dosyalar

Adım 13: Denetleyici


Piyasada radyo kontrollü oyuncaklar için farklı tipte kontrolörler vardır: su, toprak, hava için. Ayrıca farklı frekanslarda da çalışırlar: AM, FM, 2.4GHz, ancak sonunda hepsi sıradan kontrolörler olarak kalırlar. Kontrolörün tam adını bilmiyorum, ancak hava dronları için kullanıldığını ve yer veya su kanallarından daha fazla kanalı olduğunu biliyorum.

Şu anda Turnigy 9XR Verici Modu 2 (Modül Yok) kullanıyorum. Gördüğünüz gibi, isim modülsüz olduğunu söylüyor, bu da hangi 2.4GHz iletişim modülünün içine kurulacağını seçeceğiniz anlamına geliyor. Piyasada kendine ait kullanım, kontrol, mesafe ve diğer çeşitli özelliklere sahip onlarca marka bulunmaktadır. Şu anda JR w/ Telemetri Modülü ve V8FR-II RX için FrSky DJT 2.4Ghz Combo Pack kullanıyorum, bu biraz pahalı, ama sadece teknik özelliklere ve güzelliklere bakın, fiyat herkes için fazla görünmüyor o iyilik. Ayrıca, modül alıcıyla birlikte hemen gelir!

Ve bir kontrol cihazınız ve modülleriniz olsa bile, kontrol ünitesine uygun pilleri alana kadar onu açamayacağınızı unutmayın. Her durumda, size uygun kontrol cihazını bulun ve ardından doğru pillere karar verin.

İpucu: Yeni başlayan biriyseniz, yerel hobi dükkanlarından yardım isteyin veya amatör radyo meraklıları grupları bulun, çünkü bu adım sadece bir şaka değildir ve önemli miktarda para harcamanız gerekecektir.

Adım 14: Kontrol Edin




Önce botu açın, ardından verici modülünü açın, bundan sonra alıcı modülün LED'i yanıp sönerek başarılı bağlanmayı göstermesi gerekir.

FPV için Başlangıç ​​Kılavuzu

Bot üzerinde kurulu olan kısma FPV vericisi ve kamera, elinizdeki kısma ise FPV alıcısı denir. Alıcı herhangi bir ekrana bağlanır - LCD, TV, TFT vb. Tek yapmanız gereken pilleri içine takmak veya bir güç kaynağına bağlamak. Açın, ardından gerekirse alıcıdaki kanalı değiştirin. Bundan sonra, botunuzun ekranda ne gördüğünü görmelisiniz.

FPV sinyal aralığı

Proje, 1,5 - 2 km'ye kadar mesafede çalışabilen ucuz bir modül kullandı, ancak bu, daha güçlü bir sinyal almak istiyorsanız, cihazı açık alanda kullanmak için geçerlidir, daha sonra örneğin 1000mW gibi daha yüksek bir güç vericisi satın alın. . Lütfen vericimin yalnızca 200 mW olduğunu ve bulabildiğim en ucuzu olduğunu unutmayın.

Son adım, yeni casus tankınızı kameralı sürerken eğlenmek!

Sorularım var?

Yazım hatası bildir

Editörlerimize gönderilecek metin: