Мазмұны:

Лазер мен камераның көмегімен диапазонды жасау: 6 қадам
Лазер мен камераның көмегімен диапазонды жасау: 6 қадам

Бейне: Лазер мен камераның көмегімен диапазонды жасау: 6 қадам

Бейне: Лазер мен камераның көмегімен диапазонды жасау: 6 қадам
Бейне: БӘРІН қабылдауға тұрарлық па? Ал ATS25X1 радиоқабылдағышы туралы не жақсы, егжей-тегжейлі шолу 2024, Маусым
Anonim
Лазер мен камераның көмегімен диапазонды жасау
Лазер мен камераның көмегімен диапазонды жасау

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

Жоба осы мақалаға негізделген:

Жалғыз айырмашылық - мен Raspberry Pi Zero W, СКД және Raspberry Pi Camera модулін қолдана отырып, диапазонды құрамын. Мен лазерді бақылау үшін OpenCV қолданамын.

Сіз технологияны жақсы білесіз және Python мен пәрмен жолын қолдануға ыңғайлы деп ойлаймын. Бұл жобада мен Pi -ді бассыз режимде қолданамын.

Бастайық!

1 -қадам: материалдар тізімі

Бұл жоба үшін сізге қажет:

  • 6мм 5мВт арзан лазер
  • 220 Ω резистор
  • 2N2222A транзисторы немесе оған балама
  • a Raspberry Pi Zero W
  • a Raspberry Pi камерасы v2
  • Nokia 5110 LCD дисплейі немесе оған балама
  • бірнеше секіргіш сымдар мен кішкене тақта

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

2 -қадам: Лазер мен камера қондырғысын құру

Лазерлік және камералық қондырғы құрастыру
Лазерлік және камералық қондырғы құрастыру
Лазерлік және камералық қондырғы құрастыру
Лазерлік және камералық қондырғы құрастыру
Лазерлік және камералық қондырғы құрастыру
Лазерлік және камералық қондырғы құрастыру

Жүйе камера линзасы мен лазер шығысы арасындағы тұрақты қашықтықты қабылдайды. Сынақтарды жеңілдету үшін мен камераны, лазерді және лазерді басқаратын шағын тізбекті орнатуға болатын қондырғы басып шығардым.

Мен камера модулінің өлшемдерін камераның тіреуін жасау үшін қолдандым. Мен негізінен сандық калибр мен дәл өлшегішті қолдандым. Лазер үшін мен лазердің қозғалмайтынын қамтамасыз ету үшін кішкене арматурасы бар 6 мм тесік жасадым. Мен қондырғының артқы жағында кішкене нан тақтасын бекіту үшін жеткілікті орын сақтауға тырыстым.

Мен Tinkercad-ты құрастыру үшін қолдандым, сіз модельді мына жерден таба аласыз:

Лазерлік линзаның ортасы мен камера линзасының ортасы арасында 3,75 см қашықтық бар.

3 -қадам: Лазер мен СКД жүргізу

Лазер мен СКД жүргізу
Лазер мен СКД жүргізу
Лазер мен СКД жүргізу
Лазер мен СКД жүргізу

Мен Raspberry Pi Zero көмегімен СКД дисплейді басқару үшін https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi оқулығын орындадым. /Boot/config.txt файлын өңдеудің орнына пәрмен жолы арқылы sudo raspi-config көмегімен SPI интерфейсін қосуға болады.

Мен Raspberry Pi Zero -ді бассыз режимде Raspbian Stretch соңғы нұсқасын қолданып қолданамын. Мен бұл нұсқаулықта орнатуды қамтымаймын, бірақ сіз осы нұсқаулықты орындауға болады: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- пәрмен жолы немесе желіні қолдану-97f065af722e

Жарқын лазерлік нүктеге ие болу үшін мен Pi 5В рельсін қолданамын. Ол үшін мен GPIO көмегімен лазерді басқару үшін транзисторды (2N2222a немесе эквиваленті) қолданамын. Транзистордың негізіндегі 220 Ом резистор лазер арқылы жеткілікті ток өткізуге мүмкіндік береді. Мен Pi GPIO -мен жұмыс жасау үшін RPi. GPIO қолданамын. Мен транзистордың негізін GPIO22 түйреуішіне (15 -ші түйреуіш), эмитентті жерге, коллекторды лазерлік диодқа қостым.

Пәрмен жолы арқылы sudo raspi-config көмегімен камера интерфейсін қосуды ұмытпаңыз.

Сіз бұл кодты орнатуды тексеру үшін пайдалана аласыз:

Егер бәрі жақсы болса, сізде фон мен лазерлік нүктені көретін dot-j.webp

Кодта біз камера мен GPIO орнатамыз, содан кейін лазерді қосамыз, суретке түсіреміз және лазерді өшіреміз. Мен Pi бассыз режимде жұмыс істеп жатқандықтан, суреттерді көрсетпес бұрын Pi -ден компьютерге көшіруім керек.

Бұл кезде сіздің аппараттық құрал конфигурациялануы керек.

4 -қадам: OpenCV көмегімен лазерді анықтау

Біріншіден, біз PiC -ге OpenCV орнатуымыз керек. Сізде мұны істеудің үш әдісі бар. Сіз apt көмегімен ескі пакеттік нұсқаны орната аласыз. Сіз қалаған нұсқаны құрастыра аласыз, бірақ бұл жағдайда орнату уақыты 15 сағатқа дейін созылуы мүмкін және оның көп бөлігі нақты жинау үшін. Немесе менің таңдаған тәсілім, сіз Pi Zero үшін үшінші тарап ұсынған алдын ала құрастырылған нұсқаны пайдалана аласыз.

Бұл қарапайым және жылдам болғандықтан, мен үшінші тарап пакетін қолдандым. Орнату қадамдарын осы мақаладан табуға болады: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ Мен көптеген басқа көздерді қолданып көрдім, бірақ олардың пакеттері жаңартылмаған.

Лазер көрсеткішін қадағалау үшін мен USB құрылғысының орнына Pi камера модулін пайдалану үшін https://github.com/bradmontgomery/python-laser-tracker кодын жаңарттым. Егер сізде Pi камера модулі болмаса және USB камерасын қолданғыңыз келсе, кодты тікелей пайдалана аласыз.

Толық кодты мына жерден таба аласыз:

Бұл кодты іске қосу үшін сізге Python пакеттерін орнату қажет: жастық пен пикамера (sudo pip3 жастық пикамерасын орнату).

5 -қадам: Диапазонды калибрлеу

Диапазон іздегішті калибрлеу
Диапазон іздегішті калибрлеу
Диапазон іздегішті калибрлеу
Диапазон іздегішті калибрлеу
Диапазон іздегішті калибрлеу
Диапазон іздегішті калибрлеу

Түпнұсқа мақалада автор у координаттарын нақты қашықтыққа түрлендіру үшін қажетті параметрлерді алу үшін калибрлеу процедурасын жасаған. Мен қонақ бөлменің үстелін калибрлеуге және ескі крафтқа қолдандым. Әр 10 см сайын мен x және y координаттарын электронды кестеге жаздым: https://docs.google.com/spreadsheets/d/1OTGu09GLAt… Барлығы дұрыс жұмыс істеуі үшін мен әр қадамда түсірілген суреттерді тексердім. лазер дұрыс бақыланды. Егер сіз жасыл лазерді қолдансаңыз немесе сіздің лазеріңіз дұрыс бақыланбаса, сізге сәйкес реңкті, қанықтылықты және шекті мәнді реттеу қажет болады.

Өлшеу кезеңі аяқталғаннан кейін параметрлерді нақты есептеуге уақыт келді. Автор сияқты мен сызықтық регрессияны қолдандым; іс жүзінде Google Spreadsheet бұл тапсырманы орындады. Содан кейін мен есептелген қашықтықты есептеу және оны нақты қашықтыққа тексеру үшін сол параметрлерді қайта қолдандым.

Енді қашықтықты өлшеу үшін диапазонды іздеу бағдарламасына параметрлерді енгізу уақыты келді.

6 -қадам: Қашықтықты өлшеу

Қашықтықты өлшеу
Қашықтықты өлшеу

Кодта: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c HEIGHT, GAIN және OFFSET айнымалыларын калибрлеу өлшемдеріне сәйкес жаңарттым. Мен қашықтықты бағалау үшін бастапқы мақаладағы қашықтық формуласын қолдандым және қашықтықты СКД дисплейі арқылы басып шығардым.

Код алдымен камераны және GPIO -ны орнатады, содан кейін біз өлшемдерді жақсы көру үшін СКД артқы жарығын қосқымыз келеді. СКД кірісі GPIO14 -ке қосылған. Әр 5 секунд сайын біз:

  1. лазерлік диодты қосыңыз
  2. суретті есте сақтау
  3. лазерлік диодты өшіріңіз
  4. HSV диапазонындағы сүзгілерді қолданып лазерді қадағалаңыз
  5. түзету мақсатында алынған кескінді дискіге жазыңыз
  6. y координатасына негізделген қашықтықты есептеңіз
  7. СКД дисплейіне қашықтықты жазыңыз.

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

Мен сонымен қатар камераны 90º бұру арқылы диапазонның ажыратымдылығын арттыра аламын және ажыратымдылықты камера қолдайтын максимумға дейін арттыра аламын. Ағымдағы іске асыру кезінде біз 0 -ден 384 пиксель диапазонымен шектелеміз, біз жоғарғы шекті 1640 -қа дейін арттыра аламыз, ағымдағы ажыратымдылықтан 4 есе. Қашықтық одан да дәл болады.

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

Жалпы, қазіргі жүйе маған жеткілікті және үй жоспарымды құруға бірнеше доллар үнемдейді!

Ұсынылған: