Мазмұны:

Raspberry Pi лазерлік сканері: 9 қадам (суреттермен)
Raspberry Pi лазерлік сканері: 9 қадам (суреттермен)

Бейне: Raspberry Pi лазерлік сканері: 9 қадам (суреттермен)

Бейне: Raspberry Pi лазерлік сканері: 9 қадам (суреттермен)
Бейне: Как достать Тирана ► 2 Прохождение Resident Evil 2 (remake 2019) 2024, Қараша
Anonim
Image
Image
Raspberry Pi лазерлік сканері
Raspberry Pi лазерлік сканері

Лазерлік сканер - бұл 3D басып шығаруды қолдана отырып, объектілерді.obj тор файлдарына цифрландыруға қабілетті Raspberry Pi енгізілген жүйелік құрылғы. Құрылғы мұны компьютерлік көру үшін сызықтық лазер мен кіріктірілген PiCam көмегімен жүзеге асырады. Лазер лазерден 45 градусқа төмен орналасқан және объектінің бір тік тіліміне ашық қызыл сызық түсіреді. Камера торлы тілім беру үшін тілімнің ортасынан қашықтықты анықтайды. Нысан айналатын науаға айналады және процесс толық объект сканерленгенше қайталанады. Жасалған.obj файлы ақырында пайдаланушыға электрондық пошта арқылы жіберіледі, бұл жүйені толығымен дербес және ендірілген етеді.

Бұл нұсқаулықта құрылғы қалай жасалғанын, кейбір нәтижелер мен болашақ қадамдар туралы айтылады.

1 -қадам: шабыт

Шабыт
Шабыт
Шабыт
Шабыт

Мен бірнеше жыл бойы 3D -принтерде және қатты модельдеумен айналысамын. Мен CNC маршрутизаторларынан лазерлік кескіштерге дейін 3D принтерлерге арналған көптеген түрлі прототиптік құралдармен жұмыс жасадым. Менің жергілікті өндірушілер кеңістігі әлі сатып ала алмайтын бір құрылғы 3D сканері болды - мен мұның себебін айта аламын.

Арзанырақ (бірнеше жүз доллар) сенімсіз болды, тамаша жағдайды қажет етті және әлі де нашар нәтиже берді. Қымбаттары бірнеше мың долларға дейін, жақсы, қымбат болды, бұл оның функциясын көптеген жағдайларда қажет етпейді. Оның үстіне, мен сканерлеу кезінде пайда болатын торлы тормен айналысқаннан гөрі, өлшеулерді және модельді нөлден бастап жасауды жөн көремін.

Осының арқасында мен сөреден тыс компоненттерді қолдана отырып, объектіні қаншалықты жақсы сканерлеуге болатынын білу үшін бюджеттік автономды сканер құрғым келді.

Зерттеу жүргізгеннен кейін мен көптеген 3D сканерлері айналмалы платформаны, содан кейін айналу моделін құру үшін орталықтан қашықтықты өлшеу үшін әр түрлі сенсорларды қолданғанын көрдім. Олардың көпшілігі Kinect камерасына ұқсас қос камераны қолданды. Мен ақырында лазерді қолданатын ажыратымдылығы төмен сканер Yscanner -ге тап болдым. Қарапайымдылық пен орындылыққа қарап, бұл лазер техникасы, онда лазер камерадан салыстырмалы түрде орталықтан қашықтықты өлшеу үшін алға қарай айқын жолға ұқсайды.

2 -қадам: құралдар мен бөлшектер

Бөлшектер:

  • Raspberry Pi $ 35.00
  • Raspberry Pi камерасы V2 30,00 доллар
  • Жарық диодтары, резисторлар мен сымдар
  • 3D басып шығару жіпшесі
  • 12x12x0.125 ағаш парақтар
  • M3 аппараттық құралы
  • Қадамдық мотор - $ 14
  • Сызықтық лазер - $ 8
  • LN298 қадамдық мотор драйверлері - $ 2.65
  • Металл батырмасы - 5 доллар

Құралдар:

  • Пісіру темірі
  • Лазерлік кескіш
  • 3D принтері
  • Бұрауыш
  • Қысқыштар

3 -қадам: жоғары деңгейлі дизайн

Жоғары деңгейлі дизайн
Жоғары деңгейлі дизайн
Жоғары деңгейлі дизайн
Жоғары деңгейлі дизайн

Бұл дизайндағы орталық компонент - объектілердің тік кесіндісіне түсетін сызықты лазер. Бұл проекцияны пикамераға түсіруге, оның перспективасын түзетуге және суретті өңдеуге дейін сүзуге болады. Кескінді өңдеу кезінде объектінің ортасынан сызықтың әрбір сегменті арасындағы қашықтықты жинауға болады. Радиалды координаттарда бұл сурет r және z компоненттерін береді. Үшінші өлшемге Θ, содан кейін объектіні жаңа тілімге айналдыру арқылы қол жеткізіледі. Бұл түсінік бірінші суретте көрсетілген.

Жоғарыда сипатталған әрекеттерді орындау үшін мен Raspberry Pi -ді орталық есептеу бірлігі ретінде қолдандым. Мен қадамдық мотор мен мотор драйверін Pi -ге жалғадым, ол сыртқы 5В қуат көзінен және Pi GPIO түйреуіштерімен басқарылады. Pi -ге 3.3 В желісінде сызықты лазер қойылды және Pi -дегі камера кірісіне PiCam бекітілді. Ақырында, төмен түсетін қарапайым түйме орнатылды және күйдің жарық диоды пайдаланушыға жүйенің қандай күйде екенін көрсетеді. Толық жүйе жүйелік блок -схемада жинақталған.

Басынан бастап электрониканы T-слоттары мен M3 аппараттық құралдарымен бірге орналасқан лазерлік кескіш қорапқа орналастыру жоспарланды. Электроника төменгі бөлікте көрінбейтін жерде жасырылады, ал қақпақ айналмалы науаға заттарды орналастыруға оңай қол жеткізуге мүмкіндік береді. Бұл қақпақ жүйеге түсетін жарық мөлшерін азайту үшін қажет, себебі бұл сыртқы жарық соңғы сканерлеу кезінде шу шығаруы мүмкін.

4 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Жоғарыда көрсетілгендей, мен лазерлік кесуді немесе 3D басып шығаруды бастамас бұрын, Autodesk Fusion 360 көмегімен біздің дизайнның егжей -тегжейлі 3D моделін жасадым. Шолу ретінде бұл құрылғы - лазермен кесілген ілмектері бар қақпағы бар қарапайым қорап. Құрылғының екі негізгі қабаты бар: электронды төсек және негізгі төсек, екі қабат арасында сымдар өтетін тесіктері бар.

Біздің қораптың көп бөлігі лазерлік кескішпен жасалған, оның дизайны Fusion 360 -да шығарылған және Epilog Zing 40 Вт лазерлі кескіште кесілген. Біздің дизайн жоғарыдағы суреттерде көрсетілген. Жоғарғы сол жақтан оңға қарай жылжу - бұл негізгі кереует, электроникалық кереует, қақпақ үшін екі бөлік, артқы бөлік, алдыңғы бөлік және екі бүйірлік бөлік. Негізгі кереуетте үш негізгі кесу бар: біреуі қадамдық қозғалтқышты орнатуға арналған, екіншісі лазерден сымдарды бағыттауға және біреуі PiCam кең кабелін бағыттауға арналған. Төсек бөлігінде Pi, нан тақтасы мен мотор драйверін бекітуге арналған бекіту тесіктері және қадамдық қозғалтқышқа кіру үшін үлкен тесік бар. Қақпақ бөліктері жоғарыда көрсетілген үшбұрышты бөлікті қалыптастыру үшін бір -біріне қосылады, ал топса - бұл бүйірлік тақталардың тесік диаметрінің ені болатын қарапайым экструзия. Артқы бөлігінде және бүйірлік бөліктердің бірінде саңылаулар бар, сондықтан Pi порттарына (HDMI, USB, Ethernet, Power) оңай қол жеткізуге болады. Алдыңғы жағы қарапайым түйін, мен ақырында түймені және жарықдиодты орнату үшін қолмен бұрғылау арқылы тесіктер жасадым. Барлық бөлшектерде көрінгендей, біздің бөлшектерді M-3 жабдығы T-қосылыстар мен слоттардың көмегімен біріктіреді. Бұл лазерлік кесінділерді ортогональды және сенімді ұстау әдісі. Бөлшектердің қанаттары басқа бөліктерге сәйкес келеді және жиектеріндегі t-тәрізді кесу M3 гайкасын айналдырмай кептелуге мүмкіндік береді. Бұл бізге M3 бұрандасын қолданып, бөлшектерді өте ұсақ бөлмемен бекітіп қоюға мүмкіндік береді.

Мен бөлшектердің көпшілігін лазерлік кескішпен жасауды таңдадым, себебі оның жылдамдығы мен қарапайымдылығы. Дегенмен, маған 3D геометриясының арқасында кескішті жасау қиынырақ болатын кейбір бөлшектерді 3D басып шығару керек болды. Бірінші бөлік сызықты лазер ұстағыш болды. Бұл бөлік камераға қарағанда 45 градусқа негізгі кереуетке орнатылып, оған лазердің үйкеліс күшіне сай келетін тесігі болуы керек еді. Мотордың білігі өте ұзын болғандықтан, мен мотор бекіткішін жасауым керек болды. Бекіту үйкелісі лазерлік кесілген бөліктерге сәйкес келеді және қозғалтқыш бекітілген жазықтықты айналмалы платформа негізгі төсекке сәйкес келетін етіп түсірді.

5 -қадам: электроника

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

Бұл жобаның сымдық жабдықтары өте қарапайым болды, себебі 3D сканері қосымша перифериялық қондырғыларды қажет етпеді. Қозғалтқышты, түймені, жарық диодты, лазерді және камераны Pi -ге қосу қажет болды. Көрсетілгендей, мен түйреуіштерді қорғау үшін біз қолданған әр түйреуішке резисторларды дәйекті түрде қосуға көз жеткіздім. Бір GPIO түйреуіші жарықдиодты күйді басқаруға арналған, ол құрылғы пайдалануға дайын болған кезде жанады және құрылғы жұмыс істеп тұрған кезде PWM -мен импульсті болады. Басқа GPIO түйреуіші түйме басылмаған кезде HIGH, ал түйме басылғанда LOW тіркелетін тартылған түймеге қосылды. Ақырында, мен төрт GPIO түйреуішін қадамдық моторды басқаруға арнадым.

Біздің қозғалтқыш тек жылдамдықты бақылауды қажет етпестен белгілі бір дәрежеде қадам жасауы керек болғандықтан, біз мотордың кірістеріне беру үшін басқару жолдарын күшейтетін қарапайым сатылы қозғалтқыш драйверін (L298N) таңдадық. Қадамдық қозғалтқыштарды өте төмен деңгейде пайдалану туралы білу үшін біз L298N деректер парағына да, Arduino кітапханасына да сілтеме жасадық. Қадамдық қозғалтқыштардың ауыспалы полярлық саусақтары бар магниттік ядросы бар. Төрт сым қозғалтқыштың бір -біріне қарама -қарсы саусақтарын қосатын екі электрмагнитті басқару үшін оралған. Осылайша, саусақтардың полярлығын ауыстыра отырып, біз қадамды бір қадамға итере аламыз. Степперлердің аппараттық деңгейден қалай жұмыс істейтіні туралы біле отырып, біз степперлерді оңай басқара алдық. Біз қадамдық қозғалтқышты Pi -дің орнына 5 В қуат көзінен ажыратуды шештік, себебі оның максималды ток тартуы 0,8 А шамасында, бұл Pi жеткізе алатыннан көп.

6 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Бұл жобаның бағдарламалық қамтамасыз етуін өзара әрекеттесетін төрт негізгі компонентке бөлуге болады: кескінді өңдеу, қозғалтқышты басқару, торды құру және ендірілген функциялар.

Бағдарламалық қамтамасыз етудің қысқаша мазмұны ретінде біз бірінші суретті қарай аламыз. Жүйе жүктелген кезде.bashrc автоматты түрде Pi -ге кіреді және біздің питон кодын іске қосады. Жүйе күй шамын жанып, пайдаланушыға оның дұрыс жүктелгенін хабарлайды және түйменің басылуын күтеді. Содан кейін пайдаланушы сканерленетін элементті орналастырып, қақпағын жаба алады. Түймені басқаннан кейін, жарық диоды пайдаланушыға құрылғының жұмыс істеп тұрғанын хабарлау үшін импульс береді. Құрылғы кескінді өңдеу мен қозғалтқышты басқару арасында толық айналу аяқталғанша және барлық объектілік деректер жиналғанша айналады. Ақырында, тор құрылады және файл алдын ала таңдалған электрондық поштаға жіберіледі. Бұл циклді қайта бастайды және түйме басылғанда құрылғы басқа сканерлеуге дайын.

Суретті өңдеу

Ең бірінші іске асырылған нәрсе - суретте сақталған ақпаратты кеңістікте нүктелер жиынын құруға болатын пішінге шығару үшін алынған суретті өңдеу. Мұны істеу үшін мен платформадағы объектінің суретін түсіруден бастадым, сонымен қатар қораптың артқы жағына жарқыраған лазердің әсерінен пайда болған барлық шуыл. Бұл суреттің шикі түрінде екі негізгі проблемасы болды. Біріншіден, объект жоғары перспективалы бұрышпен қаралды, екіншіден, фондық шу көп болды. Маған қажет бірінші нәрсе - бұл көру бұрышын есепке алу, себебі фотосуретті бұрынғыдай пайдалану объектінің біркелкі биіктігін анықтауға мүмкіндік бермейді. Екінші суретте көрсетілгендей, төңкерілген «L» пішінінің биіктігі сәйкес келеді; алайда бір жағы басқа жаққа қарағанда ұзағырақ болғандықтан, көрерменге жақын шетінде әр түрлі биіктіктер бар сияқты.

Мұны түзету үшін маған суреттегі жұмыс кеңістігін бұрын болған трапеция пішінінен тіктөртбұрышқа айналдыру керек болды. Мұны істеу үшін мен осы сілтеме арқылы берілген кодты қолдандым, ол сурет пен төрт нүкте берілген кезде кескінді төрт нүкте арасында қиып, перспективаның орнын толтыру үшін қиылған кескінді түрлендіреді. Бұл түрлендіру үшінші суретте көрсетілгендей трапеция түрінің орнына төртбұрыш жасау үшін төрт нүктені пайдаланады.

Шешуді қажет ететін келесі мәселе - сыртқы жарық түріндегі фондық шу мен лазердің өзі шағылысатын жарық. Мұны істеу үшін мен OpenCV inRange () функциясын қолданып жарықты сүздім. Мен шекті қызыл шамды белгілі бір деңгейге қою үшін қойдым. Дұрыс мәнді алу үшін мен жұмсақ табалдырықтан бастадым және сканерленетін объектідегі лазер жарығы алынғанға дейін шекті деңгей деңгейін жоғарылатуды жалғастырдым. лазер сызығының сол жақ шетімен шектесетін әр жолға бір пиксельден тұратын жолды алыңыз. Әр пиксель 3D кеңістігінде шыңға айналды және тор жасау бөлімінде сипатталғандай массивте сақталды. Бұл қадамдардың нәтижесін төртінші суреттен көруге болады.

Қозғалтқышты басқару

Объектінің кесіндісін алу үшін бір суретті сәтті өңдей алғаннан кейін, мен басқа бұрышы бар жаңа суретке түсу үшін объектіні айналдыра алуым керек болды. Мұны істеу үшін мен сканерленетін объект орналасқан платформаның астындағы қадамдық моторды басқардым. Мен қозғалтқыштың күйін бақылайтын айнымалы мәнді құру арқылы төрт қадамдық қозғалтқыштың әрқайсысын ауыстырып қосу арқылы қадамдық функцияның негізін құрдым.

Барлық өңделген кескіндерден тор жасау үшін алдымен өңделген суреттегі әр ақ пиксельді 3D кеңістігіндегі шыңға айналдыру керек болды. Мен цилиндрлік симметриялы объектінің жеке тілімдерін жинап жатқандықтан, цилиндрлік координаталарды жинауды бастаудың мағынасы болды. Бұл мағынасы бар, өйткені суреттің биіктігі z осін, айналмалы үстелдің ортасынан қашықтығы R осін, ал қадамдық қозғалтқыштың айналуы тета осін көрсете алады. Алайда, мен деректерімізді цилиндрлік координаттарда сақтағандықтан, осы шыңдардың әрқайсысын картезиандық координаттарға айналдыруға тура келді.

Бұл шыңдар жасалғаннан кейін олар тізімде сақталды және бұл тізім түсірілген әрбір кескін үшін жасалған шыңдар тізімін қамтитын басқа тізімде сақталды. Барлық суреттер өңделіп, төбеге айналдырылғаннан кейін, мен соңғы торда ұсынылған шыңдарды таңдауым керек болды. Мен жоғарғы шың мен төменгі шыңды қосуды қалаймын, содан кейін ажыратымдылыққа сәйкес әр сурет үшін біркелкі шыңдарды таңдадым. Шыңдардың барлық тізімдері бірдей емес болғандықтан, мен оларды ең аз шыңдары бар тізімді тауып, барлық басқа тізімдерден шыңдарды біркелкі болғанша алып тастау арқылы теңестіруге тура келді. тор жасау. Мен торды.obj файлының стандарты бойынша пішімдеуді таңдадым, себебі ол қарапайым және 3D басып шығарылады.

Енгізілген функция

Құрылғы функционалды болғаннан кейін мен оны толық ендірілген функцияны қосу арқылы жылтыраттым. Бұл пернетақтаны, тінтуірді және мониторды алып тастауды және өңдеуді аяқтағаннан кейін бізге.obj файлын сымсыз жіберуді білдіреді. Бастау үшін мен.bashrc кодын автоматты түрде кіру және іске қосу кезінде негізгі python бағдарламасын іске қосу үшін өзгерттім. Бұл sudo raspi-config көмегімен және «Console Autologin» таңдау арқылы және /home/pi/.bashrc. «sudo python /home/pi/finalProject/FINAL.py» жолын қосу арқылы жасалды. Бұған қоса мен пайдаланушы кірісі мен шығысына арналған түйме мен күй диодты қосады. Түйме пайдаланушыға құрылғыны сканерлеуді қашан бастау керектігін айтуға мүмкіндік береді, ал жарық диоды пайдаланушыға құрылғының күйін хабарлайды. Егер жарық диоды қосулы болса, құрылғы жаңа сканерлеуді бастауға дайын. Егер жарық диоды пульсацияланса, құрылғы қазіргі уақытта сканерлейді. Егер жарық диоды офистік болса, жүйені қайта іске қосуды талап ететін бағдарламалық жасақтама қатесі бар. Ақырында, мен құрылғыға.obj файлын электрондық пошта арқылы жіберуге мүмкіндік бердім. Бұл smtplib және электрондық пошта кітапханаларының көмегімен жасалды. Электрондық поштаны жіберу мүмкіндігі бізге өндірілген файлды пайдаланушыға көптеген платформаларда қол жеткізудің өте ыңғайлы және сымсыз әдісін берді.

7 -қадам: Интеграция

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

Құрылғының әр түрлі бөлшектерін дайындағаннан кейін мен оны жинадым. Жоғарыдағы суретте ретпен көрсетілген:

а) жиналған қорап

(б) камера мен лазермен бірге жиналған қорап

(с) электроника төсегінің ішкі көрінісі

(d) Pi порттарына және 5В қозғалтқыш кіруіне қол жеткізе отырып, Pi артқы жағында

(e) құрылғының алдыңғы жағындағы жарықдиодты сақинасы бар күй түймесі

8 -қадам: Нәтижелер

Нәтижелер
Нәтижелер
Нәтижелер
Нәтижелер
Нәтижелер
Нәтижелер
Нәтижелер
Нәтижелер

3D лазерлік сканері объектілерді лайықты дәлдікпен сканерледі. Объектілердің ерекшеліктері айқын және танылады және бөлшектерді Repetier сияқты кесу бағдарламалық жасақтамасының көмегімен 3D басып шығару өте оңай болды. Жоғарыда келтірілген суреттерде ағаш пен резеңке үйректің сканерленген үлгісі көрсетілген.

Сынақ кезінде мен тапқан ең үлкен табыстар мен табыстардың бірі - бұл құрылғының дәйектілігі. Бір объектінің бірнеше сынақтары кезінде сканер объектінің орналасуын сәл өзгертсек те, әр уақытта өте ұқсас болатын.obj файлын шығара алды. Үш бөлек сканерлеуде көрінгендей, олардың барлығы бір -біріне өте ұқсас, олар бір бөлшекті және бірдей мөлшерде түсіреді. Жалпы алғанда, біздің жүйенің бірізділігі мен беріктігі мені қатты таң қалдырды.

Мен реттей алатын айнымалылардың бірі - сканерлеудің ажыратымдылығы. Қадамда 400 қадам бар болғандықтан, мен бұрыштық ажыратымдылықты белгілеу үшін әрқайсысының big қаншалықты үлкен екенін таңдай аламын. Әдепкі бойынша, менде 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 жылғы бірінші сыйлығы

Ұсынылған: