![Távolságmérő készítése lézer és kamera használatával: 6 lépés Távolságmérő készítése lézer és kamera használatával: 6 lépés](https://i.howwhatproduce.com/images/001/image-1452-46-j.webp)
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:48
![Távolságmérő készítése lézer és kamera segítségével Távolságmérő készítése lézer és kamera segítségével](https://i.howwhatproduce.com/images/001/image-1452-47-j.webp)
Jelenleg tervezek néhány belső munkát jövő tavaszra, de mivel most szereztem egy régi házat, nincs háztervem. Elkezdtem mérni a faltól a falig terjedő távolságokat vonalzóval, de lassú és hibalehetőséget mutat. Arra gondoltam, hogy veszek egy távolságmérőt, hogy megkönnyítsem a folyamatot, de aztán találtam egy régi cikket a saját távolságmérő építéséről lézer és kamera segítségével. Mint kiderült, ezek a komponensek a műhelyemben vannak.
A projekt ezen a cikken alapul:
Az egyetlen különbség az, hogy a távolságmérőt Raspberry Pi Zero W, LCD és Raspberry Pi Camera modul segítségével fogom elkészíteni. OpenCV -t fogok használni a lézer követésére is.
Feltételezem, hogy technikailag jártas vagy, és kényelmesen használod a Python -t és a parancssort. Ebben a projektben a Pi -t fej nélküli módban használom.
Kezdjük!
1. lépés: Az anyagok listája
Ehhez a projekthez szüksége lesz:
- egy olcsó 6 mm -es 5 mW -os lézer
- 220 Ω -os ellenállás
- 2N2222A tranzisztor vagy valami ezzel egyenértékű
- a Raspberry Pi Zero W
- egy Raspberry Pi kamera v2
- Nokia 5110 LCD kijelző vagy azzal egyenértékű
- néhány áthidaló vezeték és egy kis kenyérsütő
A 3D -s nyomtatóm segítségével kinyomtattam egy jig -et, ami segített a kísérletek során. Azt is tervezem, hogy a 3D nyomtatót felhasználva egy teljes házat építek a távolságmérőhöz. Teljesen meg tudod csinálni anélkül.
2. lépés: Lézer és fényképezőgép készítése
![Lézer és fényképezőgép kiépítése Lézer és fényképezőgép kiépítése](https://i.howwhatproduce.com/images/001/image-1452-48-j.webp)
![Lézer és fényképezőgép kiépítése Lézer és fényképezőgép kiépítése](https://i.howwhatproduce.com/images/001/image-1452-49-j.webp)
![Lézer és fényképezőgép kiépítése Lézer és fényképezőgép kiépítése](https://i.howwhatproduce.com/images/001/image-1452-50-j.webp)
A rendszer rögzített távolságot vesz fel a kamera lencséje és a lézerkimenet között. A tesztek megkönnyítése érdekében kinyomtattam egy szúrógépet, amelybe felszerelhetem a kamerát, a lézert és egy kis meghajtó áramkört a lézerhez.
A kameramodul méreteit használtam fel a kamera rögzítésére. Főleg digitális féknyerget és precíziós vonalzót használtam a mérésekhez. A lézerhez készítettem egy 6 mm -es lyukat egy kis megerősítéssel, hogy a lézer ne mozduljon el. Próbáltam elegendő helyet tartani ahhoz, hogy egy kis kenyérsütőt rögzítsek a gép hátulján.
A felépítéshez Tinkercad-ot használtam, a modell itt található:
3,75 cm távolság van a lézerlencse és a kamera lencséje középpontja között.
3. lépés: A lézer és az LCD vezérlése
![A lézer és az LCD vezetése A lézer és az LCD vezetése](https://i.howwhatproduce.com/images/001/image-1452-51-j.webp)
![A lézer és az LCD vezetése A lézer és az LCD vezetése](https://i.howwhatproduce.com/images/001/image-1452-52-j.webp)
Követtem ezt az oktatóanyagot: https://www.algissalys.com/how-to/nokia-5110-lcd-on-raspberry-pi, hogy megvezessem az LCD kijelzőt a Raspberry Pi Zero segítségével. A /boot/config.txt fájl szerkesztése helyett engedélyezheti az SPI felületet a sudo raspi-config parancssorból.
A Raspberry Pi Zero -t fejetlen módban használom, a legújabb, a Raspbian Stretch használatával. Nem foglalkozom a telepítéssel ebben az utasításban, de követheti ezt az útmutatót: https://medium.com/@danidudas/install-raspbian-jessie-lite-and-setup-wi-fi-without-access-to- parancssori vagy a hálózat használatával-97f065af722e
Ahhoz, hogy fényes lézerpontot kapjak, a Pi 5V -os sínjét használom. Ehhez tranzisztort (2N2222a vagy azzal egyenértékű) fogok használni a lézer meghajtásához a GPIO segítségével. A 220 Ω -os ellenállás a tranzisztor alján elegendő áramot enged át a lézeren. Az RPi. GPIO -t használom a Pi GPIO manipulálásához. A tranzisztor bázisát a GPIO22 érintkezőhöz (a 15. érintkezőt), az emittert a földhöz, a kollektorot a lézerdiódához kötöttem.
Ne felejtse el engedélyezni a kamera felületét a sudo raspi-config használatával a parancssoron keresztül.
Ezt a kódot használhatja a beállítás tesztelésére:
Ha minden jól ment, legyen egy dot-j.webp
A kódban beállítjuk a kamerát és a GPIO -t, majd engedélyezzük a lézert, rögzítjük a képet és letiltjuk a lézert. Mivel a Pi -t fej nélküli módban futtatom, a Pi -ről a számítógépre kell másolnom a képeket, mielőtt megmutatnám őket.
Ezen a ponton a hardvert konfigurálni kell.
4. lépés: A lézer észlelése OpenCV használatával
Először telepítenünk kell az OpenCV -t a Pi -re. Alapvetően három módja van erre. Telepítheti a régi csomagolt verziót az apt segítségével. Összeállíthatja a kívánt verziót, de ebben az esetben a telepítési idő akár 15 óra is lehet, és a legtöbb a tényleges fordításhoz. Vagy előnyben részesített megközelítésem szerint használhat egy előre összeállított verziót a Pi Zero számára, amelyet egy harmadik fél biztosít.
Mivel egyszerűbb és gyorsabb, harmadik féltől származó csomagot használtam. A telepítési lépéseket ebben a cikkben találja: https://yoursunny.com/t/2018/install-OpenCV3-PiZero/ Sok más forrást is kipróbáltam, de a csomagjaik nem voltak naprakészek.
A lézermutató követéséhez frissítettem a kódot a https://github.com/bradmontgomery/python-laser-tracker webhelyen, hogy a Pi kamera modult használjam USB-eszköz helyett. Közvetlenül használhatja a kódot, ha nem rendelkezik Pi kamera modullal, és USB kamerát szeretne használni.
A teljes kódot itt találja:
A kód futtatásához telepítenie kell a Python csomagokat: párna és picamera (sudo pip3 install pillow picamera).
5. lépés: A távolságmérő kalibrálása
![A távolságmérő kalibrálása A távolságmérő kalibrálása](https://i.howwhatproduce.com/images/001/image-1452-53-j.webp)
![A távolságmérő kalibrálása A távolságmérő kalibrálása](https://i.howwhatproduce.com/images/001/image-1452-54-j.webp)
![A távolságmérő kalibrálása A távolságmérő kalibrálása](https://i.howwhatproduce.com/images/001/image-1452-55-j.webp)
Az eredeti cikkben a szerző kalibrálási eljárást tervezett, hogy megkapja a szükséges paramétereket az y koordináták tényleges távolságra való átalakításához. A nappalim asztalát használtam a kalibráláshoz és egy régi kraftdarabot. Körülbelül 10 cm -enként táblázatba jegyeztem az x és y koordinátákat: https://docs.google.com/spreadsheets/d/1OTGu09GLAt… Annak érdekében, hogy minden megfelelően működjön, minden lépésnél ellenőriztem a rögzített képeket, hogy a lézert helyesen követték. Ha zöld lézert használ, vagy ha a lézer nyomkövetése nem megfelelő, akkor ennek megfelelően kell módosítania a program színárnyalatát, telítettségét és értékküszöbét.
A mérési fázis befejezése után ideje kiszámítani a paramétereket. A szerzőhöz hasonlóan én is lineáris regressziót használtam; valójában a Google Táblázat végezte helyettem a munkát. Ezután újra felhasználtam ezeket a paramétereket, hogy kiszámítsam a becsült távolságot, és összehasonlítsam a tényleges távolsággal.
Itt az ideje, hogy beadja a paramétereket a távolságmérő programba a távolságok mérésére.
6. lépés: A távolságok mérése
![Távolságok mérése Távolságok mérése](https://i.howwhatproduce.com/images/001/image-1452-56-j.webp)
A kódban: https://gist.github.com/kevinlebrun/e767a46855e5fd501d820e1c5fcc527c Frissítettem a HEIGHT, GAIN és OFFSET változókat a kalibrációs méréseknek megfelelően. Az eredeti cikkben szereplő távolságképletet használtam a távolság becsléséhez, és kinyomtattam a távolságot az LCD kijelző segítségével.
A kód először beállítja a kamerát és a GPIO -t, majd meg akarjuk világítani az LCD háttérvilágítását, hogy jobban lássuk a méréseket. Az LCD bemenet csatlakoztatva van a GPIO14 -hez. Körülbelül 5 másodpercenként:
- engedélyezze a lézer diódát
- rögzítse a képet a memóriában
- kapcsolja ki a lézer diódát
- nyomon követheti a lézert a HSV tartomány szűrőivel
- írja be a kapott képet a lemezre hibakeresés céljából
- számítsa ki a távolságot az y koordináta alapján
- írja be a távolságot az LCD kijelzőre.
Az események ellenére az intézkedések rendkívül pontosak és elég pontosak az én esetemben, sok lehetőség van a fejlesztésre. Például a lézerpont nagyon rossz minőségű, és a lézervonal nincs igazán középre állítva. Jobb minőségű lézerrel a kalibrálási lépések pontosabbak lesznek. Még a kamera sincs igazán jól elhelyezve a jig -omban, az aljára dől.
Azt is megnövelhetem a távolságmérő felbontását, ha a fényképezőgépet 90 ° -kal elforgatom a teljes gombbal, és növelhetem a felbontást a kamera által támogatott maximális értékig. A jelenlegi megvalósítással 0 és 384 képpont közötti tartományra vagyunk korlátozva, a felső határt 1640 -re növelhetjük, ami a jelenlegi felbontás négyszerese. A távolság még pontosabb lesz.
Követésként dolgoznom kell a fent említett pontossági fejlesztéseken, és házat kell építenem a távolságmérőhöz. A burkolatnak pontos mélységűnek kell lennie, hogy megkönnyítse a falról falra történő mérést.
Összességében a jelenlegi rendszer elegendő számomra, és megtakaríthat néhány dollárt a ház tervezésével!
Ajánlott:
Arduino kartonpisztoly (távolságmérő és fordulatszámmérő): 8 lépés
![Arduino kartonpisztoly (távolságmérő és fordulatszámmérő): 8 lépés Arduino kartonpisztoly (távolságmérő és fordulatszámmérő): 8 lépés](https://i.howwhatproduce.com/images/006/image-16556-j.webp)
Arduino kartonpisztoly (távolságmérő és fordulatszámmérő): Nem lenne fantasztikus, ha kényelmesen a kanapén ülve tudná mérni a távolságot? Ahelyett, hogy hagyományos szalagot kellene használnia? Tehát ma egy arduino fegyvert fogok készíteni, amely képes érintésmentesen mérni a 2 és 400 cm közötti távolságokat
Távolságmérő óra: 4 lépés
![Távolságmérő óra: 4 lépés Távolságmérő óra: 4 lépés](https://i.howwhatproduce.com/images/009/image-25791-j.webp)
Távolságmérő óra: Ebben a projektben tömörítettem és rögzítettem az Arduino távolságmérő rendszert egy órára. A projekt menő, egyszerű és hasznos. A távolságmérő rendszer a távolság, a sebesség és az idő egyszerű fizikáján alapul
DIY távolságmérő OLED kijelzővel: 4 lépés
![DIY távolságmérő OLED kijelzővel: 4 lépés DIY távolságmérő OLED kijelzővel: 4 lépés](https://i.howwhatproduce.com/images/010/image-29738-j.webp)
DIY távolságmérő OLED kijelzővel: Ebben az oktatóanyagban egy digitális távolságmérőt fogunk építeni, amely az értékeket egy OLED kijelzőn jeleníti meg. Ehhez a projekthez választhat ardiuno vagy ESP8266 modult, és megadom a kódot mindkettőhöz. Ha ESP826 -ot használ
RF 433MHZ rádióvezérlés HT12D HT12E használatával - Rf távirányító készítése HT12E és HT12D használatával 433 MHz -en: 5 lépés
![RF 433MHZ rádióvezérlés HT12D HT12E használatával - Rf távirányító készítése HT12E és HT12D használatával 433 MHz -en: 5 lépés RF 433MHZ rádióvezérlés HT12D HT12E használatával - Rf távirányító készítése HT12E és HT12D használatával 433 MHz -en: 5 lépés](https://i.howwhatproduce.com/images/001/image-2937-16-j.webp)
RF 433MHZ rádióvezérlés HT12D HT12E használatával | Rf távirányító létrehozása HT12E és HT12D használatával 433 MHz -en: Ebben az oktatóanyagban megmutatom, hogyan készítsünk RADIO távirányítót a 433 MHz -es adó vevőmodul használatával HT12E kódolással & HT12D dekódoló IC. Ebben az utasításban nagyon olcsó komponenseket küldhet és fogadhat, mint például: HT
Hordozható távolságmérő eszköz Arduino -val!: 9 lépés (képekkel)
![Hordozható távolságmérő eszköz Arduino -val!: 9 lépés (képekkel) Hordozható távolságmérő eszköz Arduino -val!: 9 lépés (képekkel)](https://i.howwhatproduce.com/images/001/image-2867-62-j.webp)
Hordozható távolságmérő eszköz az Arduino segítségével !: Ahogy ezt az utasítást olvassa, megtanulja, hogyan kell létrehozni egy közelségérzékelőt, amellyel mérni lehet a távolságokat, és bárhová is mutat. A PICO-t, az Arduino-kompatibilis táblát és számos más elektronikus alkatrészt használ