Съдържание:

Рисуваща ръка: 5 стъпки
Рисуваща ръка: 5 стъпки

Видео: Рисуваща ръка: 5 стъпки

Видео: Рисуваща ръка: 5 стъпки
Видео: 瓶蓋垃圾小巷竟成網紅景點! 40年積累數百萬瓶蓋,美國得克薩斯大學城瓶蓋小巷, Bottle Cap Alley,Texas A&M University,United States 2024, Ноември
Anonim
Рисуваща ръка
Рисуваща ръка

Здравейте! За училищен проект направих ръка за рисуване на Боб Рос, управлявана от джойстик и две серво. Разбира се, можете да украсите ръката както искате, но аз избрах да направя Боб Рос от нея. В този проект използвам математическата библиотека, така че когато даваме въвеждане на позиция x и y, математическата библиотека изчислява под какъв ъгъл трябва да бъдат, за да стигнат до тази позиция x, y. В тази инструкция ще обясня как го направих.

Стъпка 1: Консумативи

Първата стъпка е да се уверите, че имате всички необходими материали за този проект. Това са нещата, които използвах:

- Arduino uno

- 2x Micro Servo 180 градуса

- 1x джойстик

- Платформа

- проводници

- Женски - мъжки проводници

- Tiewraps

- 13см дървени пръчки

- Картон

- Незабавно лепило

- Защита

Стъпка 2: Изграждане на ръката

Изграждане на ръката
Изграждане на ръката

Сега ще изградим ръката. Уверете се, че имате здрави пръчки, за предпочитане здрави и леки. Имате нужда от една базова пръчка, тази, която прикрепяте към земята. След това добавете първото серво върху него, в самия край, и го закрепете плътно с ленти. След това прикрепете витло към него и го завийте фиксирано. Сега прикрепяте следващата си пръчка към витлото. Трябва да направите същото със следващото серво и следващия стик. Можете или да изберете да поставите второто серво върху втория стик, или да го прикрепите към дъното. Прикрепването му към дъното прави ръката по -стабилна. Сега можете да прикрепите щипката си за дрехи към самия край на третата пръчка, можете да я поставите върху пръчката или до нея. Избирам щипка за дрехи, за да мога лесно да сменя молива в ръката си и е доста здрав. Закрепете всичко с тирапи и се уверете, че всичко е стабилно, това е много важно.

Стъпка 3: Свързване на проводниците

Свързване на проводниците
Свързване на проводниците
Свързване на проводниците
Свързване на проводниците

Третата стъпка е да свържете сървърите. Засега използваме Arduino uno и терминални блокове. Сервомоторите имат три цветни проводника: жълт, червен и кафяв.

За да свържете клемния блок към arduino, поставяме един проводник в дупка в клемния блок, а другия край поставяме в GND. Правим същото с втори проводник, но го поставяме в един от отворите до него и поставяме края в 5V на arduino

Как да прикачите проводниците на серво 1:

Жълто -> Цифрово 7

Червено -> 5v/+ в клемния блок

Кафяв -> GND/ - в клемен блок

Как да прикачите проводниците на серво 2:

Жълто -> Цифрово 4

Червено -> 5v/+ в клемния блок

Кафяв -> GND/ - в клемен блок

Сега ще свържем джойстика. Ето как се прави:

GND -> GND в arduino

+ 5V -> 5v/+ в клемен блок

URX -> A0

URY -> A1

Стъпка 4: Кодиране

Сега сме готови да направим самата ръка, можем да започнем кодирането. На първо място, отворете или инсталирайте библиотеките math.h и Servo.h.

Ще трябва да определите дължината на ръката. Измерете последните две пръчки и се уверете, че са с еднаква дължина. Сега можете да определите ръката със следния код:

// радиален наар граденконст поплавък radTodegree = 180 /PI;

#define ARMLENGTH 130 // дължина на ръката в мм

След това определяте серво, джойстика и moveSpeed на ръката. Първоначално дръжте нивата на moveSpeed, за да можете да я увеличите, без евентуално да счупите ръката.

След това направих празен цикъл. Промених стойността на дължината на ръката, в моя случай всяка част е 130 мм. По този начин е по -лесно да прочетете входа, който получават сервомоторите.

// най -малкото x en y като van joystickvoid loop () {joyVa1 = analogRead (joyX); joyVa1 = карта (joyVa1, 0, 1023, -грани, граници); // vertaalt de value van 0-1023 naar -130 -130 if (abs (joyVa1)> 30) {

Добавих ограничение, за да се уверя, че ръката не отива по -далеч, отколкото искам. Границите са със същата дължина като ръката.

posX = ограничение (posX, -граници, граници);

Изпратих входната позиция до серийния монитор. Това помага да се разбере как действа ръката и помага да се намерят решения на проблемите, ако възникнат.

// отпечатайте postitievoid PrintPosition () {if (Serial.available ()> 0) {posX = Serial.parseInt (); posY = Serial.parseInt ();

}

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

След това има код за изчисляване на ъглите на серво. Тази част от кода е направена от tomasdecamino. Моля, изтеглете пълния код, за да видите всичко. Сега можете да използвате джойстика, за да преместите ръката! Можете да редактирате неща, които искате, като moveSpeed и constrain.

Стъпка 5: Декориране на ръката

Декориране на ръката
Декориране на ръката
Декориране на ръката
Декориране на ръката
Декориране на ръката
Декориране на ръката
Декориране на ръката
Декориране на ръката

Сега е време да дадете на ръката си тяло! По принцип можете да направите всичко, което искате. Реших да направя от него Боб Рос. Едната му ръка държи палитра от бои, а другата е рамото за рисуване. Първо направих прототип с нормална 80 грама хартия, за да се уверя, че всичко ще пасне. Направих тялото, шията, ръката и главата с дебел картон и го залепих с мигновено лепило. След това дразнех вълната, за да изглежда като къдрава коса и я залепих на място. След това изрязах и заковах блуза, за да отговаря на обхвата на моя проект, разрязах ръкавите и поставих велкро в нея, за да мога лесно да обличам и събличам тялото, ако трябва да редактирате нещо отдолу. Най -накрая изрязах някаква дупка в тялото, така че проводниците да могат да преминат, без да дестабилизира целия проект.

Вече можете да поставите молив в ръката на вашия проект, да му дадете лист хартия и да рисувате!

Препоръчано: