İçindekiler:

Zio Modüllü Robotik Kol Bölüm 2: 11 Adım
Zio Modüllü Robotik Kol Bölüm 2: 11 Adım

Video: Zio Modüllü Robotik Kol Bölüm 2: 11 Adım

Video: Zio Modüllü Robotik Kol Bölüm 2: 11 Adım
Video: Arduino ile Robotik Kol | Robot Kol Yapımı Detaylı Anlatım | (Kod+Şema) 2024, Temmuz
Anonim
Zio Modüllü Robotik Kol Bölüm 2
Zio Modüllü Robotik Kol Bölüm 2

Bugünkü eğitimde, robotik kolu kontrol etmek için 4 servoyu ve bir PS2 kablosuz kontrol cihazını kullanacağız.

Bu blog yazısı, Zio Robotik Serisinin bir parçasıdır.

Tanıtım

Önceki blogumuzda, Zio modüllerini kullanarak bir Robotik Kolun nasıl kontrol edileceğine dair Bölüm 1 öğreticisini yayınlamıştık. Bölüm 1 çoğunlukla Robotik Kolunuzun Pençesinin açılıp kapanmasını otomatik olarak kontrol etmeye odaklandı.

Bugünün eğitiminde, Robotik Kolu kontrol etmek için bir PS2 Kablosuz kontrol cihazı ekleyerek onu biraz geliştireceğiz. Bu proje için 4 servo kullanacağız.

Adım 1: Projeye Genel Bakış

Zorluk seviyesi:

Zio Padawan

Yardımcı kaynaklar:

Zio geliştirme kartlarının nasıl kurulacağına dair temel bir anlayışa sahip olmalısınız. Bu öğreticide, geliştirme panonuzun zaten yapılandırıldığını ve kurulmaya hazır olduğunu varsayıyoruz. Tahtanızı henüz yapılandırmadıysanız, başlamak için aşağıdaki Zio Qwiic Başlangıç Kılavuzu eğitimimize göz atın:

Zio Zuino M UNO Qwiic Başlangıç Kılavuzu

2. Adım: Şemalar

şemalar
şemalar

İşte Robotik Kol Bölüm 2 Projesinin Kablolama Şemaları ve ayrıca kodlama parçanız için anlamanız gereken PS2 Denetleyici şeması.

Adım 3: PS2 Denetleyici Şeması

PS2 Denetleyici Şeması
PS2 Denetleyici Şeması

Adım 4: Zio Modülleri Bağlantı Kurulumu

Robotik Kol ile kurulacak olan Zio modüllerimizin bağlantısı aşağıdadır. Tüm modülleri birbirine bağlamak oldukça kolaydır ve kurulumu 10 dakikadan fazla sürmez.

Adım 5: Robotik Kol Servoyu Zio 16 Servo Kontrolöre bağlayın

Robotik Kol Servoyu Zio 16 Servo Kontrolöre Bağlayın
Robotik Kol Servoyu Zio 16 Servo Kontrolöre Bağlayın

Adım 6: 16 Servo'nuzu DC/DC Booster'a bağlayın ve 6.0V'a ayarlayın

16 Servo'nuzu DC/DC Booster'a bağlayın ve 6.0V'a ayarlayın
16 Servo'nuzu DC/DC Booster'a bağlayın ve 6.0V'a ayarlayın

Akü besleme voltajını 6.0'a yükseltmek ve ayarlamak için bir DC/DC Güçlendirici kullanıyoruz.

6.0 elde edene kadar voltajı ayarlamak için DC Booster üzerindeki potansiyometreyi kullanın. Ekranda 6.0 görünene kadar Giriş/Çıkış düğmesine basın. Voltajı ayarlamak için önce DC/DC Booster'ınıza güç (3,7V pil) sağlamanız gerekir.

7. Adım: Zuino M Uno'yu Zio 16 Servo Denetleyicisine bağlayın

Zuino M Uno'yu Zio 16 Servo Denetleyicisine Bağlayın
Zuino M Uno'yu Zio 16 Servo Denetleyicisine Bağlayın

Qwiic, Zuino M Uno'yu qwiic kablosuyla Zio Servo denetleyicisine bağlayın.

Adım 8: Uno'yu PS2 Alıcısına Bağlama

Uno'yu PS2 Alıcısına Bağlama
Uno'yu PS2 Alıcısına Bağlama

İşte Bağlantıların Pin Şeması. Bu kısım için 5 Erkek - Dişi Jumper Kablosuna ihtiyacınız var.

Adım 9: Robotik Kol için Kod

PS2 Kablosuz Denetleyicimizi Robotik Kolumuzla çalışacak şekilde kodlamak için PS2 Arduino Kütüphanesini kullanacağız. Bu Robotik Kol Bölüm 2 projesinin kaynak kodunu Github sayfamızda bulabilir ve indirebilirsiniz.

Aşağıdaki kitaplıkları indirip kurun ve yerel Arduino IDE kitaplıkları klasörünüze kaydedin:

  • Adafruit PWM Servo Sürücü Kitaplığı
  • PS2 Arduino kitaplığı

Kütüphaneleri kurmak için Arduino IDE'nizi açın, Sketch sekmesine gidin, Include Library -> Add. Zip Library'yi seçin. IDE'nize dahil edilecek yukarıdaki kitaplıkları seçin.

Arduino, Arduino IDE'nize kitaplıkların nasıl kurulacağına dair kullanışlı bir kılavuza sahiptir. Onları burada kontrol edin!

Adım 10: Kodunuzu Çalıştırın

Kodunuzu Çalıştırın
Kodunuzu Çalıştırın

Arduino IDE'yi açın. Dosyalar > Örnekler > PS2_Arduino_Library altında, PS2X_Servo'yu seçin

Not: Robotik kolunuzu PS2 Kontrol Cihazı ile kontrol etmeden önce aşağıdaki adımları kontrol edin: PS2 Kontrol cihazınızı açın. Mod LED'inin yandığını kontrol edin. Olmazsa, kontrol cihazınızdaki Mod düğmesine basın. Yukarıdakileri yaptıktan sonra, denetleyici ayarlarınızı okuması için Zuino M Uno'nuzdaki sıfırlama düğmesine basmanız gerekir. Robotik Kolunuzu hareket ettirmek için L1'e ve Joystick'e basmanız gerekir.

  • Sol Joystick, Kolun yukarı veya aşağı bükülmesini kontrol eder
  • Sağ Joystick, Pençeyi açıp kapatmak ve kıskacı sola veya sağa döndürmek için kontrol eder.

Adım 11: Kod Açıklaması

PS2X Arduino kitaplığının kullanımı basittir, yalnızca başlatma, kurulum ve ardından okuma komutu gerektirir.

PS2 Kontrolörünüzün Uno'nuzla bağlantısını kurmak için kodunuzda tanımlamanız gereken pinler aşağıdadır:

/******************************************************** *************** * PS2 denetleyicisine bağlı pinleri ayarlayın: * - 1e sütun: orijinal * - 2e sütun: Stef? * pin numaralarını kullandığınız numaralarla değiştirin********************************************** *************************/#define PS2_DAT 13 //14 #define PS2_CMD 11 //15#define PS2_SEL 10 //16#define PS2_CLK 12 // 17

Pinleri, yukarıdaki Pin Şemasında belirtildiği gibi Uno'ya bağlanmak için kullandığımız pinlerle değiştirdik.

/******************************************************** **************** PS2 kontrolör modlarını seçin: * - basınçlar = basmalı düğmelerin analog okuması * - gürleme = motor gürlemesi * her mod seçimi için satırlardan 1 tanesinin yorumlanması** ************************************************************ ***************/ //#baskıları tanımla doğru#baskıları tanımla yanlış //#rumble tanımla doğru#tanımla rumble yanlış

Burada basınçlar ve rumble için PS2 modunu false olarak tanımladık. Kullanmadıklarımızı yorumladık.

Robotik Kolumuzun hareketini kontrol etmek için sadece Kontrolörün Joystick komutunu ve L1'i kullanacağız.

void loop() {/* Yeni değerler almak ve vibrasyon değerlerini ayarlamak için Gamepad'i Okumalısınız ps2x.read_gamepad(küçük motor açık/kapalı, daha büyük motor gücü 0-255'ten daha büyük motor gücü 0-255'ten) Eğer gürültüyü etkinleştirmezseniz, ps2x.read_gamepad kullanın (); değersiz Bunu saniyede en az bir kez çağırmalısınız*/ if(error == 1) //denetleyici bulunmazsa döngüyü atla dönüş; else { //DualShock Denetleyici ps2x.read_gamepad(yanlış, titreşim); //denetleyiciyi okuyun ve büyük motoru 'titreşim' hızında dönecek şekilde ayarlayın if(ps2x. Button(PSB_START))//düğmeye basıldığı sürece TRUE olacaktır Serial.println("Start tutuluyor"); if(ps2x. Button(PSB_SELECT)) Serial.println("Seçim tutuluyor"); titret = ps2x. Analog(PSAB_CROSS); //bu, mavi (X) düğmesine ne kadar sert bastığınıza bağlı olarak büyük motor titreşim hızını ayarlar if(ps2x. Button(PSB_L1) || ps2x. Button(PSB_R1)) { //her ikisi de TRUE RY_Value ise çubuk değerlerini yazdırın =ps2x. Analog(PSS_RY); RX_Value=ps2x. Analog(PSS_RX); LY_Value=ps2x. Analog(PSS_LY); LX_Value=ps2x. Analog(PSS_LX);Serial.print("Sabit Değerler:"); Serial.print(RX_Value); Seri.print(" "); Serial.print(RY_Value); Seri.print(" "); Serial.print(LY_Value); Seri.print(" "); Serial.println(LX_Value);

Aşağıdaki kod ps2x.button(PSB_L1)|| altındaki fonksiyon çağrısına dahil ettiğimiz robotik kolumuzu kontrol eden servolarımızı kodladığımız yerdir. ps2x.düğmesi(PSB_R1).

Robotik Kolunuzu kontrol etmek için Joystick ile birlikte L1 veya R1 düğmesine basmanız gerekir.

Sol Joystick, Kol kısmı için 2 ve 3 servoları kontrol eder - sırasıyla kolun Yukarı ve Aşağı bükülmesini kontrol ederken, Sağ Joystick, Robotik Kolun Pençesinin 0 ve 1 servolarını açmak veya kapatmak ve sola veya sağa döndürmek için kontrol eder.

SERVO 0, 1 - Pençe SERVO 2, 3 - Kol

Robotik Kol açınızın derecesini kontrol etmek için bu bölümdeki değerlerde değişiklik yapabilirsiniz:

pulselen0=harita(RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1=harita(RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2=harita(LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3=harita(LX_Değeri, 0, 255, SERVOMIN3, SERVOMAX3);

Önerilen: