Obsah:
- Krok 1: Materiály
- Krok 2: Nastavenie servera
- Krok 3: Nastavenie Raspberry Pi
- Krok 4: Zostava pištole
- Krok 5: Hranie hier
- Krok 6: Budúce zlepšenia
Video: Infračervený laserový štítok s nulovou hodnotou Raspberry Pi: 6 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento návod vás prevedie procesom vytvorenia hry s infračerveným laserom pomocou základného serverového počítača a nuly Raspberry Pi pre každého hráča. Projekt pri komunikácii so serverom vo veľkej miere závisí od pripojenia Wifi, vďaka čomu je Pi skvelým kandidátom.
Server použitý v tomto projekte bol starý stolný počítač s Linuxom. Počítač nemusí byť ničím špeciálnym a pravdepodobne by mohol byť spustený aj z Raspberry Pi 3. Server a každé z pi nula musí byť počas hrania hry pripojené k rovnakej sieti.
Krok 1: Materiály
Popis a niektoré odkazy na potrebné materiály sú uvedené nižšie. Nasledujúci zoznam materiálov je pre 3 zbrane.
- Serverový počítač (1)
- Raspberry Pi Zero W (3) Adafruit
- Najmenej 4 GB SD karta (3) Amazon
- IR LED vysielač (3)
- IR prijímač (6) Amazon
- Červená LED (3)
- Modrá LED (3)
- Zelená LED (3)
- Pasívny bzučiak (3) Amazon
- Tlačidlo (6)
- Obrazovka LCD 16x2 s adaptérom I2C (3) Amazon
- Prenosná batéria (3) Amazon
- Mikro -bežný kábel USB (3) Amazon
- PN2222 tranzistor (3)
- 100Ω odpor (3)
- 1kΩ odpor (9)
Voliteľné položky:
- Vesta (3) Amazon
- Predĺženie stužkového kábla (3) Amazon
V tomto projekte sme nakoniec odobrali IR LED vysielač zo starej sady laserových značkovacích pištolí, ktoré mali okolo vysielača čierny kužeľ, ktorý pomohol zúžiť výstrel každej pištole. Každý všeobecný vysielač by však mal fungovať.
Okrem vyššie uvedených položiek boli 3D laserom vytlačené aj samotné laserové zbrane. Tento projekt by preto tiež vyžadoval prístup k 3D tlačiarni a vláknu. Celkovo pri troch zbraniach vyšlo spolu asi 350 dolárov.
Krok 2: Nastavenie servera
Prvá vec, ktorú je potrebné nastaviť server, je nainštalovať maklérsku službu Mosquitto MQTT. Mosquitto je služba, ktorá poskytuje rámec pre komunikáciu medzi každým zo zariadení v hre. To umožňuje serveru odosielať správy každému Pis pripojenému k službe. V termináli spustite nasledujúce príkazy.
sudo apt-get aktualizácia
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Niektoré GUI pre server boli vytvorené pomocou návrhára GUI s názvom Pygubu. To je možné nainštalovať spustením:
pip3 nainštalujte pygubu
Viac informácií o pygubu nájdete na
Po inštalácii MQTT a Pygubu vytvorte nový adresár a skopírujte priložené súbory. Adresár by mal obsahovať:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- domov.png
- self.png
- nepriateľov.png
- laser.jpg
Poznámka: Priložené obrázky použité v tomto projekte neboli vytvorené vývojovým tímom, a preto si nerobia nárok na autorstvo.
Krok 3: Nastavenie Raspberry Pi
Tento krok bude potrebné zopakovať na každom Raspberry Pis.
1. Nainštalujte operačný systém
Najprv začnite novou inštaláciou Raspbian. Odporúčame používať verziu Lite, pretože Pi ju zvládne menej, ale každá verzia by mala fungovať dobre. Stiahnutie nájdete na
2. Nainštalujte MQTT
Ďalej musíme nainštalovať službu makléra MQTT. Na to použijeme Mosquitto. V termináli spustite nasledujúce príkazy.
sudo apt-get aktualizácia
sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto je služba, ktorá poskytuje rámec pre komunikáciu medzi každým zo zariadení v hre. To umožňuje serveru odosielať správy každému Pis pripojenému k službe.
3. Nainštalujte nástroje I2C
Nasledujúci príkaz nainštaluje knižnice, ktoré sa používajú pre obrazovku LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
V súbore lcddriver.py môže byť potrebné zmeniť adresu i2c. Adresu je možné nájsť zadaním nasledujúceho príkazu.
i2cdetect -y 1
4. Nainštalujte a nakonfigurujte LIRC
Vytvorte nový adresár a stiahnite si priložené súbory na toto miesto.
Väčšina internetových prehliadačov nebude sťahovať súbory bez prípon. Aby sa to dalo obísť, dva súbory boli nahrané s dočasnými príponami. Oba súbory „lircrc.deleteExtension“a „modules.deleteExtension“by v skutočnosti nemali obsahovať žiadne rozšírenia a po úspešnom stiahnutí by mali byť súbory premenované na „lircrc“a „moduly“.
Tento krok nainštaluje a nakonfiguruje závislosti pre balík Linux Infrared Remote Control (LIRC). Viac informácií nájdete v návode na nastavenie LIRC na:
Najprv nainštalujte knižnicu a potom skopírujte dodané súbory do príslušných adresárov podľa nižšie uvedených príkazov. Nakoniec reštartujte službu lircd.
sudo apt-get install python3-lirc -y
Z novovytvoreného adresára vykonajte nasledujúce príkazy na presun konfiguračných súborov na ich správne miesta.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
moduly sudo mv /etc /
Potom reštartujte službu lircd spustením:
sudo /etc/init.d/lircd reštart
Ďalej upravte súbor /boot/config.txt a pridajte nasledujúci riadok
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Reštartujte svoje pi, aby sa zmeny prejavili.
sudo reštart
5. Povoľte I2C a upravte KLIENTA pre každého hráča
Ďalej povolíme rozhranie I2C. To je možné vykonať pomocou
sudo raspi-config
a povolenie I2C v ponuke „možnosti rozhrania“.
6. Upravte Player CLIENT a LTSERVER
Adresár hry by teraz mal obsahovať štyri zostávajúce súbory.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- player.py
Posledným krokom pri konfigurácii pí je priradenie každého pi čísla KLIENTA a pridanie polohy servera. To sa vykoná úpravou priloženého súboru „player.py“pre každé pi tak, aby všetky mali iné číslo KLIENTA. Číslo KLIENTA je priradené na riadku 3 player.py. Priraďte prvé pi ku klientovi „1“, druhé k „2“a tretie k klientovi „3“.
Riadok LTSERVER by mal byť zmenený na IP adresu servera. Zistíte to zadaním 'ifconfig | grep "inet addr" 'na termináli serverového počítača.
Krok 4: Zostava pištole
Pokračujte v zapojovaní každej z pištolí podľa schémy zapojenia a schémy uvedenej vyššie.
Každá z periférnych zariadení je na Pi Zero pripojená k nasledujúcim pinom GPIO:
- Bzučiak: GPIO5
- Spúšť: GPIO26
- Znovu načítať: GPIO12
- IR vysielač: GPIO25
- IR prijímače: GPIO18
- ČERVENÁ LED: GPIO17
- ZELENÁ LED: GPIO27
- MODRÁ LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Bližšie informácie nájdete v schéme.
V prípade potreby je možné laserové zbrane vytlačiť 3D pomocou dodaných súborov krokových modelov. Majte na pamäti, že dva zo súborov „front1STL. STL“je potrebné vytlačiť.
Krok 5: Hranie hier
Hru spustíte spustením súboru „ltag.py“na serveri. Hneď ako sa tak stane, každý z hráčov sa môže pripojiť k serveru spustením príslušného súboru „player.py“.
Poznámka: Po zapojení akumulátora môže spustenie pí trvať až minútu.
Tiež môže byť užitočné pridať úlohu cron, ktorá automaticky spustí súbor player.py po spustení pí. Ťažko sme to uviedli do prevádzky a nakoniec sme do súboru „/etc/rc.local“na každom serveri Pis pridali riadok na spustenie súboru „player.py“. To umožňuje spustenie hry bez toho, aby ste museli spustiť SSH do Pi a spustiť skript prehrávača.
Akonáhle sa hra začne s pripravenými hráčmi, zobrazí sa GUI, ktoré umožňuje konfiguráciu niekoľkých herných nastavení. Hra sa začína po stlačení tlačidla Štart.
Po každej hre sa zobrazí konečné GUI so štatistikami o predchádzajúcej hre vrátane značiek, globálnych percent a trvania hry.
Poznámka: Vzhľadom na obmedzenia v softvérových knižniciach umiestnenie značiek správ o presnosti nereprezentuje skutočné laserové značky. V súčasnej verzii je obrázok správy o presnosti prehrávača čisto estetický v nádeji, že v budúcej verzii bude implementovaná skutočná poloha značky.
Krok 6: Budúce zlepšenia
Celkovo bol projekt veľkým úspechom. Cestou sme mysleli na niekoľko ďalších funkcií, ktoré môžu byť pridané do budúcej edície.
- Robustnejší dizajn spúšte pre 3D tlačené zbrane
- Ukončenie rozbaľovacej ponuky GUI na zobrazenie štatistík z minulých hier
- Viac infračervených prijímačov, ktoré je možné pripevniť k vestám hráčov
- Ďalšie herné režimy, ktoré je možné zvoliť v GUI Pregame
- Presnejší algoritmus umiestnenia značiek na stránke so štatistikami hráčov
Odporúča:
Výučba Arduino MFRC522 - Je štítok RFID prítomný alebo odstránený? 6 krokov
Výučba Arduino MFRC522 - Je prítomný alebo odstránený štítok RFID?: Tento návod bol pôvodne uverejnený o vysokom napätí
Laserový infračervený teplomer Arduino: 7 krokov (s obrázkami)
Laserový infračervený teplomer Arduino: V tomto projekte vám ukážem, ako vytvoriť digitálny laserový infračervený teplomer s 3D krytom vytlačeným na mieru
Časovač Arduino s nastavenou hodnotou zapnutia/vypnutia: 6 krokov (s obrázkami)
Časovač Arduino s nastavenou hodnotou zapnutia/vypnutia: Upravené 05-02-2018 Nové časovače! hodiny, minúty, sekundy, eeprom. Navštívte: https: //www.instructables.com/id/Arduino-Ultra-Meg … Ahoj, s týmto projektom budete môcť ovládať zapínanie a vypínanie vašich zariadení medzi časom, ktorý chcete. Môžu byť t
Vytvorte rozsvietený štítok s menom z klávesov na klávesnici: 6 krokov
Vytvorte rozsvietený štítok s menom z klávesov na klávesnici: Tento návod vám všetkým ukáže, ako vytvoriť rozsvietený štítok s názvom zo šrotu klávesov klávesnice a niekoľkých elektroník. Začnime
Laserový štítok Arduino - tag Duino: 11 krokov (s obrázkami)
Laserový tag Arduino - Duino Tag: Duino tagger - všeobecný úvod Duino tag je laserový tagový systém založený na arduine. Konečne systém laserových štítkov, ktorý je možné upravovať a hackovať, kým nebudete mať perfektný systém laserových štítkov pre kancelársku muníciu, lesné vojny a predmestia