Kazalo:
- 1. korak: Seznam materialov
- 2. korak: Izdelava laserskega in kamerskega sestavljanca
- 3. korak: Vožnja laserja in LCD -zaslona
- 4. korak: Odkrivanje laserja z uporabo OpenCV
- 5. korak: Umerjanje daljinomera
- 6. korak: Merjenje razdalj
Video: Izdelava daljinomera z laserjem in kamero: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Trenutno načrtujem notranja dela za naslednjo pomlad, a ker sem pravkar kupil staro hišo, nimam načrta hiše. Začel sem meriti razdalje od stene do stene z ravnilom, vendar je počasen in nagnjen k napakam. Razmišljal sem o nakupu daljinomera, da bi olajšal postopek, potem pa sem našel star članek o gradnji lastnega daljinomera z laserjem in kamero. Izkazalo se je, da imam te komponente v svoji delavnici.
Projekt temelji na tem članku:
Edina razlika je v tem, da bom daljinomer gradil z uporabo Raspberry Pi Zero W, LCD -ja in modula Raspberry Pi Camera. Za sledenje laserju bom uporabil tudi OpenCV.
Predvidevam, da ste tehnično podkovani in da vam je udobno uporabljati Python in ukazno vrstico. V tem projektu uporabljam Pi v načinu brez glave.
Začnimo!
1. korak: Seznam materialov
Za ta projekt boste potrebovali:
- poceni laser 6 mm 5mW
- 220 Ω upor
- tranzistor 2N2222A ali kaj podobnega
- a Raspberry Pi Zero W
- fotoaparat Raspberry Pi v2
- LCD zaslon Nokia 5110 ali enakovreden
- nekaj mostičnih žic in majhna plošča
S svojim 3D tiskalnikom sem natisnil pripomoček, ki mi je pomagal med poskusi. Načrtujem tudi uporabo 3D tiskalnika za izdelavo popolnega ohišja za merilnik razdalje. Lahko popolnoma brez.
2. korak: Izdelava laserskega in kamerskega sestavljanca
Sistem predpostavlja fiksno razdaljo med objektivom kamere in laserskim izhodom. Za olajšanje testov sem natisnil šablono, v katero lahko namestim kamero, laser in majhno pogonsko vezje za laser.
Za izdelavo nosilca za kamero sem uporabil dimenzije modula kamere. Za meritve sem uporabljal predvsem digitalno čeljust in natančno ravnilo. Za laser sem ustvaril 6 mm luknjo z malo ojačitve, da zagotovim, da se laser ne premakne. Poskusil sem ohraniti dovolj prostora, da sem na zadnji strani vložka namestil majhno ploščico.
Za izdelavo sem uporabil Tinkercad, model najdete tukaj:
Med središčem laserske leče in središčem leče fotoaparata je 3,75 cm razdalje.
3. korak: Vožnja laserja in LCD -zaslona
Sledil sem tej vadnici https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi za vožnjo LCD zaslona z Raspberry Pi Zero. Namesto urejanja datoteke /boot/config.txt lahko v ukazni vrstici omogočite vmesnik SPI z uporabo sudo raspi-config.
Raspberry Pi Zero uporabljam v brezglavnem načinu z uporabo najnovejšega, na dan, Raspbian Stretch. Namestitve v tem navodilu ne bom obravnaval, lahko pa sledite tem navodilom: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- command-line-or-using-the-network-97f065af722e
Za svetlo lasersko piko uporabljam 5V tirnico Pi. Za to bom uporabil tranzistor (2N2222a ali enakovreden) za pogon laserja z uporabo GPIO. 220 Ω upor na dnu tranzistorja omogoča dovolj toka skozi laser. Za manipulacijo s Pi GPIO uporabljam RPi. GPIO. Osnovo tranzistorja sem priključil na pin GPIO22 (15. pin), oddajnik na tla in zbiralnik na lasersko diodo.
Ne pozabite omogočiti vmesnika kamere z uporabo sudo raspi-config prek ukazne vrstice.
S to kodo lahko preizkusite svojo nastavitev:
Če je vse v redu, morate imeti datoteko dot.jpg, v kateri boste videli ozadje in lasersko piko.
V kodi nastavimo kamero in GPIO, nato omogočimo laser, posnamemo sliko in onemogočimo laser. Ker uporabljam Pi v brezglavem načinu, moram pred prikazom kopirati slike iz svojega Pi v računalnik.
Na tej točki je treba konfigurirati strojno opremo.
4. korak: Odkrivanje laserja z uporabo OpenCV
Najprej moramo namestiti OpenCV na Pi. V bistvu imate tri načine za to. Staro zapakirano različico lahko namestite z apt. Lahko sestavite želeno različico, vendar v tem primeru lahko čas namestitve traja do 15 ur in večina za dejansko kompilacijo. Ali, moj prednostni pristop, lahko uporabite vnaprej sestavljeno različico za Pi Zero, ki jo zagotovi tretja oseba.
Ker je enostavnejši in hitrejši, sem uporabil paket tretjih oseb. Korake za namestitev najdete v tem članku: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ Poskusil sem veliko drugih virov, vendar njihovi paketi niso bili posodobljeni.
Za sledenje laserskemu kazalcu sem posodobil kodo s spletnega mesta https://github.com/bradmontgomery/python-laser-tracker in uporabil modul kamere Pi namesto naprave USB. Kodo lahko uporabite neposredno, če nimate modula kamere Pi in želite uporabiti kamero USB.
Celotno kodo najdete tukaj:
Za zagon te kode boste morali namestiti pakete Python: blazino in pikamero (sudo pip3 namestite vzglavnik picamera).
5. korak: Umerjanje daljinomera
V izvirnem članku je avtor zasnoval postopek umerjanja, da bi dobil zahtevane parametre za pretvorbo koordinat y na dejansko razdaljo. Svojo dnevno mizo sem uporabil za umerjanje in star kos krafta. Vsakih 10 cm sem koordinate x in y zapisal v preglednico: https://docs.google.com/spreadsheets/d/1OTGu09GLAt… Da bi vse delovalo pravilno, sem na vsakem koraku preveril zajete slike laser je bil pravilno sleden. Če uporabljate zeleni laser ali če njegovemu laserju niste pravilno sledili, boste morali ustrezno prilagoditi odtenek, nasičenost in prag vrednosti programa.
Ko je faza merjenja končana, je čas, da dejansko izračunamo parametre. Tako kot avtor sem uporabil linearno regresijo; pravzaprav mi je Google preglednica naredila delo. Nato sem te parametre ponovno uporabil za izračun ocenjene razdalje in jo preveril glede na dejansko razdaljo.
Zdaj je čas, da v program daljinomera vnesete parametre za merjenje razdalj.
6. korak: Merjenje razdalj
V kodi: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c sem spremenil spremenljivke HEIGHT, GAIN in OFFSET glede na kalibracijske meritve. Za oceno razdalje sem uporabil formulo za razdaljo v izvirnem članku in jo natisnil z LCD zaslonom.
Koda bo najprej nastavila kamero in GPIO, nato želimo osvetliti osvetlitev zaslona LCD, da bomo bolje videli meritve. Vhod LCD je priključen na GPIO14. Vsakih 5 sekund bomo:
- omogočite lasersko diodo
- posneti sliko v spomin
- onemogočite lasersko diodo
- sledite laserju s filtri za območje HSV
- nastalo sliko napišite na disk za namene odpravljanja napak
- izračunajte razdaljo na podlagi koordinate y
- na LCD zaslon zapišite razdaljo.
V vsakem primeru so ukrepi zelo natančni in dovolj natančni za moj primer uporabe, obstaja veliko prostora za izboljšave. Na primer, laserska pika je zelo slabe kakovosti in laserska črta v resnici ni centrirana. Z laserjem boljše kakovosti bodo koraki umerjanja natančnejši. Tudi fotoaparat v moji napravi ni dobro nameščen, nagne se na dno.
Ločljivost daljinomera lahko povečam tudi tako, da kamero zavrtim za 90 stopinj s polno tipko in povečam ločljivost do največje vrednosti, ki jo podpira kamera. S trenutno izvedbo smo omejeni na obseg od 0 do 384 slikovnih pik, zgornjo mejo bi lahko povečali na 1640, kar je 4 -krat večja od trenutne ločljivosti. Razdalja bo še natančnejša.
Kot nadaljnje ukrepe bom moral delati na izboljšavah natančnosti, ki sem jih omenil zgoraj, in zgraditi ohišje za daljinomer. Ohišje mora biti natančne globine, da olajša meritve od stene do stene.
Skratka, sedanji sistem mi zadostuje in mi bo prihranil nekaj dolarjev pri načrtovanju hiše!
Priporočena:
Digitalni nivo s križnim laserjem: 15 korakov (s slikami)
Digitalni nivo s križnim laserjem: Pozdravljeni, danes vam bom pokazal, kako narediti digitalni nivo z izbirnim vgrajenim križnim laserjem. Pred približno letom dni sem ustvaril digitalno večnamensko orodje. Čeprav to orodje vsebuje veliko različnih načinov, so zame najpogostejši in uporabni
Izdelava adapterja Bluetooth Pt.2 (izdelava združljivega zvočnika): 16 korakov
Izdelava vmesnika Bluetooth Pt.2 (Izdelava združljivega zvočnika): V tem navodilu vam bom pokazal, kako uporabiti svoj adapter Bluetooth za združljivost starega zvočnika s tehnologijo Bluetooth.*Če niste prebrali mojega prvega navodil o " Izdelavi adapter Bluetooth " Predlagam, da to storite, preden nadaljujete. C
Naredite veliko kamero za nadzemno kamero pod 50 USD: 3 koraki
Naredite sami veliko kamero z zgornjo mejo za manj kot 50 USD: posnetki z glavo so lahko zelo dragoceni pri nekaterih vrstah fotografiranja izdelkov ali celo umetniških kompozicijah. Ampak včasih imaš proračun. Vendar to ne bi smelo ustaviti vašega ustvarjalnega dela. Namesto tega poiščite druge načine za posnetke s c
Naredite vohunsko kamero z eno spletno kamero: 6 korakov
Naredite vohunsko kamero z eno spletno kamero: Pozdravljeni, moje ime je Sebastian in to je moj prvi Instructable, moja angleščina je slaba, zato jo bo prevajalec uporabil tako, da bo pustila najboljše, kar je mogoče, če pa mod ali admin to lahko popravi iz že hvala vi zelo! Dobro za ta projekt bomo
Posnemite neverjetne makro slike s katero koli kamero s kamero telefona Še posebej z iPhonom: 6 korakov
Posnemite neverjetne makro slike s katero koli kamero na telefonu s kamero … Še posebej z iPhonom: Ste si kdaj želeli narediti eno od tistih neverjetnih fotografij od blizu … tisto, na kateri piše … WOW!? … s kamero telefona s kamero !? V bistvu je to dodatek za povečanje katere koli kamere telefona s kamero, ki poveča vašo obstoječo lečo kamere, da posname