Tartalomjegyzék:
- 1. lépés: Anyagok
- 2. lépés: Szerver beállítása
- 3. lépés: A Raspberry Pi beállítása
- 4. lépés: Pisztoly szerelése
- 5. lépés: Játék
- 6. lépés: Jövőbeni fejlesztések
Videó: Infravörös lézercímke Raspberry Pi Zero -val: 6 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ez az utasítás utasítja az infravörös lézercímke játék létrehozásának folyamatát egy alapszerver számítógép és egy Raspberry Pi nulla minden játékos számára. A projekt nagymértékben támaszkodik a Wifi -kapcsolatra a szerverrel való kommunikációhoz, ami a Pi -t kiváló jelöltévé teszi.
A projektben használt szerver egy régi asztali számítógép volt Linux -szal. A számítógépnek nem kell különlegesnek lennie, és valószínűleg akár Raspberry Pi 3 -ról is futtatható.
1. lépés: Anyagok
A szükséges anyagok leírását és néhány linkjét az alábbiakban mutatjuk be. Az alábbi anyaglista 3 fegyverre vonatkozik.
- Szerver számítógép (1)
- Raspberry Pi Zero W (3) Adafruit
- Legalább 4 GB SD kártya (3) Amazon
- IR LED adó (3)
- IR -vevő (6) Amazon
- Piros LED (3)
- Kék LED (3)
- Zöld LED (3)
- Passzív zümmögő (3) Amazon
- Nyomógomb (6)
- LCD 16x2 képernyő I2C adapterrel (3) Amazon
- Hordozható akkumulátor (3) Amazon
- Mikro -normál USB -kábel (3) Amazon
- PN2222 tranzisztor (3)
- 100Ω ellenállás (3)
- 1kΩ ellenállás (9)
Választható elemek:
- Mellény (3) Amazon
- Szalagkábel hosszabbító (3) Amazon
Ebben a projektben végül az IR LED -jeladót vettük egy régi lézeres címkefegyver -készletből, amelynek fekete kúpja volt az adó körül, hogy segítsen szűkíteni az egyes fegyverek lövését. Azonban minden általános adónak működnie kell.
A fent felsorolt elemeken kívül maguk a lézerfegyverek is 3D nyomtatással készültek. Ez a projekt ezért egy 3D nyomtatóhoz és szálhoz való hozzáférést is igényelne. Összességében három fegyver esetében a teljes összeg körülbelül 350 dollár.
2. lépés: Szerver beállítása
A szerver beállításához először a Mosquitto MQTT Broker Service telepítése szükséges. A Mosquitto az a szolgáltatás, amely keretet biztosít a játék minden eszköze közötti kommunikációhoz. Ez lehetővé teszi, hogy a szerver üzeneteket küldjön a szolgáltatáshoz csatlakozó összes Pis -nek. A terminálon futtassa a következő parancsokat.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
A szerver néhány grafikus felhasználói felülete a Pygubu nevű GUI -tervező segítségével jött létre. Ezt futtatva telepítheti:
pip3 telepítse a pygubu -t
A pygubuval kapcsolatos további információk a https://github.com/alejandroautalan/pygubu címen találhatók
Az MQTT és a Pygubu telepítése után hozzon létre egy új könyvtárat, és másolja a csatolt fájlokat. A könyvtárnak tartalmaznia kell:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- self.png
- ellenségek.png
- lézer.jpg
Megjegyzés: A projektben használt csatolt képeket nem a fejlesztőcsapat készítette, ezért nem igényel szerzői jogot.
3. lépés: A Raspberry Pi beállítása
Ezt a lépést meg kell ismételni minden málna Pis -en.
1. Telepítse az operációs rendszert
Először is kezdje a Raspbian friss telepítésével. Javasoljuk a Lite verzió használatát, mivel a Pi kevesebbet képes kezelni, de bármelyik verziónak jól kell működnie. A letöltés a következő címen található:
2. Telepítse az MQTT -t
Ezután telepítenünk kell az MQTT bróker szolgáltatást. Ehhez a Mosquitto -t fogjuk használni. A terminálon futtassa a következő parancsokat.
sudo apt-get update
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
A Mosquitto az a szolgáltatás, amely keretet biztosít a játék minden eszköze közötti kommunikációhoz. Ez lehetővé teszi, hogy a szerver üzeneteket küldjön a szolgáltatáshoz csatlakozó összes Pis -nek.
3. Telepítse az I2C Tools eszközt
A következő parancs telepíti az LCD képernyőhöz használt könyvtárakat.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
Lehet, hogy módosítani kell az i2c címet az lcddriver.py fájlban. A címet a következő parancs megadásával találhatja meg.
i2cdetect -y 1
4. Telepítse és konfigurálja a LIRC -t
Hozzon létre egy új könyvtárat, és töltse le a csatolt fájlokat erre a helyre.
A legtöbb internetes böngésző nem tölt le fájlokat kiterjesztés nélkül. Ennek elkerülése érdekében két fájlt ideiglenes kiterjesztéssel töltöttek fel. A "lircrc.deleteExtension" és a "modules.deleteExtension" valójában kiterjesztésmentesnek kell lennie, és a fájlokat a sikeres letöltés után át kell nevezni "lircrc" és "modules" -re.
Ez a lépés telepíti és konfigurálja a Linux Infrared Remote Control (LIRC) csomag függőségeit. További információkért tekintse meg a LIRC beállításához szükséges oktatóanyagot:
Először telepítse a könyvtárat, majd másolja a mellékelt fájlokat a megfelelő könyvtárakba az alábbi parancsok szerint. Végül indítsa újra a lircd szolgáltatást.
sudo apt-get install python3-lirc -y
Az újonnan létrehozott könyvtárból hajtsa végre a következő parancsokat, hogy áthelyezze a konfigurációs fájlokat a megfelelő helyre.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
sudo mv modulok /etc /
Ezután indítsa újra a lircd szolgáltatást a következő futtatással:
sudo /etc/init.d/lircd restart
Ezután szerkessze a /boot/config.txt fájlt, és adja hozzá a következő sort
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Indítsa újra a pi -t, hogy a módosítások érvénybe lépjenek.
sudo újraindítás
5. Engedélyezze az I2C -t és szerkessze a CLIENT -et minden játékos számára
Ezután engedélyezzük az I2C interfészt. Ezt a segítségével teheti meg
sudo raspi-config
és engedélyezze az I2C -t az "interfész beállítások" menüben.
6. Szerkesztés Player CLIENT és LTSERVER
A játékkönyvtárnak most tartalmaznia kell a négy fennmaradó fájlt.
- i2c_lib.py
- lcddriver.py
- hangok.py
- játékos.py
A pi konfigurálásának utolsó lépése az, hogy minden pi -nek hozzárendelünk egy ÜGYFÉL számot, és hozzáadjuk a szerver helyét. Ez úgy történik, hogy a mellékelt "player.py" fájlt minden pi -hez úgy szerkesztik, hogy mindegyiknek más legyen az ÜGYFÉL száma. Az ÜGYFÉL szám a player.py 3. sorában van megadva. Az első pi -t rendelje hozzá az "1" klienshez, a másodikat "2" -hez, a harmadikat pedig a "3" klienshez.
Az LTSERVER sort módosítani kell a szerver IP -címére. Ezt az 'ifconfig | grep "inet addr" 'a szerver számítógép termináljában.
4. lépés: Pisztoly szerelése
Folytassa az egyes pisztolyok huzalozását a kapcsolási rajz és a fenti vázlat szerint.
A perifériák mindegyike a következő GPIO tűkhöz van csatlakoztatva a Pi Zero -n:
- Zümmögő: GPIO5
- Kioldó: GPIO26
- Újratöltés: GPIO12
- IR -adó: GPIO25
- IR -vevő: GPIO18
- PIROS LED: GPIO17
- ZÖLD LED: GPIO27
- KÉK LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
További részletekért lásd a vázlatot.
Kívánt esetben a lézerfegyverek 3D nyomtathatók a mellékelt lépésmodell fájlokkal. Ne feledje, hogy a "front1STL. STL" fájlok közül kettőt ki kell nyomtatni.
5. lépés: Játék
A játék az "ltag.py" fájl futtatásával indul a szerveren. Ha ez megtörtént, minden játékos csatlakozhat a szerverhez a megfelelő "player.py" fájl futtatásával.
Megjegyzés: Az akkumulátor csatlakoztatása után akár egy percig is eltarthat, amíg a pi elindul.
Hasznos lehet olyan cron feladat hozzáadása is, amely automatikusan futtatja a player.py fájlt, amint a pi elindul. Nehezen tudtuk ezt megvalósítani, és végül hozzáadtunk egy sort a "/etc/rc.local" fájlhoz minden Pis -en a "player.py" fájl futtatásához. Ez lehetővé teszi a játék elindítását anélkül, hogy SSH -t kellene kötni a Pi -khez a lejátszó szkriptjének futtatásához.
Miután a játékot a játékosok készenlétével elkezdték, megjelenik egy GUI, amely lehetővé teszi néhány játékbeállítás konfigurálását. A játék a Start gomb megnyomása után kezdődik.
Minden játék után megjelenik egy befejező grafikus felület, amely statisztikákat tartalmaz az előző játékról, beleértve a címkéket, a globális százalékokat és a játék időtartamát.
Megjegyzés: A szoftverkönyvtárak korlátai miatt a pontossági jelentés címkéinek helyei nem reprezentálják a tényleges lézercímkéket. A jelenlegi verzióban a Játékos pontossági jelentés képe pusztán esztétikai célokat szolgál, remélve, hogy egy jövőbeni verzióban valósul meg a címke helyének valós megvalósítása.
6. lépés: Jövőbeni fejlesztések
Összességében a projekt nagy sikert aratott. Útközben néhány további funkcióra gondoltunk, amelyek egy későbbi kiadáshoz adhatók.
- Masszívabb kivitel a 3D nyomtatott fegyverekhez
- A GUI legördülő menüjének befejezése a korábbi játékok statisztikáinak megjelenítéséhez
- Több infravörös vevő, amelyet a játékosok mellényéhez lehet csatlakoztatni
- További játékmódok, amelyek a Pregame GUI -ban választhatók
- Pontosabb címkehelymeghatározási algoritmus a játékosok statisztikai oldalán
Ajánlott:
Infravörös vezérlésű MP3 -lejátszó: 6 lépés (képekkel)
Infravörös vezérlésű MP3 -lejátszó: Építsen infravörös távirányító MP3 -lejátszót körülbelül 10 dollárért (usd). A szokásos funkciókkal rendelkezik: lejátszás, szüneteltetés, következő vagy előző lejátszás, egyetlen dal vagy az összes dal lejátszása. Hangszínszabályzóval és hangszínszabályzóval is rendelkezik. Mindez vezérelhető egy r
Érintésmentes infravörös hőmérő: 8 lépés (képekkel)
Érintkezés nélküli infravörös hőmérő: A helyi Egészségügyi Minisztérium kapcsolatba lépett velem, mert szükségük volt arra, hogy napi szinten nyomon kövessék alkalmazottaik testhőmérsékletét a 2020-as Covid-19 válság idején. A normál, a polcon lévő infravörös hőmérők kezdtek szűkösek lenni
Arduino lézeres infravörös hőmérő: 7 lépés (képekkel)
Arduino lézeres infravörös hőmérő: Ebben a projektben megmutatom, hogyan lehet digitális lézeres infravörös hőmérőt készíteni egyedi 3D nyomtatott burkolattal
A Kodi / OSMC infravörös vevő és a kalap visszaállítása a Raspberry Pi számára: 5 lépés (képekkel)
Építsen Kodi / OSMC infravörös vevőt és alaphelyzetbe állító kalapot a Raspberry Pi számára: Építsen Kodi / OSMC IR -vevőt és Reset kalapot a Raspberry Pi 3 -hoz. Szobán keresztül szeretném Nézze meg, hogy a Raspberry Pi be van -e kapcsolvaAzt is szeretném, ha a családom
8 relévezérlés NodeMCU és infravörös vevővel WiFi és infravörös távirányító és Android alkalmazás használatával: 5 lépés (képekkel)
8 relévezérlés NodeMCU -val és IR -vevővel WiFi és IR távirányító és Android -alkalmazás használatával: 8 relés kapcsoló vezérlése nodemcu és ir vevő segítségével wifi -n és távoli és androidos alkalmazáson keresztül. Az ir távirányító a wifi -kapcsolattól függetlenül működik. ITT