Sisällysluettelo:
- Vaihe 1: Materiaaliluettelo
- Vaihe 2: Laser- ja kameratyökalun rakentaminen
- Vaihe 3: Laserin ja nestekidenäytön käyttäminen
- Vaihe 4: Laserin tunnistaminen OpenCV: n avulla
- Vaihe 5: Etäisyysmittarin kalibrointi
- Vaihe 6: Etäisyyksien mittaaminen
Video: Etäisyysmittarin tekeminen laserin ja kameran avulla: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Suunnittelen parhaillaan sisätöitä ensi keväänä, mutta kun hankin juuri vanhan talon, minulla ei ole mitään talosuunnitelmaa. Aloin mitata etäisyyksiä seinästä seinään viivaimella, mutta se on hidas ja altis virheille. Ajattelin ostaa etäisyysmittarin prosessin helpottamiseksi, mutta sitten löysin vanhan artikkelin oman etäisyysmittarin rakentamisesta laserin ja kameran avulla. Kuten käy ilmi, minulla on nämä komponentit työpajassani.
Projekti perustuu tähän artikkeliin:
Ainoa ero on, että aion rakentaa etäisyysmittarin käyttämällä Raspberry Pi Zero W: tä, nestekidenäyttöä ja Raspberry Pi Camera -moduulia. Käytän myös OpenCV: tä laserin seurantaan.
Oletan, että olet teknisesti taitava ja että olet mukava käyttää Pythonia ja komentoriviä. Tässä projektissa käytän Pi: tä päättömässä tilassa.
Aloitetaan!
Vaihe 1: Materiaaliluettelo
Tätä projektia varten tarvitset:
- halpa 6 mm 5 mW laser
- 220 Ω vastus
- 2N2222A -transistori tai vastaava
- Raspberry Pi Zero W
- Raspberry Pi -kamera v2
- Nokia 5110 LCD -näyttö tai vastaava
- joitakin hyppyjohtoja ja pieni leipälauta
Tulostin 3D -tulostimella jigin, joka auttoi minua kokeiden aikana. Aion myös käyttää 3D -tulostinta rakentaaksesi täydellisen kotelon etäisyysmittarille. Voit täysin ilman.
Vaihe 2: Laser- ja kameratyökalun rakentaminen
Järjestelmä ottaa kiinteän etäisyyden kameran linssin ja laserlähdön välillä. Testien helpottamiseksi tulostin jigin, johon voin asentaa kameran, laserin ja pienen ajopiirin laserille.
Käytin kameramoduulin mittoja rakentaaksesi kameran telineen. Käytin mittauksissa pääasiassa digitaalista jarrusatulaa ja tarkkuusviivainta. Laseria varten tein 6 mm: n reiän, jossa oli hieman vahvistusta, jotta laser ei liiku. Yritin pitää tarpeeksi tilaa, jotta jigin takaosaan kiinnitettiin pieni leipälauta.
Käytin Tinkercadia rakentamiseen, malli löytyy täältä:
Laserlinssin keskikohdan ja kameran linssin keskipisteen välillä on 3,75 cm: n etäisyys.
Vaihe 3: Laserin ja nestekidenäytön käyttäminen
Seurain tätä opetusohjelmaa https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi ajaakseni nestekidenäyttöä Raspberry Pi Zero -laitteen kanssa. Tiedoston /boot/config.txt muokkaamisen sijaan voit ottaa SPI-käyttöliittymän käyttöön sudo raspi-config -sovelluksella komentorivin kautta.
Käytän Raspberry Pi Zerota päättömässä tilassa käyttäen viimeisintä, Raspbian Stretchia. En kata asennusta tässä Instructable-ohjelmassa, mutta voit seurata tätä opasta: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- command-line-or-using-the-network-97f065af722e
Saadaksesi kirkkaan laserpisteen käytän Pi: n 5V -kiskoa. Tätä varten käytän transistoria (2N2222a tai vastaava) ajamaan laseria GPIO: n avulla. 220 Ω: n vastus transistorin pohjassa sallii riittävän virran laserin läpi. Käytän RPi. GPIO: ta Pi GPIO: n käsittelyyn. Yhdistin transistorin pohjan GPIO22 -nastaan (15. nasta), lähettimen maahan ja keräimen laserdiodiin.
Älä unohda ottaa kameran käyttöliittymää käyttöön sudo raspi-config -sovelluksella komentorivin kautta.
Voit testata asetuksiasi tällä koodilla:
Jos kaikki meni hyvin, sinulla pitäisi olla dot-j.webp
Koodissa asetamme kameran ja GPIO: n, otamme laserin käyttöön, otamme kuvan ja poistamme laserin käytöstä. Kun käytän Pi: tä päättömässä tilassa, minun on kopioitava kuvat Pi: stä tietokoneelleni ennen niiden näyttämistä.
Tässä vaiheessa laitteistosi on määritettävä.
Vaihe 4: Laserin tunnistaminen OpenCV: n avulla
Ensinnäkin meidän on asennettava OpenCV Pi: hen. Sinulla on periaatteessa kolme tapaa tehdä se. Voit joko asentaa vanhan pakatun version apt. Voit kääntää haluamasi version, mutta tässä tapauksessa asennusaika voi olla jopa 15 tuntia ja suurin osa todellisesta kokoamisesta. Tai suosittelemani lähestymistapa, voit käyttää kolmannen osapuolen tarjoamaa Pi Zeron valmiiksi koottua versiota.
Koska se on yksinkertaisempaa ja nopeampaa, käytin kolmannen osapuolen pakettia. Löydät asennusvaiheet tästä artikkelista: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ Kokeilin monia muita lähteitä, mutta niiden paketit eivät olleet ajan tasalla.
Voit seurata laserosoitinta päivittämällä koodin osoitteesta https://github.com/bradmontgomery/python-laser-tracker, jotta voin käyttää Pi-kameramoduulia USB-laitteen sijaan. Voit käyttää koodia suoraan, jos sinulla ei ole Pi -kameramoduulia ja haluat käyttää USB -kameraa.
Löydät koko koodin täältä:
Tämän koodin suorittamiseksi sinun on asennettava Python -paketit: tyyny ja picamera (sudo pip3 asenna tyyny picamera).
Vaihe 5: Etäisyysmittarin kalibrointi
Alkuperäisessä artikkelissa kirjoittaja suunnitteli kalibrointimenettelyn saadakseen tarvittavat parametrit y -koordinaattien muuttamiseksi todelliseksi etäisyydeksi. Käytin olohuoneen pöytää kalibrointeihin ja vanhaan voimakappaleeseen. Merkitsin noin 10 cm: n välein x- ja y -koordinaatit laskentataulukkoon: https://docs.google.com/spreadsheets/d/1OTGu09GLAt… Varmistaakseni, että kaikki toimi oikein, tarkistin otetut kuvat joka vaiheessa. laseria seurattiin oikein. Jos käytät vihreää laseria tai jos laseria ei seurata oikein, sinun on säädettävä ohjelman sävyä, kylläisyyttä ja arvoa vastaavasti.
Kun mittausvaihe on suoritettu, on aika todella laskea parametrit. Kirjoittajan tavoin käytin lineaarista regressiota; itse asiassa Google -laskentataulukko teki työn puolestani. Käytin sitten näitä parametreja uudelleen arvioidun etäisyyden laskemiseen ja tarkistin sen todellisen etäisyyden suhteen.
Nyt on aika syöttää parametrit etäisyysmittausohjelmaan etäisyyksien mittaamiseksi.
Vaihe 6: Etäisyyksien mittaaminen
Koodissa: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c Päivitin muuttujat HEIGHT, GAIN ja OFFSET kalibrointimittausten mukaan. Arvioin etäisyyden alkuperäisen artikkelin etäisyyskaavalla ja tulostin etäisyyden LCD -näytön avulla.
Koodi määrittää ensin kameran ja GPIO: n, sitten haluamme sytyttää nestekidenäytön taustavalon, jotta mittaukset näkyvät paremmin. LCD -tulo on kytketty GPIO14: een. Noin 5 sekunnin välein teemme:
- ota laserdiodi käyttöön
- tallentaa kuvan muistiin
- poista laserdiodi käytöstä
- seurata laseria HSV -alueen suodattimien avulla
- kirjoita tuloksena oleva kuva levylle virheenkorjausta varten
- laske etäisyys y -koordinaatin perusteella
- kirjoita etäisyys LCD -näyttöön.
Tapahtuma kuitenkin, toimenpiteet ovat erittäin tarkkoja ja riittävän tarkkoja käyttötapaukselleni, paljon parannettavaa. Esimerkiksi laserpiste on erittäin huonolaatuinen eikä laserlinja ole oikeastaan keskitetty. Paremman laadun laserilla kalibrointivaiheet ovat tarkempia. Jopa kamera ei ole oikein sijoitettu jigini, se kallistuu pohjaan.
Voin myös lisätä etäisyysmittarin resoluutiota kääntämällä kameraa 90 astetta täysillä ja nostaa tarkkuuden kameran tukemaan maksimirajaan. Nykyisellä toteutuksella olemme rajoittuneet 0–384 pikselin alueelle, ja voimme nostaa ylärajan 1640: een, 4 -kertaiseksi nykyiseen resoluutioon. Etäisyys on vielä tarkempi.
Jatkotoimina minun on työskenneltävä edellä mainittujen tarkkuusparannusten parissa ja rakennettava etäisyysmittarin kotelo. Kotelon on oltava syvä, jotta seinästä seinään mittaaminen on helppoa.
Kaiken kaikkiaan nykyinen järjestelmä riittää minulle ja säästää rahaa, kun teen kotisuunnitelmani!
Suositeltava:
Useiden ESP-keskustelujen tekeminen ESP-NOW: n avulla ESP32: n ja ESP8266: n avulla: 8 vaihetta
Useiden ESP-keskustelujen tekeminen ESP-NYT: n avulla ESP32: n ja ESP8266: n avulla: Käynnissä olevassa projektissani tarvitsen useita ESP: itä puhuakseni keskenään ilman reititintä. Tätä varten käytän ESP-NOW-ohjelmaa langattoman viestinnän tekemiseen keskenään ilman ESP: n reititintä
Tee se itse -jalusta - Älypuhelimen ja kameran kolmijalan tekeminen antennilla: 8 vaihetta
Tee se itse -jalusta | Älypuhelimen ja kameran kolmijalan tekeminen antennin avulla: Kun etsin jalustaa CookQueensin videoiden tekemiseen, näin, että jokainen 5 jalan kolmijalan hinta alkoi erittäin korkealta alueelta eri verkkokauppasivustoilla. Odotan myös alennusta, mutta en saanut sitä. Sen jälkeen päätin tehdä
Laserin aallonpituuksien mittaus: 4 vaihetta (kuvilla)
Laserin aallonpituuksien mittaaminen: Hei kaikki, tervetuloa toiseen opettavaiseen! Tällä kertaa halusin tehdä todella helpon ohjattavan, jonka voit tehdä ilta- tai viikonloppuprojektina. Osana jatkuvaa spektrofotometrian oppimista olen kokeillut diffraktiohiiloja ja
Pinhole -kameran tekeminen: 7 vaihetta (kuvilla)
Pinhole -kameran tekeminen: Tee oma kamera talon ympärillä olevista materiaaleista ja ota sillä mustavalkoisia valokuvia
Lisää tietokoneen synkronointiliitin Nikon Sc-28 TTL -kaapeliin (käytä automaattisia asetuksia kameran salaman käyttöön ja kameran välähdysten laukaisuun !!): 4 vaihetta
Lisää PC-synkronointiliitin Nikon Sc-28 TTL -kaapeliin (käytä automaattisia asetuksia kameran salaman käyttöön ja kameran välähdysten laukaisuun !!): tässä ohjeessa näytän sinulle, kuinka poistaa yksi näistä ärsyttävistä, omistetuista 3-nastaisista TTL-liittimistä Nikon SC-28 -kameran TTL-kaapelin sivulle ja korvaa se tavallisella PC-synkronointiliittimellä. tämän avulla voit käyttää omaa salamaa, s