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

Arduino робот гар: 5 алхам
Arduino робот гар: 5 алхам

Видео: Arduino робот гар: 5 алхам

Видео: Arduino робот гар: 5 алхам
Видео: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, Долдугаар сарын
Anonim
Image
Image
Arduino робот гар
Arduino робот гар
Arduino робот гар
Arduino робот гар

Энэ бол миний Arduino гарааны хэрэгслийн 15 хичээлийн дараа хийсэн анхны төсөл учраас надаас илүү мэддэг хүнээс шүүмжлэгч, зөвлөгөө, санал, санаа авах нь түүний гол зорилго юм.

Энэхүү төсөл нь 4 гартай, бариултай робот гарны тухай юм. Төсөв багатай: найз нь бүтцийг нь хассан, 4 servo нь 30 евро, 2 джойстик 4 евро, боолт шураг гэх мэт 10 еврогоос бага үнээр, бусад нь (Arduino, утас, бариулын серво гэх мэт).) аль хэдийн миний гарааны хэрэгсэлд багтсан байсан. Нийт 40-45 евро буюу 45-50 орчим доллар (гар зэвсгийн иж бүрдэлтэй ижил үнэ, гэхдээ үүнийг өөрөө бүтээх нь хөгжилтэй байсан (мөн хааяа нэг юм будлиулах) мөн машин шиг зааврыг дагаж мөрдөхгүй байх).

Энэ бол миний анхны төсөл бөгөөд зааварчилгаа өгөх боломжтой байсан тул би "Анх удаа зохиогч" болон бусад хэд хэдэн уралдаанд оролцсон тул таалагдсан бол саналаа өгөөрэй:)

Алхам 1: ЗАГВАРЛАХ, ҮЙЛЧИЛГЭЭ:

Надад эхлээд бүтэц хэрэгтэй байсан: Энэ бол мэдээж хамгийн урт хэсэг юм. Би төслийг өөр хэн нэгнээс хуулж буулгахыг хүсээгүй тул төслөө лавлагаа болгон авсан бөгөөд би (мөн намайг аварсан хэд хэдэн чадварлаг ангийнхан) үүнийг бидний хэрэгцээнд нийцүүлэн өөрчилж эхлэв (өөр өөр эргүүлэх хүч, жин, хэмжээ гэх мэт өөр өөр servo). Би үүнийг хэд хэдэн удаа бүтээх ёстой байсан бөгөөд тус бүр нь буруу зүйл олж мэдсэн бөгөөд бид зарим хэсгийг нь дахин оролдож үзэх шаардлагатай болсон. Хэрэв та үүнийг ашиглахыг хүсвэл.dxf файлыг хавсаргасан болно.: Ихэнх эд анги нь стандарт байсан бөгөөд хамгийн хэцүү хэсэг нь servo сонгох явдал байв. Би шаардлагатай моментийг эрхий хуруугаараа тооцоолсон, дараа нь би илүү нарийвчлалтай тооцоолохыг оролдсон бөгөөд үүнийг арай хэтрүүлсэн байж магадгүй гэдгийг олж мэдсэн. 2-р сервод (сууринаас) 6 кг/см хангалттай байх байсан бөгөөд минийх 9-11 кг/см өгдөг. Энэ нь надад аюулгүй байдал, 2 кг хүртэл ачих боломжийг олгодог (энэ нь боломжгүй, гэхдээ би техникийн хувьд үүнийг хийх дуртай). Би бас өөр өөр серво худалдаж авч болох байсан, баазаас холдох үед эргэлтийн момент буурч байсан боловч ижил үйлдвэрлэгчээс ижил servo худалдаж авах нь хамгийн хямд сонголт байсан юм. 350mA ба microservo 9g нь 100mA, нийт 350*4 +100 = 1500mA зурдаг. Тиймээс би цэнэглэгч (6V 1.5A) аваад хоёр холбогч утсыг гагнав. гарын авлага) Материалын жагсаалт:- Бүтэц- M5x7cm шураг x5, m5 боолт x15 (суурь)- M3x16mm шураг x18*- M3x20mm шураг x13*- M3 боолт x40*- M3x8cm шураг x3- Хавчаар (эс тэгвээс унах болно)- 3 алчуур- Arduino (эсвэл үүнийг хянах өөр зүйл бол дор хаяж 5 ХБХ байх ёстой)- 5-6В ба 1.5А-аас багагүй хэмжээтэй 3х ps2 маягийн джойстик- 4x TowerPro mg995 servos- 1x TowerPro 9g microservo (атгах зориулалттай)) - Олон тооны холбогч утас - Breadboard*(би боолт, эрэг ашиглан хурдан угсарч, задалж чаддаг байсан, эс тэгвээс та бараг бүгдийг нь модон эдлэлийн боолтоор сольж болно)

Алхам 2: КОД:

Энэхүү санаа нь serv2 бүрийг ps2 маягийн joystick-ийн хоёр тэнхлэгийн аль нэгээр удирдах явдал юм. Joystick бүр нь y ба x тэнхлэгт өөр өөр "амрах утгууд" (0-1023 хооронд байгаа утга) байх шиг байв. Энэ нь асуудал байсан, учир нь ялгаа нь бага байсан (нэг нь y дээр 623 байсан) тэгээд би газрын зургийн функцийг ашиглан 0-1023-аас градус руу хөрвүүлэхийг хүссэн юм. Гэхдээ газрын зургийн функц нь үлдсэн утгыг 1023/2 гэж боддог. Энэ нь Arduino -ийг асаахад хөдөлж буй бүх servo -уудад авчирсан, тийм ч сайн биш байсан. Учир нь уншилтын утга болон амрах утга бүрийн ялгааг гараар хайж олох боломжтой болсон. кодыг богино, ухаалаг болгохын тулд би түүнийг тохиргооны функцын үлдсэн утгыг уншиж, зарим хувьсагчдад хадгалж үлдээсэн. Би үүнийг тогтмол хуваах шаардлагатай болсон: Би эцсийн 200 -г гаргаж ирэх хүртэл олон утгыг туршиж үзсэн (энэ утгыг хүссэн утгандаа гараар өөрчлөхийн тулд потенциометр нэмж болно). Кодын үлдсэн хэсэг нь нэлээд стандарт гэж би бодож байна. Хэдийгээр өсөлтийн тооцоог тусдаа функц дотор оруулах нь илүү дэгжин байж болох юм.

Алхам 3: ЭЛЕКТРОН:

ЦАХИЛГААН
ЦАХИЛГААН

Утаснууд нь зураг дээр эсвэл фриз файлд үзүүлсэнтэй ижил байна: servos дохио нь зүү рүү: 5-6-9-10-11, жойстик тэнхлэг нь ижил төстэй тээглүүртэй байна: A0-A1-A2-A3-A4 Миний тулгарсан гол асуудал Энэ бол джойстикийг миний servo -д ашигладаг цэнэглэгчээр биш Arduino -аас нийлүүлэх ёстой байсан юм. Үгүй бол servo нь галзуурах болно, учир нь хэрэв би тэднийг цэнэглэгчээр хангаж өгөх юм бол Arduino нь намайг хөдөлгөхөд боломжит ялгааг нарийн хэлж чадахгүй, гэхдээ дараа нь: Би электроникийн хувьд маш шинэ тул Arduino -ийн газар болон цэнэглэгчийг талхаар холбох нь санамсаргүй болон гэнэтийн хөдөлгөөнөөс урьдчилан сэргийлэхэд тусалсан бөгөөд үүнтэй ижил шалтгаанаар джойстик нийлүүлдэг.

Алхам 4: ЯГ ОДОО сайжруулж байна:

ОДОО САЙЖРУУЛЖ БАЙНА
ОДОО САЙЖРУУЛЖ БАЙНА

Жойстик бүр 2 servo (тэнхлэг тутамд 1) удирддаг тул гарыг бүхэлд нь удирдахын тулд надад 3 servo хэрэгтэй боловч азаар надад 2 эрхий хуруу байгаа тул servo бүрийг удирдахын оронд зөвхөн xyz байрлалыг хянах боломжтой гэж би бодсон. 4 тэнхлэг, 2 джойстик, 2 эрхий хуруугаараа атгах ба нээх, хаах! Энэ асуудал нь урвуу кинематик гэж нэрлэгддэг гэдгийг би олж мэдсэн, бас бүх зүйл амархан болохыг олж мэдсэн. шугаман бус) тэгшитгэлүүд нь эцсийн байрлалыг өгсөн эффектор бүрийн төлөвийг (servo-ийн өнцөг) олохын тулд би тэгшитгэл бүхий гараар бичсэн цаас байршуулсан бөгөөд одоогоор тэдгээрийг ашиглах шинэ код дээр ажиллаж байна. Энэ нь тийм ч хэцүү биш байх ёстой, би үндсэндээ джойстикуудыг уншиж, тэдгээрийн уншилтыг ашиглан бариулын xyz координатыг өөрчилж, дараа нь тэгшитгэлдээ өгч, servos -ийн өнцгийг тооцоолж бичих ёстой.

Алхам 5: Ирээдүйн сайжруулалт:

Тиймээс би үр дүнд нь сэтгэл хангалуун байгаа бөгөөд би электроникийн хувьд ямар нэгэн зүйл үлээхгүй байх нь өөрийгөө бүрэн шинэ гэж үзэж байгаа нь өөрийгөө маш том ялалт байсан гэж би хэлсэн. тоног төхөөрөмж, тавтай морилно уу! Одоогоор би дараах зүйлийг бодож үзсэн: 1. Джойстикийн "мэдрэмж" -ийг өөрчлөх потенциометр.2. Түүнийг зарим хөдөлгөөнийг "бүртгэж", дахин хийх (магадгүй хүний оролтоос хурдан, богино байж магадгүй) болгох шинэ код. Ямар нэгэн харааны/зай/дуут оролт, джойстик ашиглан хүнгүйгээр объект авах боломжтой байх4. Геометрийн дүрс зурах чадвартай байх өөр санаа байна уу? Санал хүсэлтээ чөлөөтэй үлдээнэ үү. Баярлалаа

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