İçindekiler:

Arduino Kontrollü Servo Robot (SERB): 7 Adım (Resimli)
Arduino Kontrollü Servo Robot (SERB): 7 Adım (Resimli)

Video: Arduino Kontrollü Servo Robot (SERB): 7 Adım (Resimli)

Video: Arduino Kontrollü Servo Robot (SERB): 7 Adım (Resimli)
Video: Arduino ile Robotik Kol | Robot Kol Yapımı Detaylı Anlatım | (Kod+Şema) 2024, Temmuz
Anonim
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)
Arduino Kontrollü Servo Robot (SERB)

Kendi açık kaynaklı robotunuzu (CC (SA -BY)) oluşturarak açık kaynaklı mikro denetleyiciler (Arduino) ile denemeye başlamanın daha iyi bir yolu var mı? SERB'niz ile ne yapmalı?

  • (burada) - SERB'nizi internete nasıl bağlayabilir ve bir Skype görüntülü araması üzerinden kullanabilirsiniz.
  • (burada) - Wii nunchuck'ın ivmeölçerlerini Kullanarak SERB'nizi Nasıl Kontrol Edebilirsiniz
  • (burada) - Robotunuza Engel Tespit Eden Bıyık Nasıl Eklenir
  • (burada) - 30 kit nasıl yapılır (Açık İmalat)

Özellikleri:

  • Arduino Duemilanove mikro denetleyicisi (veya seçtiğiniz başka bir mikro denetleyici) kullanılarak tamamen programlanabilir.
  • Lehimlemeye gerek yok.
  • Akrilik parçalar için kesim seçenekleri. (kaydırmalı testere, lazer kesiciye erişim, önceden kesilmiş parçalar satın alma)
  • Ekstra cıvata delikleri ve dahil edilen devre tahtası ile kolayca genişletilebilir ve değiştirilebilir.
  • Çift bilyalı rulmanlı arka tekerlek.
  • 1-2 saat içinde çalışır hale gelir. (kitten)
  • Açık kaynak tasarımı (istediğiniz kadar oluşturun)

(Utanmaz Fiş) İngiltere'de ve Arduino şeylerini beğendiniz mi? yeni açılan web mağazamıza göz atın oomlout.co.ukTamamlanmış bir Arduino kontrollü servo robotun hızlı videosu - (SERB) dahil edilen test programını çalıştırır (adım 6) Not: Kaynak dosyalar paralel bir Eğitilebilir Dosyada (Kaynak Dosyaları) mevcuttur - Arduino Kontrollü Servo Robot Nasıl Yapılır - (SERB)

Adım 1: Parçalar ve Araçlar

Parçalar ve Araçlar
Parçalar ve Araçlar

Tüm cıvatalar yerel Ana Deponuzda bulunabilir. Diğer parçalar çevrimiçi olarak bulunabilir (her biri için en sevdiğim kaynağa bir bağlantı ekledim). Parça Listesi: Tüm donanım öğelerini içeren bir paket oomlout.com'un mağazasından satın alınabilir (buradan) (120 $)Somunlar ve Cıvatalar:

  • 3mm x 15mm cıvata (x20)
  • 3 mm x 10 mm cıvata (x12)
  • 3 mm somun (x34)
  • 3 mm pul (x12)
  • 8 mm x 25 mm cıvata (x2)
  • 8 mm somun (x2)
  • Kaykay Rulmanları (x2) (VXB) (bunlar standart paten rulmanlarıdır, böylece bir çift makaralı bıçaktan veya bir kaykaydan kurtarılabilirler)

Lastikler

  • Büyük O-ring (4.5" ID 3/16" Boncuk Çizgisi #349) (x2) (McMaster-Carr Ürünü #9452K407)
  • Küçük O-ring (3/4" ID 3/16" Boncuk Çizgisi #314) (x1) (McMaster-Carr Ürünü #9452K387)

Elektronik

  • Arduino Duemilanove (x1) (Maker Shed)
  • Sürekli Döndürme Servo (x2) (Paralaks)
  • 400 Kontak Breadboard (x1) (Tüm Elektronikler))
  • Dörtlü AA Pil Kutusu (x1) (Tüm Elektronikler)
  • 9V Pil Klipsi (x1) (Tüm Elektronikler)
  • 2,1 mm Fiş (x1) (Tüm Elektronikler)
  • 3 pinli başlık (x2) (Tüm Elektronikler)
  • A-B USB Kablosu - Yazıcı Stili (x1) (Tüm Elektronikler) (kite dahil değildir)

Piller:

  • AA Pil (x4) (kite dahil değildir)
  • 9v Pil (x1) (kite dahil değildir)

Tel:(tüm teller 22 AWG katıdır, benimkini McMaster-Carr aracılığıyla satın alıyorum)

  • 15 cm Mor (x2)
  • 15 cm Siyah (x1)
  • 5 cm Siyah (x2)
  • 5 cm Kırmızı (x2)

Aletler

  • Tornavida (x1) (Philips)
  • Kargaburun (x1)

Adım 2: Parçaları Kesme

Kesme Parçaları
Kesme Parçaları
Kesme Parçaları
Kesme Parçaları
Kesme Parçaları
Kesme Parçaları
Kesme Parçaları
Kesme Parçaları

Lütfen seçtiğiniz kesme seçeneğine göre hangi adımları izleyeceğinizi seçin. Seçenek 1 (Önceden Kesilmiş Parça Satın Alma)

oomlout.com'un mağazasından (burada) önceden kesilmiş bir kasa satın alın (ABD ve Kanada'ya nakliye dahil 60 ABD doları)

Seçenek 2 (Dijital Üretim (yani Ponoko) / Lazer Kesiciye Erişim)

  • Lazer kesici düzenini indirin ("03 SERB Ponoko Kesim Düzeni P2.eps" veya "03-(SERB)-Ponoko Kesim Düzeni (P2).cdr")
  • Dosyaları Ponoko kullanarak veya kendi Lazer Kesicinizle (3 mm,.118" akrilik kullanarak (bazen.125" olarak satılır) kesin) kesin.

Seçenek 3 (Kaydırma testere ve Matkap)

  • PDF kalıbını indirin ve yazdırın (lütfen kağıt boyutunuza uygun dosyayı seçin) 03-(SERB)-ScrollSaw Pattern (letter).pdf 03-(SERB)-ScrollSaw Pattern (A4).pdf (ölçek olmaması önemlidir) yazdırırken çizim)
  • Çıktıdaki cetveli güvendiğiniz bir cetvele göre ölçün, eğer ölçeklenmiş desenle eşleşmiyorlarsa ve yeniden yazdırmadan önce yazıcınızın ayarlarına bakmanız gerekiyorsa. Eğer eşleşirlerse, ileriye.
  • Deseni akrilik levhaya yapıştırın (3 mm, 0,118" (bazen 0,125") olarak satılır).
  • Matkap delikleri.
  • Bir kaydırma testeresi kullanarak kesme parçaları

Adım 3: Montaj

toplantı
toplantı
toplantı
toplantı
toplantı
toplantı

Tebrikler, sürecin %90'ı tamamlandı, sadece bu adımdaki montaj talimatlarını indirin (04-(SERB)-Assembly Guide.pdf) & küçük bir lego/mekanik tarzı montajdan sonra kablolamaya hazır olacaksınız. Yol boyunca sizi eğlendirmek için derlememin bir hızlandırılmış hali:

Adım 4: Kablolama

kablolama
kablolama
kablolama
kablolama

Tüm büyük parçalar bir araya geldiğinde, robotumuzun kontrol edilmesini sağlayacak küçük elektrik damarlarını eklemenin zamanı geldi. Bunu yapmak için bağlantı şemasını indirin ve yazdırın (05-(SERB)-Wiring Diagram.pdf). İlk bakışta oldukça göz korkutucu görünebilir, ancak her bağlantıyı sırayla yaparsanız ve zaman ayırırsanız, oldukça hızlı bir şekilde bir araya gelir. Kablolama oldukça basittir ve pil eklemeden devrenize herhangi bir zarar gelemez. Bu yüzden her şeyi bağlayın, iki kez kontrol edin, ardından güç ekleyin.

Adım 5: Test Etme ve Sorun Giderme

Test ve Sorun Giderme
Test ve Sorun Giderme

Bir kit sipariş ettiyseniz, Arduino'nuz bir test programı ile önceden yüklenmiş olarak gelir. Sadece 4 adet AA pil takın ve 9v pili Arduino'ya takın. Ve her şey doğru yapıldıysa robotunuz hareket etmeye başlayacaktır (1 ile 2 saniye arasında rastgele bir süre ilerlemeden önce 0,1 ile 1 saniye arasında rastgele bir yöne dönecek ve tekrar başlamadan önce 2 saniye duraklayacaktır). Bir kit satın almadıysanız, ek bir adım gereklidir. Ekli zip dosyasını indirin (07-(SERB)- SERB-Test Arduino Program.zip). Ardından, Arduino çizim dizininizde (varsayılan "Belgelerim\Arduino\") açın ve arduino panonuza indirin. (Arduino'da yeniyseniz, harika başlangıç eğitimlerine bağlantıların olduğu bir adım ileri atlayın) Yaygın Sorunlar: SERB'im durdurulması gerektiğinde yavaş hareket ediyor. Bu, servolarınızın tam olarak kalibre edilmemiş olmasının bir sonucudur, servolarınızı kalibre etmek için programınız servolar durana kadar bekleyin, ardından küçük bir tornavida ile potansiyometreyi servo içinde çevirin (servo kasasındaki tellerin hemen üzerindeki küçük açıklık)). Servo gerçekten durana kadar sola veya sağa çevirin. İşler pek düzgün çalışmıyor. Bize belirtilerinizi içeren bir e-posta gönderin, biz de size yardımcı olmaya çalışalım. Siz yanıt beklerken 4. adımdaki bağlantı şemasıyla tüm kablolarınızı iki kez kontrol edin. Herhangi bir sorunla karşılaşırsanız, lütfen bir yorum ekleyin. bu Eğitilebilir Dosyaya veya [email protected] adresine bir e-posta gönderin; SERB'nizi çalıştırmanıza yardımcı olmak için elimizden gelenin en iyisini yapacağız.

Adım 6: Programlama

Programlama
Programlama

Fiziksel robot, ona bir beyin vermenin zamanı geldi. Arduino Kontrollü Servo Robot programlamanın ayrıntılarına girmeden önce - (SERB) - internetteki bazı mükemmel Arduino programlama kaynaklarına birkaç bağlantı. Arduino Başlangıç Kılavuzu - Bir kılavuz Arduinos ile başlamanıza yardımcı olmak için, programlama ortamını indirmekten ilk programınızı yazmaya kadar. Arduino Programlama Referansı - Arduino programlama diline başvurması kolay eksiksiz bir kılavuz. Servolar Nasıl Çalışır - Servo motorların nasıl çalıştığına dair hızlı bir başlangıç. Arduino Servo Kitaplığı - Arduino Servo kütüphanesi nasıl çalışır (servolarımızı nasıl kontrol ederiz) Arduino Kontrollü Servo Robotunuzu programlamaya başlamanın üç yolu vardır - (SERB). Seçenek 1: (SERB_Test.pde'yi Değiştirme)Bazen programlama yaparken yapılacak en kolay şey, çalışan bir program alıp kendi kodunuzu eklemeye başlamaktır. Bunu yapmak için SERB_Test sıkıştırılmış programını indirin (07-(SERB)- SERB-Test Arduino Program.zip). Bunu Arduino eskiz klasörünüzde açmaya devam edin (varsayılan "Belgelerim\Arduino\"). Son olarak Arduino programlama ortamını açın ve Arduino'nuza indirin. Kod iyi yorumlanmıştır. (veya bu adımdaki ekteki kodu kopyalayıp yeni bir Arduino Sketch'e yapıştırın) Seçenek 2: (Programınıza SERB Rutinleri Ekleme) Önceden var olan programınıza bazı basit rutinler ekleyin (goForward(gibi)), setSpeed(int) vb.). Bunu yapmak için metin dosyasındaki rutinleri indirin (07-(SERB)- Simple Routines Text.txt). 1. Başlangıç kısmını kopyalayıp programınızın başına yapıştırın.2. Rutin kısmını kopyalayıp programınızın gövdesine yapıştırın.3. serbSetup()'a bir çağrı ekleyin; kurulum() rutininize. Seçenek 3: (Sıfırdan kendi programınızı oluşturmak) Bu çok zor değil. Gerekli olan tek şey Arduino Servo Kütüphanesini tanımaktır. Daha sonra sağ servo pin 9'a ve sol servo pin 10'a bağlanır. not: Ek programlar geliştirildikçe buraya eklenecektir; veya bir şey geliştirirseniz ve öne çıkmasını istiyorsanız bana özel mesaj gönderin ve eklenebilir. Ek: (SERB_Test.pde Kodu)

/* * Arduino Kontrollü Servo Robot (SERB) - Test Programı * Daha fazla ayrıntı için ziyaret edin: https://www.oomlout.com/serb * * Davranış: SERB'nin * rastgele sola veya sağa dönmesine neden olan basit bir test programı 0.1 ile 1 saniye arasında * rastgele bir zaman periyodu için. * SERB daha sonra 1 ile 2 saniye arasında rastgele * bir süre boyunca ilerleyecektir. Son olarak * tekrar başlamadan önce 2 saniye duraklama. * * Kablolama: Sağ Servo Sinyali - pin 9 * Sol Servo Sinyali - pin 10 * * Lisans: Bu çalışma, Creative Commons * Atıf-Benzer Paylaşım 3.0 Aktarılmamış Lisansı ile lisanslanmıştır. Bu lisansın bir kopyasını görüntülemek için * https://creativecommons.org/licenses/by-sa/3.0/ * adresini ziyaret edin veya Creative Commons, 171 Second * Street, Suite 300, San Francisco, California 94105'e bir mektup gönderin, * AMERİKA BİRLEŞİK DEVLETLERİ. * */ //------------------------------------------------ -----------------------------// ARDUINO KONTROLLÜ SERVO ROBOT (SERB) BAŞLANGICI BAŞLANGIÇ#include #define LEFTSERVOPIN 10 #define RIGHTSERVOPIN 9Servo solServo; Servo hakkıServo; int hız = 100; //robotun (her iki servo) hızını ayarlar //0 ile 100 arasında bir yüzde// ARDUINO KONTROLLÜ SERVO ROBOTUN SONU (SERB) BAŞLANGIÇ//---------------- -------------------------------------------------- --------/* * pinleri uygun durumlara ayarlar ve servoları bağlar. Ardından program başlamadan önce * 1 saniye duraklar*/ void setup() { serbSetup(); //gerekli olan tüm pinlerin durumunu ayarlar //çiziminize servolar ekler randomSeed(analogRead(0)); //rastgele sayı tohumunu //orta derecede rastgele bir gecikmeyle(1000);}/* * robotu * 0,1 ile 1 saniye arasında sola veya sağa (rastgele) döndürür. 1 ile 4 saniye arasında rastgele bir süre * için ileri gitmeden önce. İki saniye duraklamadan önce * tekrar başlayın.*/void loop() { turnRandom(100, 1000); //0,1 saniye ile //bir saniye arasında //rastgele bir zaman aralığı için rastgele sola veya sağa döner goForwardRandom(1000, 2000); //Rastgele bir zaman aralığı için ileri gider // // ve 2 saniye arasında goStop(); //Robot gecikmesini durdurur(2000); //2 saniyeliğine duraklar (dururken)}/* * robotu * minTime (milisaniye) ile maxTime (milisaniye) arasında rastgele bir süre boyunca rastgele sola veya sağa döndürür */void turnRandom(int minTime, int maxTime){ int seçim = rastgele(2); //Karar verilecek rastgele sayı //sol (1) ve sağ (0) arasında int turnTime = random(minTime, maxTime); //Duraklama için rastgele sayı //zaman if(choice == 1){ goLeft();} //Rastgele sayı = 1 ise, //sola dön {goRight();} //Rastgele sayı = 0 ise dönüş //sağa gecikme(turnTime); //rastgele süre için gecikme }/* * minTime (milisaniye) * ve maxTime (milisaniye) arasındaki rastgele bir zaman aralığı için ileri gider */void goForwardRandom(int minTime, int maxTime){ int forwardTime = random(minTime, maxTime); //ileri gitmek için rasgele bir zaman belirle goForward(); //SERB iletme gecikmesini ayarlar(forwardTime); //rastgele zaman aralığı için gecikmeler}//------------------------------------------- --------------------------------//ARDUINO KONTROLLÜ SERVO ROBOT (SERB) RUTİNLERİNİN BAŞLANGICI/* * arduino, dahil edilen rutinleri kullanarak SERB'nizi ele almak için*/void serbSetup(){ setSpeed(speed); pinMode(SOLSERVOPIN, ÇIKIŞ); //sol servo sinyal pinini //çıkış pinModuna ayarlar(RIGHTSERVOPIN, OUTPUT); //sol servo sinyal pinini ayarlar // leftServo.attach(LEFTSERVOPIN); //sol servoyu ekler sağaServo.attach(RIGHTSERVOPIN); //servoyu sağa bağlar goStop();}/* * robotun hızını 0-(durduruldu) ile 100-(tam hız) arasında ayarlar * NOT: hız mevcut hızı değiştirmez hızı değiştirmeniz gerekir * sonra bir çağırın */ void setSpeed(int newSpeed){ if(newSpeed >= 100) {newSpeed = 100;} //hız 100'den büyükse //100 yap if(newSpeed <= 0) {newSpeed = 0;} //hız 0'dan küçükse //it 0 hız = newSpeed * 0.9; //hızı //0 ile 90 arasında olacak şekilde ölçeklendirir}/* * robotu ileri gönderir */void goForward(){ leftServo.write(90 + speed); rightServo.write(90 - hız);}/* * robotu geriye doğru gönderir */void goBackward(){ leftServo.write(90 - hız); rightServo.write(90 + hız);} /* * robotu sağa gönderir */void goRight(){ leftServo.write(90 + hız); rightServo.write(90 + hız);}/* * robotu sola gönderir */void goLeft(){ leftServo.write(90 - hız); rightServo.write(90 - hız);}/* * robotu durdurur */void goStop(){ leftServo.write(90); rightServo.write(90);} //ARDUINO KONTROLLÜ SERVO ROBOT (SERB) RUTİNLERİNİN SONU//---------------------------- --------------------------------------------------

Adım 7: Bitirdi, Bitirenler ve Gelecek

Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek
Biten, Biten Diğerleri ve Gelecek

Buraya kadar geldiğiniz için tebrikler ve umarım Arduino Kontrollü Servo Robotunuz - (SERB) ile eğleniyorsunuzdur. Michael Beck'in SERB -Michael'ı Thingiverse.com'da SERB planlarını buldu ve onunkini sarı ve kırmızı akrilikten kesti. Bence harika görünüyor. Mike'ın SERB'si - Mike (St. Louis Bölgesi robot kulübü ROBOMO'dan) bir arkadaşına bir SERB şasisini lazerle kesti ve onu kurmak ve çalıştırmak için kendi robotik bilgisini kullandı. Bence mavi yapıldığında harika görünüyor. (bunun yanı sıra diğer robotlarıyla ilgili ayrıntılar için web sitesine bakın (buradan) Bu bölümde gelecekteki gelişmeler ve eklentiler hakkında ayrıntılar olacak (düzgün bir şekilde belgelenmeden önce burada yer alacaklar) Ama aynı zamanda resimleri de göstermek istiyorum. diğer insanların SERB'leri. Bitirdiyseniz, bana bir fotoğraf ve birkaç kelime ile özel bir mesaj gönderin (ister açıklama ister web sitenize bir bağlantı olsun) ben de buraya ekleyeceğim.(Utanmaz Fiş)Beğendiyseniz Bu talimat, diğer eğlenceli açık kaynak projeleri için oomlout.com'a göz atın.

SANYO eneloop Pille Çalışan Yarışmada Birincilik Ödülü

Önerilen: