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

Raspberry Pi лазер сканнер: 9 алхам (зурагтай)
Raspberry Pi лазер сканнер: 9 алхам (зурагтай)

Видео: Raspberry Pi лазер сканнер: 9 алхам (зурагтай)

Видео: Raspberry Pi лазер сканнер: 9 алхам (зурагтай)
Видео: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, Долдугаар сарын
Anonim
Image
Image
Raspberry Pi лазер сканнер
Raspberry Pi лазер сканнер

Лазер сканнер нь Raspberry Pi суулгагдсан системийн төхөөрөмж бөгөөд объектуудыг дижитал хэлбэрээр 3D хэвлэх ашиглан хуулбарлах зориулалттай.obj торон файлууд болгоно. Төхөөрөмж үүнийг компьютерийн алсын харааг гүйцэтгэхийн тулд шугамын лазер болон нэгдсэн PiCam ашиглан хийдэг. Лазер нь лазераас 45 градусын зайд байрладаг бөгөөд объектын нэг босоо зүсэм дээр тод улаан шугам үүсгэдэг. Камер нь зүсмэлийн төвөөс зайг илрүүлж торон зүсмэлийг өгдөг. Объектыг эргэдэг тавиур дээр эргүүлж, бүтэн объектыг сканнердах хүртэл процессыг давтана. Үүсгэсэн.obj файлыг эцэст нь хэрэглэгч рүү имэйлээр илгээдэг бөгөөд энэ нь системийг бүрэн бие даасан, суулгагдсан болгодог.

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

Алхам 1: Урам зориг

Урам зориг
Урам зориг
Урам зориг
Урам зориг

Уран бүтээлч хүний хувьд би хэдэн жилийн турш 3D хэвлэх, хатуу загварчлах чиглэлээр ажиллаж байна. Би CNC чиглүүлэгчээс лазер таслагч, 3D принтер хүртэл олон янзын загварчлах хэрэгслүүдтэй ажиллаж байсан. Миний орон нутгийн үйлдвэрлэгчид хараахан худалдаж аваагүй байгаа төхөөрөмж бол 3D сканнер байсан бөгөөд яагаад гэдгийг би танд хэлж чадна.

Хямд үнэтэй (хэдэн зуун доллар) нь найдваргүй, төгс нөхцлийг шаарддаг байсан бөгөөд маш муухай үр дүнг харуулсан хэвээр байна. Үнэтэй нь … сайн, үнэтэй, хэдэн мянган долларын үнэтэй байсан нь түүний үйл ажиллагааг ихэнх тохиолдолд үнэ цэнэгүй болгодог. Нэмж дурдахад, би скан хийх явцад үүссэн гадаргуугийн тортой харьцахаас илүүтэйгээр хэмжилт хийх, загварыг эхнээс нь гаргахыг илүүд үздэг.

Үүний улмаас би тавиур дээрх эд ангиудыг ашиглан объектыг хэр сайн сканнердахыг харахын тулд төсвийн дан сканнер бүтээхийг хүссэн юм.

Судалгаа хийсний дараа олон 3D сканнерууд эргэдэг платформ, дараа нь янз бүрийн мэдрэгч ашиглан эргэлтийн загвар бүтээхийн тулд төвөөс зайг хэмждэг болохыг олж харсан. Эдгээрийн ихэнх нь Kinect -ийнхтэй төстэй хос камер ашигладаг байжээ. Би эцэст нь лазер ашигладаг бага нарийвчлалтай сканнер болох Yscanner -ийг олж харсан. Энгийн бөгөөд боломжийн байдлаас харахад лазерыг камераас харьцангуй офсетоор гэрэлтүүлж, төвөөс зайг хэмжих нь урагшлах тодорхой зам шиг харагдаж байв.

Алхам 2: Багаж хэрэгсэл ба эд анги

Эд анги:

  • Raspberry Pi $ 35.00
  • Raspberry Pi Camera V2 30,00 доллар
  • LED, резистор ба утас
  • 3D хэвлэх утас
  • 12x12x0.125 хэмжээтэй модон хуудас
  • M3 тоног төхөөрөмж
  • Stepper мотор - 14 доллар
  • Шугамын лазер - 8 доллар
  • LN298 Stepper мотор жолооч - 2.65 доллар
  • Металл товчлуур - 5 доллар

Хэрэгсэл:

  • Гагнуурын төмөр
  • Лазер таслагч
  • 3D принтер
  • Халив
  • Бахө

Алхам 3: Өндөр түвшний дизайн

Өндөр түвшний дизайн
Өндөр түвшний дизайн
Өндөр түвшний дизайн
Өндөр түвшний дизайн

Энэхүү дизайны гол бүрэлдэхүүн хэсэг нь объектуудын босоо зүсэлт дээр ажилладаг шугаман лазер юм. Энэхүү төсөөллийг пикамер дээр буулгаж, хэтийн төлөвийг нь засаж, дараа нь зураг боловсруулахаас өмнө шүүж болно. Зураг боловсруулах явцад объектын төвөөс шугамын сегмент бүрийн хоорондох зайг цуглуулж болно. Радиал координатад энэ зураг нь r ба z бүрэлдэхүүн хэсгүүдийг хоёуланг нь өгөх болно. Гурав дахь хэмжигдэхүүн болох Θ -г объектыг шинэ зүсэлт болгон эргүүлснээр олж авдаг. Энэхүү ойлголтыг эхний зурагт үзүүлэв.

Дээр тайлбарласан үйлдлүүдийг хийхийн тулд би Raspberry Pi -ийг манай тооцоолох төв нэгж болгон ашигласан. Би гадны 5V тэжээлээр тэжээгддэг, Pi -ийн GPIO тээглүүрээр удирддаг шаталсан мотор, мотор жолоочийг Pi -д холбосон. Pi дээрх 3.3 V шугам дээр шугамын лазер суурилуулсан бөгөөд Pi дээрх камерын оролтонд PiCam хавсаргасан болно. Сүүлд нь доош нь татах энгийн товчлуурыг суулгаж, системийн төлөв байдлыг хэрэглэгчдэд харуулах статусын LED -ийг суулгасан болно. Бүтэн системийг системийн блок диаграммд нэгтгэн харуулав.

Анхнаасаа электроникийг Т-үүр, М3 техник хэрэгсэлтэй хамт лазер хайчлах хайрцагт байрлуулахаар төлөвлөж байсан. Цахилгаан хэрэгслийг доод тасалгаанд нуух бөгөөд таг нь эргэдэг тавиур дээр объект байрлуулахад хялбар байх болно. Энэхүү таг нь системд нэвтэрч буй гэрлийн хэмжээг багасгахын тулд зайлшгүй шаардлагатай байдаг, учир нь энэхүү гаднах гэрэл нь эцсийн хайлтын явцад дуу чимээ үүсгэдэг.

Алхам 4: Техник хангамж

Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж
Техник хангамж

Дээр дурдсанчлан лазер хайчлах эсвэл 3D хэвлэхээс өмнө би Autodesk Fusion 360 -ийг ашиглан дизайныхаа нарийвчилсан 3D загварыг хийсэн. Ерөнхийдөө энэ төхөөрөмж нь лазер хайчлах нугас бүхий тагтай энгийн хайрцаг юм. Төхөөрөмжийн хоёр үндсэн давхарга байдаг: цахилгаан ор, үндсэн ор, хоёр давхаргын хооронд утас дамжуулах нүхтэй.

Манай хайрцгийн дийлэнх хэсгийг лазер таслагчаар үйлдвэрлэсэн бөгөөд загварыг Fusion 360 дээр үйлдвэрлэж, Epilog Zing 40 W лазер таслагч дээр хайчилж авав. Бидний загварыг дээрх зурган дээр харуулав. Зүүн дээд талаас баруун тийш хөдөлж буй хэсгүүд нь үндсэн ор, электроникийн ор, тагны хоёр хэсэг, арын хэсэг, урд хэсэг, хажуугийн хоёр хэсэг юм. Үндсэн ор дээр гурван үндсэн таслагч байдаг: нэг нь stepper мотор суурилуулах, нэг нь лазераас утас дамжуулах, нөгөө нь PiCam -ийн өргөн кабелийг чиглүүлэх зориулалттай. Орны хэсэг нь Pi, талх, мотор драйверийг бэхлэх бэхэлгээний нүхтэй бөгөөд stepper мотор руу орохын тулд илүү том зүсэлт хийдэг. Тагны хэсгүүд нь хоорондоо нийлж, дээр нь харсан гурвалжин хэлбэртэй байдаг бөгөөд нугас нь хажуугийн хавтангийн нүхний диаметрийн өргөн юм. Арын хэсэг ба хажуугийн нэг хэсэг нь хажуу талдаа үүртэй тул Pi (HDMI, USB, Ethernet, Power) портууд руу хялбархан нэвтрэх боломжтой. Урд хэсэг нь товчлуур болон LED-ийг холбохын тулд гар өрөмдлөгийн тусламжтайгаар нүх гаргажээ. Энэ бол лазер хайчлах хэсгүүдийг тэгш өнцөгт, найдвартай барих арга юм. Хэсгийн сэрвээ нь бусад хэсгүүдтэй таарч, ирмэг дээрх t хэлбэртэй зүсэлт нь М3 самарыг ээрэхгүйгээр гацах боломжийг олгодог. Энэ нь бидэнд М3 шураг ашиглан эд ангиудыг маш бага хөдөлгөөнтэй өрөөнд түгжих боломжийг олгодог.

Хийх хурд, хялбар байдлаас шалтгаалан би ихэнх хэсгүүдийг лазер таслагчаар хийхийг сонгосон. Гэсэн хэдий ч 3D геометрийн ачаар зарим хэсгийг 3D хэлбэрээр хэвлэх шаардлагатай байсан нь таслагч дээр хийхэд илүү хэцүү байх болно. Эхний хэсэг нь шугамын лазер эзэмшигч байв. Энэ хэсгийг камерын өнцгөөс 45 градусын үндсэн орон дээр суурилуулж, лазерыг маш үрэлтэнд оруулах нүхтэй байх ёстой байв. Хөдөлгүүрийн босоо ам маш урт байсан тул би мотор бэхэлгээ хийх шаардлагатай болсон. Бэхэлгээний үрэлт нь лазер хайчлах хэсгүүдэд багтаж, хөдөлгүүрийг хавсаргасан онгоцыг доошлуулж, эргэдэг тавцан нь үндсэн ортой ижилхэн байв.

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

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

3D сканнер нь хэт олон нэмэлт төхөөрөмж шаарддаггүй тул энэ төслийн утастай холбоотой тоног төхөөрөмж маш энгийн байсан. Pi -д мотор, товч, LED, лазер, камер холбох шаардлагатай байв. Үзүүлсэн шиг би тээглүүрийг хамгаалахын тулд ашигладаг зүү тус бүрээр резисторуудыг цувралаар холбож өгсөн. Нэг GPIO зүү нь статусын LED -ийг хянахад зориулагдсан бөгөөд энэ нь төхөөрөмжийг ашиглахад бэлэн болсон үед асаж, төхөөрөмж ажиллаж байх үед ХОУХ -тэй импульс өгөх болно. Өөр нэг GPIO зүү нь татагдсан товчлууртай холбогдсон бөгөөд товчлуур дарагдаагүй үед HIGH, товчлуур дарагдсан үед LOW гэж бүртгэгдсэн байна. Эцэст нь би дөрвөн GPIO зүүг stepper мотор жолоодоход зориулав.

Манай мотор зөвхөн хурдыг хянах шаардлагагүй тодорхой хэмжээгээр алхам хийх ёстой байсан тул бид хөдөлгүүрийн оролтонд оруулахын тулд хяналтын шугамыг дээшлүүлдэг энгийн шаталсан мотор жолооч (L298N) сонгосон. Stepper моторыг маш бага түвшинд хэрхэн ажиллуулах талаар олж мэдэхийн тулд бид L298N мэдээллийн хуудас болон Arduino номын сангийн аль алинд нь хандсан болно. Stepper моторууд нь соронзон судалтай бөгөөд ээлжлэн туйлширдаг хуруутай. Дөрвөн утсыг хоёр цахилгаан соронзыг хянахын тулд ороосон бөгөөд тус бүр нь хөдөлгүүрийн эсрэг талын хуруугаа тэжээдэг. Тиймээс хурууны туйлыг сольсноор бид stepper -ийг нэг алхам түлхэх боломжтой болно. Тоног төхөөрөмжийн түвшнээс эхлэн steppers хэрхэн ажилладаг талаар ийм мэдлэгтэй болсноор бид stepper -ийг илүү хялбар удирдах боломжтой болсон. Пи -ийн нийлүүлж чадах хэмжээнээс их буюу 0.8 А орчим гүйдлийн хамгийн их гүйдэлтэй тул бид алхам алхмын мотороо Pi -ээс илүү лабораторид 5V цахилгаан тэжээлээс салгахаар шийдсэн.

Алхам 6: Програм хангамж

Програм хангамж
Програм хангамж
Програм хангамж
Програм хангамж
Програм хангамж
Програм хангамж
Програм хангамж
Програм хангамж

Энэхүү төслийн програм хангамжийг зураг боловсруулах, моторын хяналт, тор үүсгэх, суулгагдсан функц гэсэн дөрвөн үндсэн бүрэлдэхүүн хэсэгт хувааж болно.

Програм хангамжийн хураангуй байдлаар бид эхний зургийг харж болно. Систем ачаалах үед.bashrc автоматаар Pi руу нэвтэрч манай питон кодыг ажиллуулж эхэлдэг. Систем нь статусын гэрлийг асааж, хэрэглэгч зөв ачаалагдсан гэдгээ мэдэгдэж товчлуур дарагдахыг хүлээдэг. Хэрэглэгч дараа нь сканнердах зүйлийг байрлуулж, тагийг нь хааж болно. Товчлуурыг дарсны дараа LED нь хэрэглэгчид төхөөрөмж ажиллаж байгааг мэдэгдэхийн тулд импульс өгдөг. Төхөөрөмж бүрэн эргэлт дуусч, объектын бүх өгөгдлийг цуглуулах хүртэл зураг боловсруулах болон моторын хооронд гогцоо хийх болно. Эцэст нь тор үүсгэж, файлыг урьдчилан сонгосон имэйл рүү имэйлээр илгээнэ. Энэ нь мөчлөгийг дахин эхлүүлэх бөгөөд нэг товчлуур дарахад машин өөр скан хийхэд бэлэн болно.

Зураг боловсруулах

Анхны хэрэгжүүлсэн зүйл бол зураг дээр хадгалагдсан мэдээллийг орон зайд цэгүүдийн массив үүсгэхэд ашиглаж болох хэлбэрээр гаргаж авахын тулд авсан зургийг боловсруулах явдал байв. Үүнийг хийхийн тулд би тавцан дээрх объектын зургийг авч, хайрцгийн арын хэсэгт гэрэлтэж, тарж буй лазерын үүсгэсэн бүх чимээ шуугиантай хамт эхлэв. Энэ зураг нь үндсэн хэлбэрээр хоёр үндсэн асуудалтай байсан. Нэгдүгээрт, объектыг өндөр өнцгөөр харсан, хоёрдугаарт, маш их чимээ шуугиантай байсан. Миний хийх ёстой хамгийн эхний зүйл бол энэ харах өнцгийг тооцоолох явдал байв, учир нь зургийг байгаагаар нь ашиглах нь объектын тууштай өндрийг тодорхойлох боломжийг олгодоггүй. Хоёрдахь зурагт үзүүлсэн шиг "L" хэлбэрийн дээш харуулсан өндөр нь тууштай байна; Гэсэн хэдий ч нэг тал нь нөгөөгөөсөө илүү урт байдаг тул үзэгчид хамгийн ойрхон ирмэг дээр өөр өөр өндөртэй байдаг.

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

Шийдэх шаардлагатай дараагийн асуудал бол гаднах гэрэл, гэрлийн хэлбэрийн арын чимээ шуугиан бөгөөд лазер өөрөө тусгадаг явдал байв. Үүнийг хийхийн тулд би OpenCV -ийн inRange () функцийг ашиглан гэрлийг шүүсэн. Би босгыг зөвхөн улаан гэрлийг тодорхой түвшинд авахаар тохируулсан. Үнэн зөв утгыг олж авахын тулд би босгоны босгоос эхэлж, сканнердаж буй объект дээрх лазер туяа л авах хүртэл босгоны түвшинг дээшлүүлэв. Энэ зургийг авсны дараа эгнээ тус бүрийн хамгийн тод пикселийг олсон. лазер шугамын хамгийн зүүн талтай хиллэдэг мөр бүрт нэг пикселийн шугам авах. Дараа нь пиксел бүрийг 3D орон зайд оройн орой болгон хөрвүүлж, тор үүсгэх хэсэгт тайлбарласны дагуу массивт хадгалав. Эдгээр алхамуудын үр дүнг дөрөв дэх зургаас харж болно.

Моторын хяналт

Объектын зүсмэлийг олж авахын тулд нэг зургийг амжилттай боловсруулж чадсаны дараа би өөр өнцгөөр шинэ зураг авахын тулд объектыг эргүүлэх чадвартай байх шаардлагатай болсон. Үүнийг хийхийн тулд би сканнердаж буй объектын тавцангийн доор байрлах stepper моторыг удирдсан. Би хөдөлгүүрийн төлөв байдлыг хянах хувьсагч, дөрвөн моторын оролт бүрийг сольж микро алхам хийх замаар алхам алхам хийх функцын үндэс суурийг тавьсан.

Боловсруулсан бүх зургуудаас тор үүсгэхийн тулд эхлээд боловсруулсан зураг дээрх цагаан пиксел бүрийг 3D орон зайд оройн хэсэг болгон хөрвүүлэх шаардлагатай болсон. Би цилиндр тэгш хэмтэй объектын зүсмэлүүдийг цуглуулж байгаа тул цилиндр хэлбэртэй координатыг цуглуулж эхлэх нь зүйтэй болов уу. Зургийн өндөр нь z тэнхлэгийг, эргэдэг хүснэгтийн төвөөс зай нь R тэнхлэгийг, stepper моторын эргэлт нь тета тэнхлэгийг илэрхийлж чаддаг тул энэ нь утга учиртай юм. Гэсэн хэдий ч би өгөгдлөө цилиндр хэлбэртэй координатад хадгалдаг байсан тул эдгээр оройнуудыг картезийн координат болгон хөрвүүлэх шаардлагатай болсон.

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

Оруулсан функц

Төхөөрөмжийг ажиллуулсны дараа би үүнийг бүрэн суулгагдсан функцийг нэмж өнгөлсөн. Энэ нь гар, хулгана, дэлгэцийг салгаж, боловсруулж дуусаад.obj файлыг бидэнд утасгүй илгээнэ гэсэн үг юм. Эхлэхийн тулд би.bashrc кодыг өөрчилж, автоматаар нэвтэрч, эхлүүлэхдээ үндсэн python програмыг эхлүүлсэн. Үүнийг sudo raspi-config ашиглан "Console Autologin" -ийг сонгож, /home/pi/.bashrc. дээр "sudo python /home/pi/finalProject/FINAL.py" гэсэн мөрийг нэмж орууллаа. хэрэглэгчийн оролт, гаралтын товчлуур ба статусын LED -ийг нэмсэн. Энэхүү товчлуур нь хэрэглэгчийг сканнердах ажлыг хэзээ эхлэх, LED нь тухайн машины төлөв байдлыг хэрэглэгчдэд хэлэх боломжийг олгодог. Хэрэв LED асаалттай байвал төхөөрөмж шинэ скан эхлүүлэхэд бэлэн байна. Хэрэв LED лугшилттай бол төхөөрөмж одоогоор скан хийж байна. Хэрэв LED оффис байгаа бол системийг дахин эхлүүлэхийг шаарддаг програм хангамжийн алдаа гардаг. Эцэст нь би.obj файлыг имэйлээр илгээх төхөөрөмжийг идэвхжүүлсэн. Үүнийг smtplib болон имэйлийн санг ашиглан хийсэн. Имэйл илгээх энэ чадвар нь үйлдвэрлэсэн файлыг хэрэглэгчдэд олон платформд нэвтрэх маш тохиромжтой, утасгүй аргыг бидэнд өгсөн юм.

Алхам 7: Интеграцчлал

Интеграци
Интеграци

Төхөөрөмжийн янз бүрийн хэсгүүдийг үйлдвэрлэсний дараа би угсарч эхлэв. Дээрх зургийг дарааллаар нь харуулав.

(а) гадна талд угсарсан хайрцаг

(б) камер, лазер бүхий угсарсан хайрцаг

(в) электроникийн орны дотоод үзэмж

(d) Pi портууд болон 5V моторын оролт руу нэвтрэх боломжтой Pi -ийн ар тал

(e) төхөөрөмжийн урд талд LED цагираг, статусын гэрэл бүхий товчлуур

Алхам 8: Үр дүн

Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн
Үр дүн

Лазер 3D сканнер нь объектуудыг зохих нарийвчлалтай сканнердах чадвартай байв. Объектуудын онцлог шинж чанарууд нь танигдахуйц бөгөөд эд ангиудыг Repetier гэх мэт зүсэх програм ашиглан 3D хэвлэхэд маш хялбар байсан. Дээрх зургууд нь модон болон резинэн дэгдээхэйн зарим дээжийг харуулжээ.

Туршилтын явцад олж мэдсэн бидний олж мэдсэн хамгийн том ололт, амжилтуудын нэг бол төхөөрөмжийн тууштай байдал байв. Нэг объектыг олон удаа туршиж үзэх явцад сканнер нь объектын байршлыг бага зэрэг өөрчилсөн байсан ч гэсэн тэр бүр маш төстэй байсан.obj файлыг гаргаж чаддаг байсан. Гурван тусдаа сканнерд харуулснаар тэд бүгд хоорондоо маш төстэй харагдаж, ижил нарийвчлал, ижил хэмжээний нарийн ширийн зүйлийг авчээ. Манай системийн тууштай байдал, бат бөх байдал надад ерөнхийдөө маш их сэтгэгдэл төрүүлсэн.

Миний үнэхээр тааруулж чадсан хувьсагчдын нэг бол сканнердах нарийвчлал юм. Шатанд 400 алхам байдаг тул өнцгийн нарийвчлалыг тохируулахын тулд each тус бүрийг сонгох боломжтой. Анхдагч байдлаар, би өнцгийн нарийвчлалыг 20 давталтаар тохируулсан бөгөөд энэ нь мотор бүр 20 алхамаар эргэдэг гэсэн үг юм (400/20 = 20). Үүнийг ихэвчлэн цаг хугацааны сонирхолд нийцүүлэн сонгосон - ийм байдлаар скан хийхэд 45 орчим секунд зарцуулдаг. Гэсэн хэдий ч хэрэв би илүү өндөр чанартай скан хийхийг хүсч байвал давталтын тоог 400 хүртэл нэмэгдүүлэх боломжтой. Энэ нь загварыг бүтээхэд илүү олон оноо өгч, илүү нарийвчилсан скан хийх боломжийг олгодог. Өнцгийн нарийвчлалаас гадна би босоо нарийвчлалыг эсвэл лазер зүсмэлийн дагуу хэдэн өөр цэг сонгохыг тохируулж болно. Үүнтэй ижил сонирхолтой байхын тулд би энэ өгөгдлийг 20 болгож тохируулсан боловч илүү сайн үр дүнд хүрэхийн тулд үүнийг нэмэгдүүлэх боломжтой. Өнцгийн нарийвчлал ба орон зайн нарийвчлалын эдгээр параметрүүдтэй тоглохдоо би өөр зургийн үр дүнг доорх зураг дээр нэгтгэж чадсан. Шошго бүр нь өнцгийн нарийвчлал x орон зайн нарийвчлалтай байхаар форматлагдсан болно. Анхдагч сканнердах тохиргооноос харахад нугасны онцлог шинж чанарууд танигдах боловч нарийвчлан харуулаагүй болно. Гэсэн хэдий ч, би нарийвчлалыг нэмэгдүүлэхийн хэрээр нугас дээрх нүд, хушуу, сүүл, далавч зэрэг өвөрмөц онцлог шинж чанарууд гарч эхэлнэ. Хамгийн өндөр нарийвчлалтай зургийг скан хийхэд ойролцоогоор 5 минут зарцуулсан. Энэхүү өндөр нарийвчлалтай шийдвэрийг харах нь маш том амжилт байв.

Хязгаарлалт

Төсөл амжилттай хэрэгжсэн ч дизайн, хэрэгжилтэд цөөн хэдэн хязгаарлалт байсаар байна. Лазерыг ашигласнаар гэрэл хэрхэн тархах вэ гэдэг асуудал гарч ирдэг. Миний скан хийхийг оролдсон тунгалаг, гялалзсан эсвэл маш харанхуй олон объект гэрэл гадаргуугаас хэрхэн тусах нь төвөг учруулдаг. Хэрэв объект тунгалаг байсан бол гэрэл шингэж, сарниж, зүсмэлүүдийг маш их чимээ шуугиантай унших боломжтой болно. Гялалзсан, харанхуй биетүүдэд гэрэл тусах эсвэл авахад хэцүү болох хүртэл шингэх болно. Цаашилбал, би камер ашиглан объектын онцлог шинж чанарыг олж авч байгаа тул түүний мэдрэх чадвар нь харааны шугамаар хязгаарлагддаг бөгөөд энэ нь ихэвчлэн хонхойсон объект ба хурц өнцгийг тухайн зүйлийн бусад хэсгээр хаадаг гэсэн үг юм. Үүнийг манай резинэн нугас дээр харуулав, учир нь сүүл нь скан хийхэд муруйлтаа алддаг. Камер нь зөвхөн гадаргуугийн бүтцийг илрүүлж чаддаг бөгөөд энэ нь нүх эсвэл дотоод геометрийг авах боломжгүй гэсэн үг юм. Гэсэн хэдий ч энэ нь бусад олон сканнердах шийдлүүдийн адил түгээмэл тохиолддог асуудал юм.

Дараагийн алхмууд

Хэдийгээр бид төслийнхөө үр дүнд сэтгэл хангалуун байсан ч илүү сайн болгохын тулд хэрэгжүүлж болох хэдэн зүйл байсан. Эхлэгчдийн хувьд одоогийн төлөвт сканнердах нарийвчлалыг зөвхөн манай кодын хатуу кодчилсон нарийвчлалтай хувьсагчдыг өөрчлөх замаар өөрчлөх боломжтой. Төслийг илүү багтаамжтай болгохын тулд нарийвчлалын потенциометрийг оруулж болох бөгөөд ингэснээр хэрэглэгч скан хийгчид дэлгэц, гар залгахгүйгээр нарийвчлалыг өөрчилж болно. Нэмж дурдахад сканнер нь заримдаа тасархай харагдаж болох дүрсийг бүтээдэг. Үүнийг засахын тулд жигд бус байдал, хатуу буланг тэгшлэхийн тулд торон тэгшлэх техникийг ашиглаж болно. Эцэст нь хэлэхэд, пикселийн координат нь бодит ертөнцөд тийм ч сайн нийцдэггүй болохыг олж мэдсэн. Миний үүсгэсэн торнууд нь бодит объектоос 6-7 дахин том хэмжээтэй байв. Ирээдүйд торыг масштабаар хэмжих аргыг хэрэгжүүлэх нь илүү үр дүнтэй байх бөгөөд ингэснээр тэдгээр нь объектын бодит хэмжээтэй илүү нарийвчлалтай байх болно.

Алхам 9: Нөөц

Би код, хэвлэх STL файлууд, мөн төслийг бүхэлд нь огтлох DXF файлуудыг оруулсан болно.

Raspberry Pi уралдаан 2020
Raspberry Pi уралдаан 2020
Raspberry Pi уралдаан 2020
Raspberry Pi уралдаан 2020

Raspberry Pi уралдааны 2020 оны тэргүүн шагнал

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