Mundarija:

[Arduino roboti] Qanday qilib suratga olish robotini yasash mumkin - Bosh barmog'i robot - Servo dvigatel - Manba kodi: 26 qadam (rasmlar bilan)
[Arduino roboti] Qanday qilib suratga olish robotini yasash mumkin - Bosh barmog'i robot - Servo dvigatel - Manba kodi: 26 qadam (rasmlar bilan)

Video: [Arduino roboti] Qanday qilib suratga olish robotini yasash mumkin - Bosh barmog'i robot - Servo dvigatel - Manba kodi: 26 qadam (rasmlar bilan)

Video: [Arduino roboti] Qanday qilib suratga olish robotini yasash mumkin - Bosh barmog'i robot - Servo dvigatel - Manba kodi: 26 qadam (rasmlar bilan)
Video: Контроллер PS3 + esp32 + роботизированная рука = потрясающе! (Создание беспроводной роботизированной руки с питанием от esp32) 2024, Noyabr
Anonim
Image
Image
[Arduino roboti] Qanday qilib suratga olish robotini yasash mumkin | Bosh barmog'i robot | Servo dvigatel | Manba kodi
[Arduino roboti] Qanday qilib suratga olish robotini yasash mumkin | Bosh barmog'i robot | Servo dvigatel | Manba kodi

Bosh barmog'i roboti. MG90S servo motorining potentsiometridan foydalanilgan. Bu juda qiziqarli va oson! Kod juda oddiy. Bu atigi 30 qatordan iborat. Bu harakatni suratga olishga o'xshaydi.

Iltimos, har qanday savol yoki fikringizni qoldiring!

[Ko'rsatma]

  • Manba kodi
  • 3D bosib chiqarish fayllari

[Ishlab chiqaruvchi haqida]

Youtube

1 -qadam: ARDUINO PARTS

ARDUINO qismlari
ARDUINO qismlari
ARDUINO qismlari
ARDUINO qismlari
ARDUINO qismlari
ARDUINO qismlari

Arduino IDE -ni o'rnating

https://www.arduino.cc/en/Main/Software

CH340 drayverini o'rnating (Xitoy versiyasi uchun)

https://www.wch.cn/download/CH341SER_ZIP.html

Yuklab olish - manba kodi

  • https://github.com/happythingsmaker/ThumbsRobot
  • Ko'rib turganingizdek, zip fayli mavjud. Barcha fayllarni ajratib oling va manba kodi faylini ikki marta bosing.

Kengash / Protsessor / Com portini tanlang

  • Arduino Nano
  • ATmega328P (eski yuklovchi)

Arduino nano -ni ulang

USB kabelini ulang va yangi port paydo bo'ladi

Rivojlanayotgan com portini toping / tanlang

  • Ko'rsatilgan portni bosing va yuklash tugmasini bosing
  • Yuklash tugmasini bosing

2 -qadam: 3D PRINT QISMLARI

3D chop etish qismlari
3D chop etish qismlari

Thingiverse -dan 3d modellashtirish fayllarini yuklab oling

https://www.thingiverse.com/thing:2844993

Barcha qismlarni birma -bir chop eting

3 -qadam: O'chirish qismi

O'chirish qismi
O'chirish qismi

Arduino Nano kengaytirish kartasidan foydalaning. Arduino Nano -ning o'zida ko'p pinlar bo'lmaganligi uchun kengaytirish kartasidan foydalanish kerak bo'ladi.

Dvigatelga ulangan simlarga qarasangiz, uchta rangni ko'rishingiz mumkin. Sariq, qizil va jigarrang. Jigarrang G (Ground) bilan bog'langan bo'lishi kerak.

Keyingi bosqichlarda biz buni yana bir bor ko'rib chiqamiz.

4 -qadam: QURILMALAR QISMI - Barcha qismlarni tayyorlang

QO'ShIMChA QISM - Barcha qismlarni tayyorlang
QO'ShIMChA QISM - Barcha qismlarni tayyorlang

[Qismlar]

  • 1 x Arduino Nano
  • 1 x Arduino Nano kengaytirish paneli
  • 6 x Servo dvigatellari
  • 2 x o'yinchoq ko'z to'plari
  • 12 x vintli murvat (2 * 6 mm)

[Asboblar]

  • 3D printer (Anet A8)
  • 3D bosib chiqarish uchun filament (PLA 1.75 mm)
  • Wire Nipper
  • Tel o'tkazgich -
  • Issiq eritilgan yopishtiruvchi qurol
  • Tornavida (+)
  • Elektron lenta
  • Lehimlash asboblari (Hakko)
  • Lehimlash qo'li
  • Elektr tornavida

5 -qadam: 3 ta servo dvigatelni joylashuv sensori ichiga o'zgartiring

Quyidagi qadamlar sizga servo dvigatelni holat sensori sifatida qanday o'zgartirish kerakligini ko'rsatadi. asosan servo dvigatellarda burchak qiymatini olish uchun potansiometr yoki kodlovchi mavjud.

Biz potentsiometrni ishlatamiz. biz ishni ochishimiz, taxtani demontaj qilishimiz va uni qayta ulashimiz kerak.

6 -qadam: Orqa tarafdagi 4 murvatni burab, old korpusni oching

Orqa tarafdagi 4 boltni burab, old korpusni oching
Orqa tarafdagi 4 boltni burab, old korpusni oching
Orqa tarafdagi 4 boltni burab, old korpusni oching
Orqa tarafdagi 4 boltni burab, old korpusni oching

Sizga kichik tornavida kerak bo'ladi, chunki ular juda kichik. Dvigatel 3 qismdan iborat - old, korpus va orqa.

Old tomonni ochsangiz, viteslarni ko'rasiz. Aslida, biz bu motorni "motor" sifatida ishlatmaymiz. Shunday qilib, viteslar nazariy jihatdan endi kerak emas. Ammo biz ularning bir qismini ishlatamiz, shunda ish burchagi hali ham aylanish chegarasiga ega.

7 -qadam: 3 -vitesni olib tashlang

Uchinchi vitesni olib tashlang
Uchinchi vitesni olib tashlang
Uchinchi vitesni olib tashlang
Uchinchi vitesni olib tashlang
Uchinchi vitesni olib tashlang
Uchinchi vitesni olib tashlang

Servo dvigateldagi potentsiometr 180 gradus atrofida burchak chekloviga ega. Potentsiometrning o'ziga xos cheklash mexanizmi bor, lekin u juda zaif. U tez -tez buziladi. Uni himoya qilish uchun vites boshqa mexanizmni beradi. Birinchi vitesda plastik tampon bor, u ikkinchi vites bilan aloqa qiladi.

Bizga umumiy ramka uchun birinchi vites kerak, ikkinchi vites cheklov uchun kerak. Shunday qilib, biz ulardan qutulolmaymiz. Ularning o'rniga biz uchinchi vitesni olib tashlashimiz mumkin.

Siz nima uchun vitesni olib tashlashimiz kerakligi haqida hayron bo'lishingiz mumkin. Bu uchta servo dvigatel burchak ma'lumotlarini olish uchun ishlatiladi. Agar ular ichida viteslar bo'lsa, harakat qattiq bo'ladi. Shunday qilib, biz ulardan bir tishli qutulishimiz kerak.

8-qadam: qayta ulash / lehimlash

Qayta ulash / payvandlash
Qayta ulash / payvandlash

Dvigatel bilan bog'langan simlarni kesib oling.

9 -qadam: Lehimlash vositasidan foydalaning va taxtani ajratib oling

Lehimlash vositasidan foydalaning va taxtani ajratib oling
Lehimlash vositasidan foydalaning va taxtani ajratib oling
Lehimlash vositasidan foydalaning va taxtani ajratib oling
Lehimlash vositasidan foydalaning va taxtani ajratib oling

10 -qadam: simni kesib oling va lehimlashga tayyorlang

Simni kesib oling va lehimlashga tayyorlaning
Simni kesib oling va lehimlashga tayyorlaning
Simni kesib oling va lehimlashga tayyorlaning
Simni kesib oling va lehimlashga tayyorlaning

bir oz pasta qo'ying va kabelga qo'rg'oshin qo'ying

11 -qadam: uni lehimlang

Lehimlash
Lehimlash
Lehimlash
Lehimlash
Lehimlash
Lehimlash
Lehimlash
Lehimlash

chap tomondan qizil sariq va jigarrang

12 -qadam: unga ozgina yopishtiruvchi qo'ying

Unga ozgina yopishtiruvchi yopishtiring
Unga ozgina yopishtiruvchi yopishtiring
Unga ozgina yopishtiruvchi yopishtiring
Unga ozgina yopishtiruvchi yopishtiring

va uning orqa qismini tiklang

Bizga yana 2 ta potensiometr kerak. Xuddi shu ishni boshqa ikkita dvigatel uchun bajaring

13 -qadam: Birinchi qo'shma podvalni qiling

Birinchi qo'shma podvalni qiling
Birinchi qo'shma podvalni qiling
Birinchi qo'shma podvalni qiling
Birinchi qo'shma podvalni qiling
Birinchi qo'shma podvalni qiling
Birinchi qo'shma podvalni qiling

Men bu loyihani tayyorlash uchun ovqat paneli ishlatardim. uni ishlatish arzon va qat'iydir. Ramkani taxtaga mahkamlash uchun siz o'tkir uchli vintlarni ishlatishingiz kerak. U bir vaqtning o'zida teshik va ip hosil qiladi.

6 ta motor mavjud. Chap tarafdagi 3 ta dvigatel - bu asl dvigatellar. Boshqa tomondan, qadam oldidan o'zgartirilgan 3 ta dvigatel mavjud.

14 -qadam: Yaw qo'shma qiling

Yaw qo'shma qiling
Yaw qo'shma qiling
Yaw qo'shma qiling
Yaw qo'shma qiling

Siz M2 * 6 mm vintli murvatni ishlatishingiz kerak bo'ladi.

15 -qadam: Yawni birinchi dvigatel bilan biriktiring

Yaw bo'g'inini birinchi dvigatel bilan yig'ing
Yaw bo'g'inini birinchi dvigatel bilan yig'ing
Yaw bo'g'inini birinchi dvigatel bilan yig'ing
Yaw bo'g'inini birinchi dvigatel bilan yig'ing

Oxirgi rasmni ko'rib turganingizdek, bo'g'inni gorizontal yo'nalishda joylashtirishingiz kerak bo'ladi. Va joy ham dvigatel, ham potansiyometrning 90 daraja bo'lishi kerak.

Boshqacha qilib aytganda, siz o'sha joydan soat yo'nalishi bo'yicha soat yo'nalishi bo'yicha 90 daraja va teskari yo'nalishda burishingiz mumkin.

16 -qadam: Arduino Nano kengaytirish paneli bilan Arduino Nano -ni yig'ing

Arduino Nano kengaytirish paneli bilan Arduino Nano -ni yig'ing
Arduino Nano kengaytirish paneli bilan Arduino Nano -ni yig'ing
Arduino Nano kengaytirish paneli bilan Arduino Nano -ni yig'ing
Arduino Nano kengaytirish paneli bilan Arduino Nano -ni yig'ing

Yo'nalishga ishonch hosil qiling. USB porti DC uyasi bilan bir xil bo'ladi.

17 -qadam: Birinchi qavat ulanishi

Birinchi qavat ulanishi
Birinchi qavat ulanishi
Birinchi qavat ulanishi
Birinchi qavat ulanishi

Potentsiometr Arduino analog 0 piniga ulangan. Siz uni to'g'ri ulashingiz kerak. Bu Arduino Nano 8 kanalli ADC (Analog raqamli konvertor) ga ega. Asosan, potentsiometr analog darajani yoki o'zgaruvchanlikni beradi. Ushbu volt qiymatini ADC pinlari yordamida o'qishingiz mumkin

Boshqa tomondan, servo dvigatel Arduino Digital 9 -ga ulangan. Servo dvigatellarni PWM (Pulse Width Modulation) yordamida boshqarish mumkin. Arduino Nano 6 kanalli PWM piniga ega (pin 9, 10, 11, 3, 5 va 6). Shunday qilib, biz 6 tagacha servo motordan foydalanishimiz mumkin.

Ushbu bosqichda manba kodi shunday ko'rinadi

#qo'shing

Servo servo [6]; void setup () {pinMode (A0, INPUT); servo [0].attach (9);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].yozish (xarita (tempADC [0], 0, 1023, 0, 180));}

18 -qadam: Ikkinchi qavatni yig'ing

Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing
Ikkinchi qavatni yig'ing

Ikkinchi qatlamni tayyorlash ham oson. Ehtiyot bo'lishingiz kerak bo'lgan narsa, kabelni Arduino -ga ulashda uni to'g'ri joyga qo'yishdir.

  • Chap servomotor 10 -pin bilan ulangan
  • To'g'ri potentsiometr A1 bilan bog'langan

#qo'shing

Servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, Kirish); servo [0]. biriktirish (9); servo [1].attach (10);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].yozish (xarita (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].yozish (xarita (tempADC [1], 0, 1023, 0, 180));}

19 -qadam: 3 -qavat ramkalarini yig'ing

Uchinchi qavat ramkalarini yig'ing
Uchinchi qavat ramkalarini yig'ing

20 -qadam: 2 -dvigatel / potansiyometr yordamida ramkani yig'ing

2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing
2 -dvigatel / potansiyometr yordamida ramkani yig'ing

21 -qadam: 3 -chi motorni qo'shma ramkaga yig'ing

3 -chi motorni qo'shma ramkaga yig'ing
3 -chi motorni qo'shma ramkaga yig'ing
3 -chi motorni qo'shma ramkaga yig'ing
3 -chi motorni qo'shma ramkaga yig'ing

22 -qadam: Kabelni Arduino -ga ulang

Kabelni Arduino -ga ulang
Kabelni Arduino -ga ulang
Kabelni Arduino -ga ulang
Kabelni Arduino -ga ulang
  • Uchinchi vosita 11 -pin bilan ulangan
  • 3 -potentsiometr A2 bilan bog'langan

kod shunday ko'rinadi

#servo servo [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, Kirish); pinMode (A2, Kirish); servo [0]. biriktirish (9); servo [1]. biriktirish (10); servo [2].attach (11);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].yozish (xarita (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].yozish (xarita (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].yozish (xarita (tempADC [2], 0, 1023, 0, 180));}

23 -qadam: Bosh barmog'i ramkasini yig'ing

Bosh barmog'i ramkasini yig'ing
Bosh barmog'i ramkasini yig'ing
Bosh barmog'i ramkasini yig'ing
Bosh barmog'i ramkasini yig'ing

24 -qadam: burchakni tekshiring va sozlang

Burchakni tekshirish va sozlash
Burchakni tekshirish va sozlash
Burchakni tekshirish va sozlash
Burchakni tekshirish va sozlash
Burchakni tekshirish va sozlash
Burchakni tekshirish va sozlash

USB kabelini har qanday quvvat manbaiga ulang va robot tez orada yoqiladi. Burchak biroz boshqacha bo'lishi mumkin. Burchakni birma -bir sozlang.

25 -qadam: Yana bitta robotmi?

Yana bitta robot?
Yana bitta robot?
Yana bitta robot?
Yana bitta robot?

Agar siz yana bitta robot yasamoqchi bo'lsangiz, uni qila olasiz. Servolarni 3, 5 va 6 ga ulang.

#Servo servo qo'shish [6]; void setup () {pinMode (A0, INPUT); pinMode (A1, Kirish); pinMode (A2, Kirish); servo [0]. biriktirish (9); servo [1]. biriktirish (10); servo [2]. biriktirish (11); servo [3]. biriktirish (3); servo [4]. biriktirish (5); servo [5].attach (6);} int tempADC [3] = {0}; void loop () {tempADC [0] = analogRead (A0); servo [0].yozish (xarita (tempADC [0], 0, 1023, 0, 180)); servo [3].yozish (xarita (tempADC [0], 0, 1023, 0, 180)); tempADC [1] = analogRead (A1); servo [1].yozish (xarita (tempADC [1], 0, 1023, 0, 180)); servo [4].yozish (xarita (tempADC [1], 0, 1023, 0, 180)); tempADC [2] = analogRead (A2); servo [2].yozish (xarita (tempADC [2], 0, 1023, 0, 180)); servo [5].yozish (xarita (tempADC [2], 0, 1023, 0, 180));}

26 -qadam: Bajarildi

Bajarildi!
Bajarildi!
Bajarildi!
Bajarildi!
Bajarildi!
Bajarildi!

Agar sizda biron bir savol bo'lsa, qoldiring.:)

Mikrokontroller tanlovi
Mikrokontroller tanlovi
Mikrokontroller tanlovi
Mikrokontroller tanlovi

Mikrokontroller tanlovida ikkinchi o'rinni egalladi

Tavsiya: