Mundarija:
- 1 -qadam: Loyihaning umumiy ko'rinishi
- 2 -qadam: sxemalar
- 3 -qadam: PS2 nazoratchi diagrammasi
- 4 -qadam: Zio modullari ulanishini sozlash
- 5 -qadam: Robot Arm Servo -ni Zio 16 Servo Controller -ga ulang
- 6 -qadam: 16 Servo -ni DC/DC kuchaytirgichiga ulang va uni 6.0V ga o'rnating
- 7 -qadam: Zuino M Uno -ni Zio 16 Servo Controller -ga ulang
- 8 -qadam: Uno -ni PS2 qabul qiluvchiga ulash
- 9 -qadam: Robotik qo'l kodi
- 10 -qadam: Kodni ishga tushiring
- 11 -qadam: Kodni tushuntirish
Video: Zio modulli robot qo'l 2 -qism: 11 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Bugungi darsda biz robot qo'lni boshqarish uchun barcha 4 ta servo va PS2 simsiz boshqaruvchisidan foydalanamiz.
Bu blog posti Zio Robotics seriyasining bir qismidir.
Kirish
Oldingi blogimizda biz Zio modullaridan foydalangan holda robotli qo'lni boshqarish bo'yicha 1 -darsni joylashtirdik. 1 -qism, asosan, robot qo'lingizning panjasini ochish va yopish uchun avtomatik boshqarishga qaratilgan.
Bugungi qo'llanmada biz Robotik qo'lni boshqarish uchun PS2 simsiz boshqaruvchisini qo'shib, buni biroz yaxshilaymiz. Ushbu loyiha uchun biz 4 ta servodan foydalanamiz.
1 -qadam: Loyihaning umumiy ko'rinishi
Qiyinchilik darajasi:
Zio Padavan
Foydali manbalar:
Siz Zio ishlab chiqarish taxtalarini o'rnatish haqida asosiy tushunchaga ega bo'lishingiz kerak. Ushbu qo'llanmada sizning ishlab chiqish paneli allaqachon sozlangan va o'rnatishga tayyor deb taxmin qilamiz. Agar siz hali taxtangizni konfiguratsiya qilmagan bo'lsangiz, boshlash uchun quyidagi Zio Qwiic Start Guide qo'llanmasini ko'rib chiqing:
Zio Zuino M UNO Qwiic Start Guide
2 -qadam: sxemalar
Bu erda "Robot Arm 2 Part 2" loyihasining simlari sxemasi, shuningdek sizning kodlash qismini tushunish uchun kerak bo'lgan PS2 Controller diagrammasi.
3 -qadam: PS2 nazoratchi diagrammasi
4 -qadam: Zio modullari ulanishini sozlash
Quyida Robot Arm bilan o'rnatiladigan Zio modullarimiz ulanishi ko'rsatilgan. Barcha modullarni bir -biriga ulash juda oson va ularni o'rnatish uchun 10 daqiqadan ko'proq vaqt ketmaydi.
5 -qadam: Robot Arm Servo -ni Zio 16 Servo Controller -ga ulang
6 -qadam: 16 Servo -ni DC/DC kuchaytirgichiga ulang va uni 6.0V ga o'rnating
Batareya quvvatlanishini 6,0 ga oshirish va sozlash uchun biz DC/DC kuchaytirgichidan foydalanamiz.
6.0 ga ega bo'lmaguningizcha kuchlanishni sozlash uchun shahar kuchaytirgichidagi potansiyometrdan foydalaning. Kirish/chiqish tugmachasini displeyda 6.0 ko'rsatilguncha bosing. Voltajni sozlash uchun avval DC/DC kuchaytirgichiga quvvat (3,7V batareya) etkazib berish kerak.
7 -qadam: Zuino M Uno -ni Zio 16 Servo Controller -ga ulang
Qwiic Zuino M Uno -ni qwiic kabeli bilan Zio Servo boshqaruvchisiga ulaydi.
8 -qadam: Uno -ni PS2 qabul qiluvchiga ulash
Bu erda ulanishlarning pin diagrammasi. Ushbu qism uchun sizga 5 ta erkak va ayol o'tish moslamalari kerak.
9 -qadam: Robotik qo'l kodi
Biz PS2 Arduino kutubxonasidan foydalanib, PS2 simsiz boshqaruvchisini robotli qo'l bilan ishlash uchun kodlaymiz. Siz ushbu Robotik Arm Part 2 loyihasining manba kodini Github sahifamizdan topishingiz va yuklab olishingiz mumkin.
Quyidagi kutubxonalarni yuklab oling va o'rnating va mahalliy Arduino IDE kutubxonalari papkasida saqlang:
- Adafruit PWM Servo haydovchilar kutubxonasi
- PS2 Arduino kutubxonasi
Kutubxonalarni o'rnatish uchun Arduino IDE -ni oching, Sketch yorlig'iga o'ting, Kutubxonani qo'shish -> Add. Zip kutubxonasini tanlang. IDE -ga qo'shiladigan yuqoridagi kutubxonalarni tanlang.
Arduino -da kutubxonalarni Arduino IDE -ga o'rnatish bo'yicha qo'llanma mavjud. Ularni bu erda tekshiring!
10 -qadam: Kodni ishga tushiring
Arduino IDE -ni oching. Fayllar> Misollar> PS2_Arduino_Library ostida PS2X_Servo -ni tanlang
Eslatma: Robotli qo'lingizni PS2 boshqaruvchisi bilan boshqarishdan oldin quyidagi amallarni bajaring: PS2 boshqaruvchisini yoqing. Mode LEDining yonishini tekshiring. Agar shunday bo'lmasa, tekshirgichingizdagi Mode tugmasini bosing. Yuqoridagi amallarni bajarganingizdan so'ng, Zuino M Uno -dagi sozlamalar sozlamalarini o'qish uchun reset tugmasini bosishingiz kerak. Robot qo'lini harakatlantirish uchun L1 va Joystick tugmalarini bosish kerak.
- Chap Joystick qo'lning yuqoriga yoki pastga egilishini nazorat qiladi
- O'ng Joystick panjani ochish yoki yopish va chap yoki o'ngga burish uchun boshqaradi.
11 -qadam: Kodni tushuntirish
PS2X Arduino kutubxonasidan foydalanish oddiy, faqat ishga tushirish, sozlash va keyin o'qish buyrug'ini talab qiladi.
PS2 Controller -ga Uno -ga ulanishni o'rnatish uchun siz quyidagi kodni belgilashingiz kerak bo'ladi.
/*********************************************** ****************PS2 kontrolleriga ulangan pinlar:* - 1e ustun: original* - 2e kolmun: Stef? *PIN raqamlarini ishlatilgan raqamlar bilan almashtiring ************************************** **********************/#PS2_DAT 13 ni aniqlang // 14#belgilang PS2_CMD 11 // 15#belgilang PS2_SEL 10 // 16#PS2_CLK 12 ni aniqlang // 17
Biz pinlarni yuqoridagi Pin diagrammasida ko'rsatilgan Uno -ga ulanish uchun ishlatiladigan pinlar bilan almashtirdik.
/*********************************************** **************** PS2 tekshirgichining rejimlarini tanlang:* - bosim = tugmachalarning analog o'qilishi* - shovqin = motor shovqini*har bir rejim tanlash uchun satrlarning 1 tasini yozmang ** ************************************************ ************///#bosimni aniqlang#bosimni aniqlang //
Bu erda biz bosim va shovqin uchun PS2 rejimini noto'g'ri deb aniqladik. Biz foydalanmaydiganlarni sharhladik.
Biz robot qo'limizning harakatini nazorat qilish uchun faqat Controller's Joystick buyrug'i va L1 -dan foydalanamiz.
void loop () {/* Siz yangi qiymatlarni olish va tebranish qiymatlarini o'rnatish uchun Gamepad-ni o'qishingiz kerak ps2x.read_gamepad (kichik motorni yoqish/o'chirish, 0-255 gacha katta motor kuchi), agar siz shovqinni yoqmasangiz, ps2x.read_gamepad-dan foydalaning. (); hech qanday qiymatsiz, buni hech bo'lmasa sekundiga bir marta chaqirishingiz kerak*/if (xato == 1) // agar tekshiruvchi qaytmasa, loopni o'tkazib yuboring; boshqa {// DualShock Controller ps2x.read_gamepad (noto'g'ri, tebranish); // tekshirgichni o'qing va katta dvigatelni "tebranish" tezligida aylantiring, agar (ps2x. Button (PSB_START)) // tugma bosilsa TRUE bo'ladi Serial.println ("Boshlash ushlab turiladi"); if (ps2x. Button (PSB_SELECT)) Serial.println ("Tanlov o'tkazilmoqda"); tebranish = ps2x. Analog (PSAB_CROSS); // bu katta dvigatelning tebranish tezligini ko'k (X) tugmasini qanchalik bosganingizga qarab belgilaydi, agar (ps2x. Button (PSB_L1) || ps2x. Button (PSB_R1)) {// agar TRUE RY_Value bo'lsa, tayoq qiymatlarini chop eting. = ps2x. Analog (PSS_RY); RX_Value = ps2x. Analog (PSS_RX); LY_Value = ps2x. Analog (PSS_LY); LX_Value = ps2x. Analog (PSS_LX); Serial.print ("Stick qiymatlari:"); Serial.print (RX_Value); Serial.print (""); Serial.print (RY_Value); Serial.print (""); Serial.print (LY_Value); Serial.print (""); Serial.println (LX_Value);
Quyidagi kod - biz ps2x.button (PSB_L1) ostida chaqiruvni o'z ichiga olgan robot qo'limizni boshqaradigan servolarimizni kodlash joyi. | ps2x tugmasi (PSB_R1).
Robot qo'lini boshqarish uchun siz Loy yoki R1 tugmachasini Joystick bilan birga bosishingiz kerak.
Qo'l qismi uchun Chap Joystik 2 va 3 servolari - qo'lning yuqoriga va pastga egilishini boshqaradi, O'ng Joystik esa Robot qo'l panjasining 0 va 1 servolarini ochadi, yopadi va chapga yoki o'ngga aylantiradi.
SERVO 0, 1 - tirnoq SERVO 2, 3 - qo'l
Robotik qo'l burchagi darajasini nazorat qilish uchun siz ushbu bo'limdagi qiymatlarni o'zgartirishingiz mumkin:
pulselen0 = xarita (RY_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen1 = xarita (RX_Value, 0, 127, SERVOMIN0, SERVOMAX0); pulselen2 = xarita (LY_Value, 0, 127, SERVOMIN2, SERVOMAX2); pulselen3 = xarita (LX_Value, 0, 255, SERVOMIN3, SERVOMAX3);
Tavsiya:
MutantC V3 - Modulli va kuchli qo'lda ishlaydigan kompyuter: 9 qadam (rasmlar bilan)
MutantC V3 - Modulli va kuchli qo'lda ishlaydigan kompyuter: jismoniy klaviatura bilan jihozlangan Raspberry -pi portativ platformasi, maxsus taxtalar uchun ko'rsatish va kengaytirish sarlavhasi (Arduino Shield kabi) .mutantC_V3 mutantC_V1 va V2 vorisidir. MutantC_V1 va mutantC_V2.https: //mutantc.gitlab.io/https: // gitla
Oksimetr va yurak urish tezligi bilan DIY Fitness Tracker aqlli soati - TinyCircuits -dan modulli elektron modullar - Eng kichik arkada: 6 qadam
Oksimetr va yurak urish tezligi bilan DIY Fitness Tracker aqlli soati | TinyCircuits -dan modulli elektron modullar | Eng kichik arja: Hey, nima bo'ldi, bolalar! Akarsh bu erda CETech -dan. Bugungi kunda bizda kundalik hayotda juda foydali bo'lgan sensor modullari bor, lekin ularning kichik versiyasida. Bugungi kunda bizda mavjud bo'lgan datchiklar o'lchamiga qaraganda juda kichik
Oddiy va modulli kiyiladigan chiroqlar!: 5 qadam (rasmlar bilan)
Oddiy va modulli kiyiladigan chiroqlar!: Bir nechta arzon (va etkazib beriladigan) qismlardan iborat ajoyib, futuristik va sozlanishi taqiladigan chiroqlar yarating! Har xil aksessuarlarga biriktiring va kiyimlarni/tuyg'ularni/bayramlarni/hamma narsaga mos keladigan ranglarni almashtiring! Qiyinchilik: Boshlovchi+ (solderi
Modulli devor yoritish paneli: 11 qadam (rasmlar bilan)
Modulli devor yoritish panellari: Men yorug'lik muammosi haqida eshitdim va buni uzoq o'ylangan loyihani amalga oshirish imkoniyati sifatida ko'rdim. Men har doim yorug'lik bilan devor bezaklarini yoqtirardim. Nanoleaflar kabi ko'plab kontseptsiyalar mavjud. Bu odatda ancha qimmat va
Peltier TEC modulli DIY harorati boshqariladigan palatali quti: 4 qadam (rasmlar bilan)
Peltier TEC modulli DIY harorati boshqariladigan palatali quti: Men kichik elektron taxtalarni sinab ko'rish uchun haroratni nazorat qilish kamerali qutisini yig'dim. Ushbu qo'llanmada men o'z loyiham bilan o'rtoqlashdim, shu jumladan manba fayllari va PCB yaratish uchun Gerbers fayllariga havola. Men faqat arzon materiallardan foydalandim