Devreler

Robot Nasıl Yapılır - Ders 2: Temel Bir Arduino Robotu Yapın: 19 Adım

Engelden Kaçan Robot Nasıl Yapılır? (Arduino ile Detaylı Yapımı)

Engelden Kaçan Robot Nasıl Yapılır? (Arduino ile Detaylı Yapımı)

İçindekiler:

Anonim

İlk dersten sonra (Bir Robot Nasıl Yapılır - Giriş), artık bir Arduino robotunun ne olduğu, bir robot inşa etmek için ihtiyacınız olan şeylerin yanı sıra araçların nasıl kullanılacağına dair temel bir bilginiz var. Şimdi, yapmaya başlamanın zamanı geldi!

Bu ikinci derste, temel bir Arduino robotu yapmayı öğreneceksiniz. Bu eğitimin izlenmesini kolaylaştırmak için, burada bir Arduino robot kiti (Korsan: Bluetooth 4.0 ile 4WD Arduino Mobil Robot Kiti) örnek olarak kullanılmıştır.

Dersler Menüsü:

Ders 1: Giriş

Ders 2: Temel bir Arduino Robo oluşturun

Ders 3: Bir Çizgi İzleme Arduino Robotu Oluşturma

Ders 4: Engelleri Önleyebilecek Bir Arduino Robotu Oluşturun

Ders 5: Işık ve Ses Efektleri Olan Bir Arduino Robotu Oluşturun

Ders 6: Ortamı İzleyebilecek Bir Arduino Robotu Oluşturun

Ders 7: Bluetooth Kontrollü bir Arduino Robotu Oluşturun

Montaj talimatları

1. ADIM: Kendi Motorunuzu Kurun

Sekiz uzun vida için parça çantanıza bakın. Bunlar, motorları yerlerinde sabitlemek ve emniyete almak için kullanılır. Motorları doğru hizaya getirin, ardından aşağıdaki resimde gösterildiği gibi yerine vidalayın.

Lütfen, pulların ve contaların da parça torbasına dahil olduğunu unutmayın. Motorları yerine sabitlemeye yardımcı olan sürtünmeyi arttırmak için rondelalar kullanılabilir. Contalar, robotunuzun hareketleri ve çarpışmaları nedeniyle vida somunlarının gevşemesini ve düşmesini önler.

Gereçler:

Aşama 1:

2. ADIM: Kabloları Lehimleme

Siyah ve kırmızı kabloları parça torbasından çıkarın. Her motora (toplam 4 motor) bir siyah ve bir kırmızı kablo (15 cm uzunluğunda) takın. Ardından, kabloların her iki ucundaki yalıtımı sıyırmak için kablo sıyırıcınızı kullanın (çok fazla sıyırmadığınızdan emin olun - aşağıdaki resimlere bakın). Daha sonra, telleri motora yapıştırılan pimlerin üzerine lehimleyin. Dört motorun tamamı için lehim işlemini tekrarlayın.

NOT: Lehimleme sırasında kırmızı ve siyah tellerin doğru konumlarına dikkat edin. Lütfen ayrıntılar için aşağıdaki fotoğraflara bakın.

Adım 2:

ADIM 3: Romeo BLE kontrol cihazını monte edin

Üç bakır destek için parça çantanıza bakın. 1 cm uzunluğundaki bu destekler, Romeo kontrol panosunu sabitlemek için kullanılır. Aşağıdaki resimde gösterildiği gibi, kontrol panosunda üç delik vardır. Üç bakır desteği deliklere yerleştirin, ardından uygun vidalarla yerine sabitleyin.

Aşama 3:

ADIM 4: Akü Kutusunu Takma

İki havşa vidasını çıkarın (kafaları düzdür). Ardından aşağıdaki resimde gösterilen adımları izleyin ve aküyü araç tabanına takın.

4. Adım:

5. ADIM: Güç Anahtarının Hazırlanması

Aküler, robotların temel can damarıdır. Güç kullanımını kontrol etmek için, bir güç düğmesi kullanmamız gerekir: düğme kullanılmadığında gücü kapatır, böylece elektrik ve pil ömrünü korur. Güç anahtarını takmadan ve kurmadan önce aşağıdaki resme bakın.

Lütfen anahtarın montajında ​​contaların ve vida somunlarının sırasına dikkat edin.

Adım 5:

Anahtarın montajından sonra tellerini lehimlemeye başlamak istiyoruz. Kalan tel artıklarının bir kısmını daha önce alın. Kabloları, kabloların her iki ucundan kabloyu soyun, böylece kablonun iç kısmı açıkta kalır (önceki motorlarla aynı işlem yapılır). Tellerin açıkta kalan ucunu anahtardaki pimlere lehimlemek istiyoruz. Lehimleme sırasında, anahtarın pimlerinin konumunu not almamız çok önemlidir.

6. Adım:

Bu adımı adım adım yapalım.

a) Anahtarı akü şarj cihazına bağlayın. Her iki öğenin tam konumuna dikkat edin.

7. Adım:

b) Anahtarı aşağıdaki resimde gösterildiği gibi akü şarj cihazına bağlayan kırmızı kabloları lehimleyin.

8. adım:

İşte işleri daha net hale getirmek için başka bir resim.

c) Son olarak, bir kırmızı kablo ve bir siyah kablo alın. Bir kablonun bir ucunu akü şarj cihazının negatif kutbuna ve diğer kablonun bir ucunu akü şarj cihazının artı kutbuna takın. Ardından her iki kablonun diğer uçlarını Romeo BLE denetleyicisine takın.

9. adım:

c) Son olarak, bir kırmızı kablo ve bir siyah kablo alın. Bir kablonun bir ucunu akü şarj cihazının negatif kutbuna ve diğer kablonun bir ucunu akü şarj cihazının artı kutbuna takın. Ardından her iki kablonun diğer uçlarını Romeo BLE denetleyicisine takın.

10. Adım:

Bu büyütülmüş resme bakıldığında, tellerin nasıl bağlanacağı konusunda daha iyi bir fikir vermelisiniz. Lehimleme işleminden sonra, batarya ile Romeo kontrol ünitesi arasındaki kablo bağlantısının baştan sona tutarlı olup olmadığını ve yukarıdaki resimlerle aynı olup olmadığını kontrol ettiğinizden emin olun.

ADIM6: Araba Tabanını Monte Edin

Sekiz adet M3x6mm vida kullanarak, yan plakaları aşağıdaki şekilde gösterildiği gibi ön ve arka tampon plakalarına takın.

NOT: Bu adımda vidaları sıkarken, ilk önce vidaları tam olarak sıkmadığınızdan emin olun - bu şekilde üst panoyu ayarlamalar yapmamız gerekirse daha sonraki adımlarda kolayca çıkarabiliriz.

11. adım:

Ardından, taban plakasını aşağıdaki resimde gösterildiği gibi aracın gövdesine tekrar takın.

Adım 1/2:

** Bu, araba tabanının monte edildikten sonra nasıl olması gerektiğidir - aküyü takmayı unutmayın!

ADIM7: Motorları Mikrodenetleyici Kartı ile Bağlayın

Şimdi mikrodenetleyici kartı olan motorlara ihtiyacımız var. Aşağıdaki diyagramı dikkatlice izleyin: Sol motorun kırmızı ve siyah telleri M2'ye lehimlenmeli; sağ motorun kırmızı ve siyah telleri M1'e lehimlenmelidir. Akü paketine özellikle dikkat edin: siyah tel, GND okuyan tel portuna lehimlenmeli, kırmızı tel ise VND etiketli tel portuna lehimlenmelidir. Kablo portlarını gevşetmek ve sıkmak için tornavidayı kullanın - bu portların kablolar yerleştirildikten sonra iyice bağlandığından emin olun.

NOT: Bir motordan (yani sol motordan) gelen tellerin motor portuna lehimlendiğinden emin olun. (diğer bir deyişle, aşağıdaki şemadaki M2 bağlantı noktası - bir motorun kablolarını iki ayrı bağlantı noktasına lehimlemeyin.)

13. Adım:

Motor tellerini mikrodenetleyici panosuna lehimledikten sonra, üst plakayı otomobilin tabanına tutturmaya hazırız.

Üst plakayı takmadan önce, bir sensör plakası takma seçeneğiniz vardır (aşağıdaki şemaya bakın) - henüz sensörleri kullanmayı düşünmüyorsanız, bu ilave adımı atlayabilirsiniz.

Adım 14:

Platformun üst kısmını taktıktan sonra, robot platformunuz aşağıdaki resme benzemelidir.

15. Adım:

ADIM8: Robotunuza ekstra seviye ekleyin

Tabanın üst plakasındaki dört deliği bulun. Dört M3x60mm Bakır Standoffs vidalayın, daha sonra aşağıdaki şemada gösterildiği gibi ilave üst levhayı takın - levhayı bakır tırnaklara tutturmak için M3x6mm vidalar kullanın.

16. adım:

Bazı platformları robot platformunuza atın ve kırbaçlamaya izin vermeye hazırsınız!

17. Adım:

KODLAMA

Montajdan sonra mikrodenetleyiciye kod yükleme ve Arduino robotunuzu hareket ettirme zamanı. Robot, monte edildikten sonra hareket etmek için tüm bileşenlere sahiptir. “MotorTest.ino” başlıklı Arduino dosyası için örnek kodlara göz atın.

Örnek kod MotorTest :

#Dahil etmek

DFMobile Robot (4,5,7,6); // Motor pimini başlat

geçersiz kurulum () {

Robot.Direction (DÜŞÜK, YÜKSEK); // pozitif yönü başlat

}

boşluk döngüsü () {

Robot.Speed ​​(255,255); // İleri

gecikme (1000);

Robot.Speed ​​(-255, -255); //Geri

gecikme (2000);

}

Kodu indirin, sonra mikrodenetleyicinize yükleyin. Motorlar ve tekerlekler aceleyle canlanmalı. Değilse, pillerinizin ve güç anahtarınızın doğru takılıp takılmadığını kontrol edin. Motorlar çalıştıktan sonra tebrikler! Büyük bir adımı tamamladınız - kauçuğumuzu yola koymanın zamanı geldi.

Ardından robot arabanızı gözlemleyin ve 1 saniye içinde ileri hareket edip etmediğini ve 1 saniye içinde geriye doğru hareket edip etmediğini kontrol edin. Bu durumda, iyi şanslar. Bileşenleri ayarlamanız gerekmez. Otomobil tabanında veya motorlarda bazı ayarlamalar yapmak isteyenler için, lütfen robotun nasıl hareket ettiği hakkında aşağıdaki bilgileri bulun.

Robotik platformunuzun yukarıda gösterilen kodu takip edip etmediğini kontrol edin: 1 saniye ileri hareket etmeli, ardından 1 saniye geri hareket etmelidir. Bu durumda, aşağıdaki içeriği gözden geçirin ve gitmeye hazırsınız!

Bununla birlikte, çoğu insan, motorlarında ayarlamalar yapmak zorunda kalacaktır. Bunu yapmadan önce, robotumuzun motor işlevinin ve kodunun nasıl çalıştığını kısaca gözden geçirelim.

Robot Nasıl İleri Hareket Edilir? Bu soruyu anlamak için, önce robotumuzun ileriye doğru hareketini inceleyelim.

Aşağıdaki diyagram bu ileri hareketi göstermektedir.

18. Adım:

Yukarıdaki kırmızı ok, tekerleklerin yönünü temsil eder. Yukarıdaki haritada gösterildiği gibi, araç ancak hem sol hem de sağ tekerlekler / motorlar ileri doğru hareket ediyorsa ileri doğru hareket edebilir. Yukarıda gösterildiği gibi, Arduino robotu yalnızca hem sol hem de sağ motorlar ve tekerlekler ileri doğru hareket ederken ileri doğru hareket eder.

Kod özeti

İlk kod satırı:

#include // call library

Bu hat hakkında çok fazla düşünmemize gerek yok. Tek yaptığımız Arduino’nun temel çerçevesi dışında kalan bir dizi işlevi (DFMobile kütüphanesi) çağırmak / kullanmak. Arduino kütüphaneleri hakkında daha fazla bilgi için, lütfen Arduino web sitesine bakınız.

Bir sonraki kod satırı:

DFMobile Robot (4,5,7,6); // Motor pimini başlat

Bu işlev DFMobile kütüphanesinden alınır (yani, evrensel bir Arduino işlevi değildir).Mikrodenetleyicideki motor pimlerini (4, 5, 7, 6) başlatmak için burada kullanıyoruz - bu olmadan motorlar çalışmayacak.

Bu işlevi daha sonra da kullanacağız.

Aşağıdaki işleve bir göz atın:

DFMobile Robot

(EnLeftPin, LeftSpeedPin, EnRightPin, RightSpeedPin);

Bu fonksiyon dört motor pimini (4, 5, 7, 6) başlatmak için kullanılır ve dört ayrı parametreye ayrılır:

EnLeftPin left Sol motor yönünü kontrol eden pim

LeftSpeedPin left Sol motor hızını kontrol eden pim

EnRightPin right Doğru motor yönünü kontrol eden pim

RightSpeedPin right Doğru motor hızını kontrol eden pim

Lütfen dikkat: robotun motorları bu fonksiyon dahil edilmeden çalıştırılmaz. Ayrıca, bu işlev Arduino taslağınızdaki boşluk setup () alanına yerleştirilmelidir.

Robotunuzun daha önceki hareketlerini daha önce test ederken, belirli bir sorunla karşılaştık: araba kaymaya başlayacak, yön değiştirmeye başlamış ve verdiğimiz kodu tam olarak takip etmeyecek. Bunun nedeni, motor tellerinin akülere doğru şekilde lehimlenmemesidir.

Endişelenmeyin - bunu kod aracılığıyla düzeltebiliriz. DÜŞÜK / YÜKSEK değerleri kullanarak, aracın dönüş yönünü ayarlayabiliriz.

Robot Araba İçin Düz Yönü Nasıl Ayarlarım?

Motorların ve tekerleklerin yönünü ayarlamak için aşağıdaki kod satırına ihtiyacımız var:

Robot.Direction (DÜŞÜK, YÜKSEK);

İşlev aşağıdaki gibidir:

Robot.Direction (Sol Yön, Sağ Yön);

Bu fonksiyon, motorların ileri yönde hareket etmesini sağlamak için kullanılır. İşlev iki parametreye ayrılmıştır: Arduino kodunda DÜŞÜK veya YÜKSEK olarak yazılan Sol Yön ve Sağ Yön.

Daha önce, Arduino robotunu ileri yönde nasıl hareket ettireceğimizi kısaca gözden geçirdik. Burada, robotun yöndeki hareketini düzeltmek için DÜŞÜK / YÜKSEK kullanacağız. Örneğin, SolDirection örnek kodda DÜŞÜK olarak ayarlandı. Ancak robot arabanın sol tekerlekleri ileriye dönmek yerine geriye doğru dönebilir. Şimdi yapmanız gereken tek şey LeftDirection'ı LOW'dan HIGH'a değiştirmek. Aynı yöntemler doğru tekerlekler için de geçerlidir.

Örneğin: bu örnek kodda, LeftDirection DÜŞÜK olarak yapılandırılmıştır. Sol tekerleklerinizin, olması gerektiği gibi ilerlemek yerine geriye doğru hareket ettiğini varsayalım. Bu durumda, Sol Yönlendirme yapılandırmasını DÜŞÜK'ten YÜKSEK'e değiştirin. YÜKSEK olarak değiştirdikten sonra, kodunuzu bir kez daha yükleyin - sol tekerleğinizin artık geriye doğru yerine ilerlediğini fark etmelisiniz. Bu ayar çalışırsa, RightDirection için de aynısını yapın (DÜŞÜK için YÜKSEK veya tam tersi).

Arduino robotunuzun yönünü başarıyla ayarladıktan sonra hazırsınız! Tebrikler - Artık robotun tüm temel işlevlerini kullanabilirsiniz. İşlemi bitirmeden önce, Robot.Speed ​​() işlevini kısaca tartışmak gerekir.

Aşağıdaki fonksiyona bir göz atın:

Robot.Speed ​​(LeftSpeed, RightSpeed);

İki elemanlı bu fonksiyon (LeftSpeed ​​ve RightSpeed), motorun hızını ayarlamak için kullanılır. -255 ile 255 arasında bir sayı yazabilirsiniz. 255 en yüksek rakamdır ve eksi işareti yönü temsil eder.

Bu fonksiyon, motorların hızını yapılandırmak için kullanılır. İşlev iki parametreye ayrılmıştır: LeftSpeed ​​& RightSpeed. Bu parametreler Arduino kodunda -255 ile 255 arasında değişen bir değer olarak yazılmıştır. 255, ileri doğru hareket eden en hızlı hızdır; -255, geriye doğru hareket eden en hızlı sürattir (yani geriye doğru).

Robotun hızını kodumuzun geçersiz kurulum () bölümünde zaten yapılandırdık. Artık otomobilin hızını ve hatta ileri / geri yönünü kontrol etmek için speed () işlevini kullanabiliriz.

Aşağıdaki iki satırı anlayabiliyor musunuz bir bakın:

Robot.Speed ​​(255,255);

Robot.Speed ​​(-255, -255);

İlk satır, aracın tam hızda ilerleyişini gösterir - tam hız ileride, eğer istersen (hoşçakal, kaptan). İkinci satır, otomobilin tam hızda geriye doğru hareket ettiğini (geri gittiğini) gösterir.

Bu anlamda, speed () vazgeçilmez bir fonksiyondur. Daha sonra, son bölümümüzü gözden geçireceğiz: robotun nasıl hareket ettiğini ve döndüğünü arkasındaki prensipler.

Robot nasıl hareket eder ve döner

Aşağıdaki harita robot araba için bazı düzenli hareket yollarını göstermektedir. Örneğin, Sol Yönün hızının sıfır olması durumunda, sağ tekerleklere ileri gitmek için bir miktar kuvvet uygularsanız robot sola döner.

Aşağıdaki diyagram, Arduino robotunun hareket edebildiği ve dönebildiği çeşitli yollar gösterir. Örneğin, sol tekerleklerin hızı 0 olarak ayarlanmışsa, bu sağ tekerleklerin ileri doğru hareket etmesine neden olur - böylece Arduino robotu sola döner.

19. Adım:

Dikkate alınacak bir şey: Robotunuzun durağan iken daire şeklinde dönmesini nasıl sağlayabiliriz?

Son olarak: İsterseniz, kendi robotunuzun hareketini test etmek ve kalibre etmek için biraz daha kod çalıştırabilirsiniz. “MotorTest2.ino” dosyasını açın. Bu kod, sola ve sağa dönüşlerin yanı sıra ileri ve geri hareket yeteneklerini daha iyi anlamanıza ve ölçmenize yardımcı olmalıdır. Bunu akılda tutarak, bu lastikleri yola (veya halıya) koyun ve bırakalım!

Tebrikler, şimdi ilk robotunuzu yaptınız! İleri, geri, sola ve sağa dönebilen bacis fonksiyonlarına sahiptir.

Heyecanlı hissetmek? Önümüzdeki birkaç derste, örneğin engelleri önleyebilecek ve çizgiyi izleyebilecek daha gelişmiş bir robotun nasıl oluşturulacağını öğreteceğiz.