
Tartalomjegyzék:
2025 Szerző: John Day | [email protected]. Utoljára módosítva: 2025-01-23 14:47


A Leap Motion #3D Jam -be való belépésem részeként izgatottan vártam, hogy megépítsem ezt a vezeték nélküli gesztusokkal vezérelt Search/Rescue Robotot a Raspberry Pi alapján. Ez a projekt bemutatja és minimalista példával szolgál arra, hogy a vezeték nélküli 3D kézmozdulatok hogyan használhatók fizikai dolgok irányítására és interakciójára.
Mivel ez a projekt a népszerű WebIOPi IoT keretrendszert használja a Raspberry Pi -n, nagyon könnyen kibővíthető, és jellemzően bármely Raspberry Pi -vel összekapcsolható érzékelő/hardver/elektronika vezérlésére és illesztésére szolgál.
Néhány lehetséges forgatókönyv, amelyet elképzelésem szerint készítő társaim használhatnak, ezt a projektet alapkeretként építhetik fel:
1. Távoli gesztussal működő bomba -ártalmatlanító robot (esetleg OWI karral stb.)
2. Távoli sebészeti beavatkozás orvos által
3. Gesztusvezérelt interaktív művészeti kiállítások vagy oktatási tartalom
4. Végtelen más lehetőségek/integrációk (a képzeletem korlátozza:))
1. lépés: Áttekintés

Ez a projekt lehetővé teszi a felhasználó számára, hogy interaktív módon vezérelje a robotot 3D kézmozdulatok segítségével a számítógéphez csatlakoztatott ugrómozgáson keresztül.
A Robot fedélzetén található Raspberry Pi rendelkezik egy USB webkamerával is, amely élő videót közvetít a felhasználónak, amely látható a webböngészőben. A weboldalba ágyazott LeapMotion JavaScript könyvtár kézmozdulatokat dolgoz fel, és vezérlőjeleket küld vissza a Robotnak, amely ennek megfelelően mozog.
A Raspberry Pi a roboton Hotspot -ként (AP mód) van konfigurálva a hozzá csatlakoztatott USB WiFi hardverkulcs segítségével. Ez lehetővé teszi, hogy számítógépeink/eszközeink közvetlenül kapcsolódjanak a Raspberry Pi -hez, és egy weboldalon keresztül vezérelhessék. A Raspberry Pi konfigurálható kliens módban való működésre is, ahol vezeték nélkül csatlakozik a WiFi útválasztó hozzáférési pontjához, amelyhez a számítógép/eszközök már csatlakoznak.
Ez a projekt a WebIOPi -n (https://webiopi.trouch.com/) alapul, amely a Raspberry Pi népszerű IoT keretrendszere. A mellékelt Weaved IoT Kit használatával (vagy a port továbbítás útválasztón keresztül) ez a robot távolról vezérelhető és/vagy adatokat fogadhat a világ bármely részéről.
A projekt építéséhez a következő elemeket használták:
- Raspberry Pi B (100% előre kompatibilis a Raspberry Pi B+-val)
- Logitech USB webkamera (csekély, 1,3 megapixeles)
- L293D motorvezérlő IC és kitörési pajzs
- USB WiFi hardverkulcs a Raspberry Pi számára
- USB Power Bank a Raspberry Pi számára
- Külső 4V/1,5A akkumulátor a robotmotorok meghajtásához
2. lépés: Projekt felépítése
A WebIOPi telepítése, egyéni kód írása és a webkamera beállítása:
A WebIoPi telepítési utasításai, a keretrendszer alapjai és sok példa megtalálható a projekt oldalán itt:
Annak érdekében, hogy a weboldalba ágyazott LeapMotion funkciók GPIO -műveleteket indítsanak el a Raspberry Pi -n, makrókat használtunk, amelyek részletei itt találhatók:
Írtam néhány kezdő megjegyzést is a fenti folyamatról, amelyek csatolva találhatók.
Webkamera telepítése és konfigurálása
Az MJPG-Streamert használjuk annak érdekében, hogy a Raspberry Pi-ből származó videócsatornát a Pi-re csatlakoztatott USB-webkamerán keresztül továbbítsuk a böngészőbe. Kérjük, kövesse az itt https://blog.miguelgrinberg.com/post/how-to-build-… megadott beállítási és építési utasításokat, hogy az MJPG-Streamer működjön a Raspberry Pi-n.
A Raspberry Pi konfigurálása AP/hotspotként
A Raspberry Pi Hostpot beállításához kövesse az itt található utasításokat: https://elinux.org/RPI-Wireless-Hotspot. A Raspberry Pi statikus IP -jét 192.168.42.1 -re állítottam be, amit be kell írnunk a böngészőbe, amint a Pi AP üzemmódba lép.
A WebIOPi, az MJPG-Streamer és a WiFi hotspot szolgáltatás úgy lett konfigurálva, hogy automatikusan fusson a rendszerindításkor, és ez lehetővé teszi számunkra, hogy közvetlenül nyissunk meg egy webböngészőt, és csatlakozzunk a robothoz, miután elindult. A repóban elérhető rc.local fájl használható a webkamera indításkor történő futtatására.
3. lépés: Építési/bekötési utasítások
A Raspberry Pi 4 GPIO -ja, nevezetesen a GPIO 9, 11, 23 és 24, az L293D Motor Driver IC -hez van csatlakoztatva, amely ennek megfelelően hajtja a motorokat, miután megkapta a makrókéréseket a Webiopi keretrendszer által kiszolgált weboldaltól. Az USB WiFi hardverkulcs és az USB Logitech webkamera a Raspberry Pi 2 USB -portjához van csatlakoztatva. Egy 5V 4000 Mah teljesítményű bank szolgáltatja a Pi fő áramellátását. A motorok meghajtásához 4V 1,5A ólomakkumulátort használnak.
Megjegyzés: Mivel a használt powerbank maximális kimeneti árama kicsi 1000 Mah volt, a motorok meghajtásához külső ólom -sav akkumulátort kellett használnom. Ha olyan energiabankja van, amely> = 2000Mah -ot ad, akkor közvetlenül vezérelheti a motorokat a Pi 5V -os sínjéről (ezt azonban nem javaslom erőfeszítéssel éhes motorokhoz)
Az alábbiakban röviden bemutatjuk a LeapMotion Javascript API, a WebIOPi és az MJPG-Streamer projekt 3 kulcsfontosságú alszakaszát, valamint azok alapvető működését/beállítását.
4. lépés: A WebIOPi keretrendszer megértése
A böngészőben megjelenő kezelőfelület HTML (Fájlnév: index.html) és Javascript nyelven van írva, míg a GPIO -kat hajtó háttérrendszer Python (Fájlnév: script.py) nyelven íródott. A részletes megjegyzések a WebIOPi keretrendszeren alapuló egyéni WebApp létrehozásáról jegyzetként vannak csatolva a Bitbucket repóban.
A Python -parancsfájlban meghatározott egyéni makrók aktiválhatók a HTML -fájlból.
Pl.: webiopi (). CallMacro ("go_forward"); Ez egy egyéni hívás a Python szkriptben definiált go_forward makróhoz, amely kezeli mindkét motor előrehaladási folyamatát.
A csatolt képen megjelenik a könyvtárhierarchia, ahol a fájlok a Pi -n tárolódnak.
A Robot mappa a következő almappákat tartalmazza:
- html: index.html tartalmaz
- python: tartalmazza a script.py fájlt
- mjpg-streamer-r63: tartalmazza a build fájlokat és a webkamera futtatásához futtatható fájlt
MJPG-Streamer: Az USB-webkameráról származó élő videófolyam alapértelmezés szerint a Pi 8080-as portján fut. A stream manuális megtekintéséhez navigáljon a RASPBERRYPI_IP: 8080 címre a böngészőben, miután bekapcsolta a webkamerát.
LeapMotion kód:
A LeapMotion SDK -ban található példák kódrészleteit az index.html fájlba ágyaztuk be. A LeapMotion leap.js fájlját hozzá kell adni a Raspberry Pi projektkönyvtárának html mappájához.
A LeapMotion által küldött palmPosition paraméter határozza meg, hogy melyik makrót kell aktiválni a Raspberry Pi -n.
5. lépés: A projekt futtatása
Egyszerűen kapcsolja be a Raspberry Pi -t, és várjon körülbelül egy percet. Látni fogja a RaspberryPi új forró edényét. Csatlakozzon ehhez a hotspothoz, és nyissa meg ezt a statikus IP -címet a böngészőben: 192.168.42.1:8000. A 8000 a WebIOPi alapértelmezett portja.
A Raspberry Pi konfigurálható úgy is, hogy csatlakozzon a helyi Wi -Fi hálózathoz, mint kliens, nem pedig hotspotként jelenik meg. Ezután meg kell határoznia a Raspberry Pi -nek az útválasztó által hozzárendelt dinamikus IP -t, majd nyomja meg a böngészőben, hogy játsszon a Bot -tal.
Ha segítségre van szüksége, vagy kérdése van a projekttel kapcsolatban, megjegyzést írhat. Boldog ugrást!
A teljes forráskódot csatoltuk. Megjegyzést írhat, ha segítségre van szüksége a projekt bármely részében. Boldog ugrást!
Ajánlott:
Mozgással aktivált Cosplay szárnyak a Circuit Playground Express használatával - 1. rész: 7 lépés (képekkel)

Motion Activated Cosplay Wings Circuit Playground Express használatával - 1. rész: Ez egy része a két részből álló projektnek, amelyben megmutatom nektek az automatikus tündér szárnyak készítésének folyamatát. A projekt első része a a szárnyak mechanikáját, a második rész pedig viselhetővé teszi, és hozzáadja a szárnyakat
Ugrás mozgásvezérlő. (Progetto Arduino): 4 lépés

Ugrás mozgásvezérlő. (Progetto Arduino): L'intento di questo progetto è quello di utilizzare il Leap Motion per controllare l'intensità di luce ei colori di un led RGB in relazione al movimento delle mani nello spazio. Hivatkozás: Leap Motion SDK: https: // developer-archive.leapmotion.com/doc
Mozgással aktivált lámpa kapcsoló: 3 lépés

Mozgással aktivált lámpa kapcsoló: Amikor elhagyjuk az íróasztalt vagy a szobát, legtöbbször elfelejtjük lekapcsolni a villanyt. Ez áramkimaradást és a villanyszámla növekedését okozza. De mi van, ha a lámpák automatikusan kikapcsolnak, miután elhagyja a szobát. Igen benne
Ha ez akkor ez: a Blackbox: futás, kitérés és ugrás: 4 lépés

If This then That: a Blackbox: Run, Dodge and Jump: A nevem Remco Liqui lung, és ez egy If This then That iskola projekt. A Fekete doboz: Run, Dodge and Jump egy doboz, amelyben egy játszható játék található. A gondolat az, hogy játssz egy játékot, és ha elért egy bizonyos pontszámot (100 pont)
Lejátszás/ugrás gomb hozzáadása önálló CD-ROM-meghajtójához: 4 lépés

Lejátszás/ugrás gomb hozzáadása önálló CD-ROM-meghajtójához: Ha CD-lejátszót szeretne készíteni egy régi CD-ROM-meghajtóból (nézze meg itt), de a meghajtó nem rendelkezik PLAY/SKIP gombbal az előlapon ….. Ne csüggedjen, egyet hozzáadhat a legtöbb Cd -meghajtóhoz, > > > > Olvass tovább