Mundarija:

Qo'l chizish: 5 qadam
Qo'l chizish: 5 qadam

Video: Qo'l chizish: 5 qadam

Video: Qo'l chizish: 5 qadam
Video: durdona qurbonova orqachasiga salta 2024, Noyabr
Anonim
Qo'l chizish
Qo'l chizish

Salom! Maktab loyihasi uchun men joystick va ikkita servo tomonidan boshqariladigan Bob Rossning chizilgan qo'lini yasadim. Albatta siz qo'lni xohlaganingizcha bezashingiz mumkin, lekin men undan Bob Ross yasashni tanladim. Ushbu loyihada men matematik kutubxonadan foydalanaman, shuning uchun biz x va y pozitsiyasini kiritganimizda, matematika kutubxonasi x, y pozitsiyasiga erishish uchun ular qaysi burchakda bo'lishi kerakligini hisoblab chiqadi. Bu ko'rsatmada men buni qanday qilganimni tushuntiraman.

1 -qadam: materiallar

Birinchi qadam - bu loyiha uchun zarur bo'lgan barcha materiallarga ega ekanligingizga ishonch hosil qilish. Bu men ishlatgan narsalar:

- Arduino bilan

- 2 marta 180 darajali mikro Servo

- 1x Joystick

- Non paneli

- Simlar

- Ayol - erkak simlari

- Ko'zoynak

- 13 sm uzunlikdagi yog'och tayoqlar

- Karton

- Tez yopishtiruvchi

- Kiyim tikish

2 -qadam: qo'lni qurish

Qo'lni qurish
Qo'lni qurish

Endi qo'lni quramiz. Sizda kuchli tayoqlar borligiga ishonch hosil qiling, yaxshisi kuchli va engil. Sizga bitta tayoq kerak, u erga yopishtiriladi. So'ngra, oxiriga, birinchi servo qo'shing va uni mahkam bog'lab qo'ying. Keyin unga pervanelni mahkamlang va mahkamlang. Endi siz keyingi tayog'ingizni pervanelga mahkamlaysiz. Xuddi shu narsani keyingi servo va keyingi tayoq bilan qilish kerak. Siz ikkinchi tayoqchaning ustiga ikkinchi servo qo'yishni tanlashingiz mumkin yoki uni pastki qismga biriktirasiz. Uni pastki qismga yopishtirish qo'lni yanada mustahkam qiladi. Endi siz kiyim qisqichingizni uchinchi tayoqning oxiriga mahkamlashingiz mumkin, uni tayoqning tepasiga yoki yoniga qo'yishingiz mumkin. Men kiyim qisqichini tanlayman, shuning uchun qo'limdagi qalamni osongina o'zgartira olaman va bu juda mustahkam. Har bir narsani tirap bilan mahkamlang va hamma narsa barqaror ekanligiga ishonch hosil qiling, bu juda muhim.

3 -qadam: simlarni ulash

Simlarni ulash
Simlarni ulash
Simlarni ulash
Simlarni ulash

Uchinchi qadam - servolarni ulash. Hozircha biz Arduino uno va terminal bloklaridan foydalanmoqdamiz. Servolarda uchta rangli simlar bor: sariq, qizil va jigarrang.

Terminal blokini arduino -ga ulash uchun biz bitta simni terminal blokining teshigiga, ikkinchi uchini esa GND ga qo'yamiz. Biz ikkinchi sim bilan ham shunday qilamiz, lekin biz uni yonidagi teshiklardan biriga joylashtiramiz va oxirini arduino 5V ga qo'yamiz.

Servo 1 simlarini qanday ulash mumkin:

Sariq -> Raqamli 7

Qizil -> 5v/+ terminal blokida

Jigarrang -> GND/ - terminal blokida

Servo 2 simlarini qanday ulash mumkin:

Sariq -> Raqamli 4

Qizil -> 5v/+ terminal blokida

Jigarrang -> GND/ - terminal blokida

Endi biz joystickni bog'laymiz. Mana bu qanday amalga oshiriladi:

GND -> arduino -da GND

+ 5V -> 5v/+ terminal blokida

URX -> A0

URY -> A1

4 -qadam: kodlash

Endi biz qo'lni yasashni tugatdik, kodlashni boshlashimiz mumkin. Avvalo, math.h va Servo.h kutubxonalarini oching yoki o'rnating.

Qo'l uzunligini aniqlash kerak. Oxirgi ikkita tayoqchani o'lchab, ularning uzunligi bir xil ekanligiga ishonch hosil qiling. Endi siz qo'lni quyidagi kod bilan belgilashingiz mumkin:

// raddoden graduslar bo'yicha float radTodegree = 180 /PI;

#define ARMLENGTH 130 // qo'l uzunligi mm

Keyin siz servo, joystik va harakat tezligini aniqlaysiz. Dastlab, harakat tezligini past tuting, shunda qo'lni sindirib tashlamasdan aylantirish mumkin.

Shundan so'ng, men bo'shliqni aylantirdim. Men qiymatni qo'l uzunligiga o'zgartirdim, menimcha, har bir qism 130 mm. Shunday qilib, servolarning kirishini o'qish osonroq bo'ladi.

// leest x en y as van joystickvoid loop () {joyVa1 = analogRead (joyX); joyVa1 = xarita (joyVa1, 0, 1023, -bog'langan, chegaralar); // 0 dan 1023 gacha bo'lgan yuk mashinasi -130 -130 if (abs (joyVa1)> 30) {

Men qo'lni xohlaganimdan uzoqroqqa ketmasligiga ishonch hosil qilish uchun cheklov qo'shdim. Chegaralar qo'lning uzunligi bilan bir xil.

posX = cheklash (posX, -bog'lar, chegaralar);

Men kirish pozitsiyasini ketma -ket monitorga yubordim. Bu qo'lning qanday harakat qilishini tushunishga yordam beradi va agar ular yuzaga kelsa, ularni echimini topishga yordam beradi.

// postitievoid PrintPosition () {if (Serial.available ()> 0) {posX = Serial.parseInt (); posY = Serial.parseInt ();

}

// Serial.print (posX); Serial.print (","); Serial.println (posY); }

Shundan so'ng, servo burchaklarini hisoblash uchun kod mavjud. Kodning bu qismi tomasdecamino tomonidan qilingan. Iltimos, hamma narsani ko'rish uchun to'liq kodni yuklab oling. Endi siz qo'lni harakatlantirish uchun joystikdan foydalanishingiz mumkin! MoveSpeed va constrain kabi kerakli narsalarni tahrirlashingiz mumkin.

5 -qadam: qo'lni bezatish

Qo'lni bezatish
Qo'lni bezatish
Qo'lni bezatish
Qo'lni bezatish
Qo'lni bezatish
Qo'lni bezatish
Qo'lni bezatish
Qo'lni bezatish

Endi qo'lingizga tanani berish vaqti keldi! Siz asosan xohlagan narsani qilishingiz mumkin. Men undan Bob Ross yasashga qaror qildim. Uning bir qo'li bo'yoq palitrasini ushlab turibdi, ikkinchisi chizilgan qo'l. Avvaliga hamma narsa to'g'ri kelishiga ishonch hosil qilish uchun oddiy 80 grammli qog'ozdan prototip yasadim. Men tanani, bo'ynini, qo'lini va boshini qalin kartondan yasab, tez yopishtiruvchi bilan yopishtirdim. Keyin junni jingalak sochlarga o'xshatib qo'ydim va joyiga yopishtirdim. Keyin men ko'ylakni kesib tashladim va miximni mixga oldim, yenglarini ochdim va ichiga velkro qo'ydim, shunda agar siz biror narsani tahrir qilishingiz kerak bo'lsa, tanani osongina echib, echib olaman. Nihoyat, men butun tanani teshib qo'ydim, shunda simlar butun loyihani beqarorlashtirmasdan o'tishi mumkin.

Siz hozir loyihaning qo'liga qalam qo'yib, unga qog'oz berib, chizishingiz mumkin!

Tavsiya: