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

3D AIR хулгана - Arduino + Боловсруулалт: 5 алхам
3D AIR хулгана - Arduino + Боловсруулалт: 5 алхам

Видео: 3D AIR хулгана - Arduino + Боловсруулалт: 5 алхам

Видео: 3D AIR хулгана - Arduino + Боловсруулалт: 5 алхам
Видео: BTT Octopus - Heat bed configuration 2024, Долдугаар сарын
Anonim
3D AIR хулгана | Arduino + боловсруулалт
3D AIR хулгана | Arduino + боловсруулалт

3D AIR хулгана | Би бол үйлдвэрлэлийн дизайны оюутан бөгөөд өнгөрсөн жил "RAW materiel -ийн технологи" гэсэн курсын нэг хэсэг болгон энэхүү төслийг эцсийн ажил болгож, ихэнхдээ дизайн, инженерчлэлийн CAD програм хангамж болох SolidWorks дээр ажилладаг. Дэлгэц дээрх хатуу биеийг эргүүлэх ажлыг хулганы дунд товчлуур ашиглан гүйцэтгэдэг. Би илүү ойлгомжтой зүйлийг хайж байсан. Ингэж би 3D агаарын хулганыг хийж дууссан бөгөөд объектын бодит эргэлт нь хулганыг 3 тэнхлэг дээр агаарт хөдөлгөж, гараа атгасантай адил эргүүлэх болно. Би Arduino, хэд хэдэн мэдрэгч, боловсруулалтын схемийг ашигласан. ТАЙЛБАР:- Одоогийн байдлаар SolidWork-тэй ажиллах ямар ч залгуур байхгүй тул энэ нь зөвхөн ойлголтын илрэл юм. Хэрэв та мэддэг бол нэгийг бичээрэй:))- Бүх тоног төхөөрөмж минийх биш байсан тул жинхэнэ 3D хулгана аль хэдийн алга болсон бөгөөд би энэ бүхэнд утга учиртай болгохын тулд хэдэн зураг, видео ашиглаж байна. Хэрэв та өөрөө бүтээхийг хүсч байвал зарим санаа … Үүнийг сайхан өнгөрүүлээрэй … (Энэ бол миний анхны зааварчилгаа юм) Энд дууссан төслийн видео демо байна.

Алхам 1: Тоног төхөөрөмж ба эд зүйлс

Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс
Тоног төхөөрөмж ба эд зүйлс

Энэ нь 3 тэнхлэгт акселерометр + луужин мэдрэгч дээр суурилсан тул хамгийн хямд заавар биш юм. Шаардлагатай зүйл:* Хулгана - хуучин хулганыг ашиглах нь илүү дээр юм Танд мэдрэгч байрлуулах зай, нэмэлт утас хэрэгтэй болно, тиймээс нэмэлт туранхай / жижигхэн хулганад хэрэггүй.* Луужингийн хазайлтын модультай модуль - HMC634 - Энэ бол SpurkFun -ээс худалдаж авсан 3 тэнхлэгтэй мэдрэгч юм ~ $ 149* Логик түвшний хөрвүүлэгч - ШУТИС! Arduino нь 5V ба 3 тэнхлэгтэй мэдрэгч нь 3.3V тул 5V -ийг 3.3V болгон хөрвүүлэхийн тулд танд эдгээрийн нэг хэрэгтэй болно. Энэ нь том нэртэй боловч SpurkFun -д ердөө 1.95 долларын үнэтэй байдаг.* Том оптик детектор / фототранзистор - Энэ бол хулганыг ажлын гадаргуугаас дээш өргөж байгааг илрүүлэхэд ашигладаг энгийн оптик мэдрэгч юм. SpurkFun -оос 2.25 доллараар худалдаж авсан бөгөөд хэрэв танд хулганыхаа дотор байрлуулах зай байхгүй бол та үүнийг жижиг хэмжээтэй, хямд үнээр ашиглаж болно. * Нэг (1) LED - өнгийг үл тоомсорлоорой, хэт тод гэрэл нь илүү сайн ажиллах болно. Би Diecimila загварыг ашигласан. Шинэ Duemilanove -ийг SpurkFun дээр ойролцоогоор 29.95 доллараар худалдаж авах боломжтой (бас ажиллах ёстой) + Arduino програм хангамж суулгасан.* Боловсруулсан програм хангамжийг суулгасан.* Төслийн эх код (Санаа зоволтгүй, та үүнийг хэдхэн секундын дотор татаж авах болно.) Дээрээс нь: Зарим нь Халуун цавуу (бүх зүйлийг байрандаа засахын тулд) Хэд хэдэн жижиг эрэг. 10мм орчим 6мм хэмжээтэй модон зангуу. Зарим нэмэлт утас. Гагнуурын төмөр. Хуванцарыг огтлохын тулд би хайчлах хутга, файл ашигласан. Хэлбэржүүлэхийн тулд). ("За, энэ алхамыг минь битгий үзэн яд, англи хэл бол миний 2 дахь хэл, хэрэв би үүнийг буруу ойлгосон бол уучлаарай, миний юу хийж байгааг нэг секундын дотор ойлгох болно гэдэгт итгэлтэй байна. Та үүнийг зурган дээрээс харах болно ")

Алхам 2: Электроник

Электроник
Электроник
Электроник
Электроник

Бүх зүйлийг хамтад нь гагнах хэрэгтэй … Нэг ёсондоо … АНХААРУУЛГА: 3 тэнхлэгтэй мэдрэгч нь үнэтэй зүйл бөгөөд бүх зүйлийг асаахаасаа өмнө утсыг дахин шалгаж үзээрэй … Энэ төсөлд ашигласан бүх утаснуудын схемийг үзнэ үү. Хавсаргасан эх код Хэрэв та миний хийсэн ижил зүү дугаарыг ашиглавал л ажиллах боломжтой, гэхдээ кодын зохих дугаарыг өөрчилсөн тохиолдолд тэдгээрийг холбохдоо чөлөөтэй байгаарай. 3 тэнхлэг мэдрэгчийг логик түвшний хөрвүүлэгч рүү холбох: Sensor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> TXI хөрвүүлэгч (Chan1) TXO хөрвүүлэгч (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> хөрвүүлэгч TXI (Chan2) хөрвүүлэгч TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (тэдгээрийн дор хаяж нэг нь) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3Optical sensor to Arduino: Хавсаргасан зургийг үзнэ үүDigital in = Pin 11 дээр ArduinoLED: GND GND (би оптик мэдрэгчийн нэгийг ашигласан)+ Arduino PIN 13 хүртэл (Энэ зүү аль хэдийн самбар дээр резистортой байсан тул үүнийг хийсэн, хэрэв та өөр өөр резистор ашигладаг бол резистор ашиглахаа мартуузай, ингэснээр LED шатахгүй)

Алхам 3: Хулгана бэлтгэх

Хулгана бэлтгэх
Хулгана бэлтгэх
Хулгана бэлтгэх
Хулгана бэлтгэх
Хулгана бэлтгэх
Хулгана бэлтгэх

Эндээс мэдрэгчид хулганы орон сууцанд байраа олох болно. 3 тэнхлэгтэй мэдрэгчийг засах хамгийн тохиромжтой газрыг олоорой. Энэ нь тэгшлэгдсэн эсэхийг анхаарч, чиг баримжаагаа анхаарч үзээрэй (Мэдрэгчийг гартаа авахад та мэдэх болно) Та хүссэн үедээ засаж болно, би 2 жижиг боолтыг хүлээн авахын тулд өрөмдсөн модон зангууны 2 богино хэсгийг ашигласан. Оптик мэдрэгчийн хувьд хулганы доод хэсэгт тэгш өнцөгт хэлбэртэй нүх гаргаж, мэдрэгчийг хүснэгтийг үргэлж харж байх хэрэгтэй. Хулгана дээш өргөгдөж, мэдрэгчийн төлөв "нээлттэй" байх үед (харах хүснэгт байхгүй) хулгана 3D горимд шилждэг (боловсруулах схемийг ажиллуулдаг) Нэмэлт утсыг (мэдрэгчээс Arduino руу) чиглүүлэх өөр нүхийг хэлбэржүүлнэ үү. хуванцар орон сууц. Уурхайг хулганы баруун талд байрлуулсан бөгөөд LED харуулах болно. Энэхүү төсөлд LED нь 3D горимын үзүүлэлт юм. Би уурхайгаа силикон хулганы дугуйны дэргэд байрлуулна. Хулгана дээш өргөгдөхөд дугуй нь сайхан цэнхэр туяатай байв.

Алхам 4: Эх код

Arduino -ийн кодыг миний багш Шачар Гейгер бичсэн бөгөөд энэ төслийг би өөрчилсөн. 3D шоо кодыг боловсруулах вэбсайтаас олж авсан үндсэн код юм. Би үүнийг жаахан өөрчилсөн. Кодонд энэ хэсэг нь мэдрэгчээс ирж буй түүхий мэдээллийг (ихэвчлэн -180 -аас 180 х 10 хүртэл) 0-255 getHeading () болгон хөрвүүлдэг; Serial.write ('x'); x = (x +1800) / 14; Serial.write (x); Serial.write ('y'); y = (y+1800) / 14; Serial.write (y); Serial.write ('z'); z = (z+1800) / 14; Serial.write (z); Мэдрэгч болон Arduino -аас авсан мэдээлэл тусдаа тэнхлэг бүрийн боловсруулалтын схемд очдог боловч өмнөх тэнхлэгтэй үсгээр (exp X12 Y200 Z130 -ийн хувьд) дараах код нь үсгийг унагаж зөвхөн COM руу илгээгдэх утгуудыг үлдээдэг. port while (port.available () == 0) {} char reading = 0; while (reading! = 'x') {while (port.available () == 0) {} reading = (char) port.read ();} X = port.read (); while (reading! = 'Y') {while (port.available () == 0) {} reading = (char) port.read ();} Y = port.read (); while (унших! = 'z') {while (port.available () == 0) {} унших = (char) port.read ();} Z = port.read (); Энэ кодын хэсэг нь бүх сөрөг утгыг бууруулдаг … хэрэв ((X! = -1) && (Y! = -1) && (Z! = -1)) {rotateZ (-(float) Y/25.0); rotateX ((float) X/25.0); rotateY ((float) Z/25.0); pX = X; pY = Y; pZ = Z;} else {rotateZ (-(float) pY/25.0); rotateX ((float) pX /25.0);rotateY((float)pZ/25.0);} Хавсаргасан ZIP файл нь Arduino болон Боловсруулах кодыг агуулсан

Алхам 5: Видео

Энэ бол … Энэ бол видео дээрх дууссан төсөл юм. Бага зэргийн доголдол гарч байна (куб нь заримдаа видеон дээр "үсэрч" байгааг харж болно), энэ нь Z тэнхлэгээс болж танд тохиолдохгүй байж магадгүй юм …

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