Агуулгын хүснэгт:

Гар зурах: 5 алхам
Гар зурах: 5 алхам

Видео: Гар зурах: 5 алхам

Видео: Гар зурах: 5 алхам
Видео: 5 замечательных рождественских поделок. Украшение дома и помещения 2024, Арваннэгдүгээр
Anonim
Гар зурах
Гар зурах

Сайн уу? Сургуулийн төслийн хувьд би джойстик болон хоёр servo -ийн удирддаг Боб Росс зургийн гар хийв. Мэдээжийн хэрэг та гараа хүссэнээрээ чимэглэж болно, гэхдээ би үүнээс Боб Росс хийхийг сонгосон. Энэ төсөлд би математикийн номын санг ашигладаг тул x ба y байрлалыг оруулах үед математикийн номын сан нь x, y байрлалд хүрэхийн тулд ямар өнцгөөр байх ёстойг тооцоолдог. Энэ зааварчилгаанд би үүнийг хэрхэн хийснээ тайлбарлах болно.

Алхам 1: хангамж

Эхний алхам бол энэ төсөлд шаардлагатай бүх хангамж байгаа эсэхийг шалгах явдал юм. Эдгээр нь миний ашиглаж байсан зүйлүүд юм:

- Arduino uno

- 2 удаа 180 градусын бичил Servo

- 1х Joystick

- Талхны самбар

- Утаснууд

- Эмэгтэй - эрэгтэй утас

- Үзэсгэлэнгийн хуудас

- 13 см хэмжээтэй модон саваа

- Картон

- Шуурхай цавуу

- Хувцасны хавчаар

Алхам 2: Гар барих

Гар барих
Гар барих

Бид одоо гараа барих гэж байна. Бат бөх, хөнгөн бол илүү сайн саваа байгаа эсэхийг шалгаарай. Танд нэг суурь саваа хэрэгтэй болно. Дараа нь хамгийн сүүлд эхний servo -ийг нэмж, үзүүрээр сайтар бэхлээрэй. Дараа нь түүнд сэнс залгаад боолтыг нь бэхлээрэй. Одоо та дараагийн саваагаа сэнсэнд холбоно уу. Та дараагийн servo болон дараагийн саваагаар ижил зүйлийг хийх ёстой. Та хоёр дахь servo -ийг хоёр дахь саваа дээр тавихыг сонгож болно, эсвэл доод хэсэгт нь хавсаргана уу. Доод талд нь бэхлэх нь гарыг илүү тогтвортой болгодог. Одоо та хувцасныхаа хавчаарыг гурав дахь савааны хамгийн төгсгөлд хавсаргаж, модны дээд талд эсвэл хажууд нь байрлуулж болно. Би хувцасны хавчаар сонгосон тул гартаа байгаа харандаагаа амархан сольж болох бөгөөд энэ нь нэлээд бат бөх юм. Бүх зүйлийг тирапаар бэхлээд бүх зүйл тогтвортой байгаа эсэхийг шалгаарай, энэ бол маш чухал зүйл юм.

Алхам 3: Утас холбох

Утас холбох
Утас холбох
Утас холбох
Утас холбох

Гурав дахь алхам бол servos -ийг холбох явдал юм. Одоогоор бид Arduino uno болон терминал блокуудыг ашиглаж байна. Серво нь шар, улаан, хүрэн гэсэн гурван өнгийн утастай.

Терминал блокыг arduino -тэй холбохын тулд бид нэг утсыг терминал блок дахь нүхэнд, нөгөө үзүүрийг GND руу оруулна. Бид хоёрдахь утсаар ижил зүйлийг хийдэг, гэхдээ бид хажуугийнхаа нүхний аль нэгэнд хийж, төгсгөлийг нь arduino 5V -д оруулна.

Серво 1 -ийн утсыг хэрхэн яаж холбох вэ:

Шар -> Дижитал 7

Улаан -> 5v/+ терминал блок

Браун -> GND/ - терминал блок дээр

Серво 2 -ийн утсыг хэрхэн яаж холбох вэ:

Шар -> Дижитал 4

Улаан -> 5v/+ терминал блок

Браун -> GND/ - терминал блок дээр

Одоо бид джойстикийг холбох болно. Үүнийг хэрхэн яаж хийхийг энд харуулав.

GND -> arduino дахь GND

Терминал блок дахь+ 5V -> 5v/+

URX -> A0

URY -> A1

Алхам 4: Кодлох

Одоо бид гараа өөрөө хийж дуусгалаа, кодлох ажлыг эхлүүлж болно. Юуны өмнө math.h болон Servo.h номын санг нээх эсвэл суулгах.

Та гарын уртыг тодорхойлох хэрэгтэй. Сүүлийн хоёр саваа хэмжиж, ижил урттай эсэхийг шалгаарай. Одоо та гараа дараах кодоор тодорхойлж болно.

// radalen naar gradenconst float radTodegree = 180 /PI;

#ARMLENGTH 130 // гарны урт мм -ээр тодорхойлогдоно

Дараа нь та серво, джойстик, хөдөлгөөний хурдыг тодорхойлно. MoveSpeed -ийг эхлээд бага байлга, ингэснээр та гараа хугарахгүйгээр эргүүлж болно.

Үүний дараа би хоосон тойрог хийсэн. Би утгыг гарын уртаар өөрчилсөн, миний хувьд хэсэг бүр 130 мм байна. Ингэснээр servos хүлээн авсан оролтыг унших нь илүү хялбар болно.

// leest x en y as 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, -bounds, хязгаар);

Би оролтын байрлалыг цуваа монитор руу илгээсэн. Энэ нь гар хэрхэн ажилладагийг ойлгоход тусалдаг бөгөөд хэрэв асуудал гарсан бол түүнийг шийдвэрлэх арга замыг олоход тусалдаг.

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

}

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

Үүний дараа servo -ийн өнцгийг тооцоолох код байна. Кодын энэ хэсгийг tomasdecamino хийсэн. Бүх зүйлийг харахын тулд кодыг бүрэн татаж авна уу. Одоо та джойстик ашиглан гараа хөдөлгөж болно! MoveSpeed, constrain гэх мэт хүссэн зүйлээ засах боломжтой.

Алхам 5: Гараа чимэглэх

Гараа чимэглэх
Гараа чимэглэх
Гараа чимэглэх
Гараа чимэглэх
Гараа чимэглэх
Гараа чимэглэх
Гараа чимэглэх
Гараа чимэглэх

Одоо гараа цогцос өгөх цаг боллоо! Та үндсэндээ хүссэн зүйлээ хийж болно. Би үүнээс Боб Росс хийхээр шийдсэн. Түүний нэг гар нь будагны палитр барьж, нөгөө гар нь зургийн гар юм. Эхлээд би бүх зүйл тохирох эсэхийг шалгахын тулд ердийн 80 грамм цаасаар загвар хийлээ. Би бие, хүзүү, гар, толгойг зузаан картоноор хийж, түргэн цавуугаар наасан. Дараа нь ноосыг буржгар үс шиг харагдуулж өгөөрэй. Дараа нь би төслийг цохиж авахын тулд цамц хайчилж, хадаж, ханцуйгаа нээж, дотор нь хилэн хийлээ. Эцэст нь би бүхэл бүтэн төслийг тогтворгүй болгохгүйгээр утас дамжин өнгөрөхийн тулд би биеийнхээ нүхийг хайчилж авлаа.

Та одоо төслийнхөө гарт харандаа тавьж, түүнд цаас өгч, зурж болно!

Зөвлөмж болгож буй: