Sisukord:
- Samm: materjalid
- Samm: serveri seadistamine
- Samm: Raspberry Pi seadistamine
- 4. samm: relva kokkupanek
- Samm 5: Mängimine
- 6. samm: tulevased täiustused
Video: Infrapuna -lasermärk Raspberry Pi Zero -ga: 6 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
See juhend juhendab infrapunase lasermärgi mängu loomise protsessi, kasutades baasserveri arvutit ja iga mängija jaoks Raspberry Pi nulli. Projekt tugineb serveriga suhtlemiseks suuresti Wifi -ühendusele, mis muudab Pi suurepäraseks kandidaadiks.
Selles projektis kasutatud server oli vana lauaarvuti Linuxiga. Arvuti ei pea olema midagi erilist ja tõenäoliselt saab seda isegi Raspberry Pi 3 -st käivitada. Server ja kõik pi nullid peavad mängu ajal olema ühendatud sama võrguga.
Samm: materjalid
Allpool on toodud vajalike materjalide kirjeldus ja mõned lingid. Allpool olev materjalide loend on 3 relva jaoks.
- Serveri arvuti (1)
- Vaarika Pi Zero W (3) Adafruit
- Vähemalt 4 GB SD -kaart (3) Amazon
- IR LED saatja (3)
- IR -vastuvõtja (6) Amazon
- Punane LED (3)
- Sinine LED (3)
- Roheline LED (3)
- Passiivne sumin (3) Amazon
- Nupp (6)
- LCD 16x2 ekraan I2C -adapteriga (3) Amazon
- Kaasaskantav aku (3) Amazon
- Mikro -tavaline USB -kaabel (3) Amazon
- PN2222 transistor (3)
- 100Ω takisti (3)
- 1 kΩ takisti (9)
Valikulised üksused:
- Vest (3) Amazon
- Lintkaabli pikendus (3) Amazon
Selles projektis võtsime lõpuks IR -LED -saatja vanast lasermärgipüstolite komplektist, mille saatja ümber oli must koonus, et aidata iga relva laskmist kitsendada. Iga üldine saatja peaks siiski töötama.
Lisaks ülaltoodud esemetele trükiti laserpüstolid ise 3D -trükisega. See projekt nõuaks seega ka juurdepääsu 3D -printerile ja hõõgniidile. Kokku tuli kolme relva eest kokku umbes 350 dollarit.
Samm: serveri seadistamine
Esimene asi, mida serveri seadistamiseks vaja on, on Mosquitto MQTT maakleriteenuse installimine. Mosquitto on teenus, mis pakub raamistikku mängu kõigi seadmete vaheliseks suhtluseks. See võimaldab serveril saata sõnumeid igale teenusega ühendatud Pisile. Käivitage terminalis järgmised käsud.
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
Mõned serveri graafilised kasutajaliidesed loodi Pygubu nimelise graafilise kasutajaliidese abil. Selle saab installida järgmiselt:
pip3 installi pygubu
Lisateavet pygubu kohta leiate aadressilt
Kui MQTT ja Pygubu on installitud, looge uus kataloog ja kopeerige manustatud failid. Kataloog peaks sisaldama järgmist:
- ltag.py
- pregame.py
- game_statistics.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- home.png
- ise.png
- vaenlased.png
- laser.jpg
Märkus. Selles projektis kasutatud lisatud pilte ei loonud arendusmeeskond ja seetõttu ei pretendeeri need autorsusele.
Samm: Raspberry Pi seadistamine
Seda sammu tuleb korrata iga vaarikapisiku puhul.
1. Installige operatsioonisüsteem
Esiteks alustage Raspbiani värske installimisega. Soovitame kasutada Lite -versiooni, kuna Pi -l on seda vähem käsitseda, kuid kumbki versioon peaks hästi toimima. Allalaadimise leiate aadressilt
2. Installige MQTT
Järgmisena peame installima MQTT maakleriteenuse. Me kasutame selleks Mosquitto. Käivitage terminalis järgmised käsud.
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
Mosquitto on teenus, mis pakub raamistikku mängu kõigi seadmete vaheliseks suhtluseks. See võimaldab serveril saata sõnumeid igale teenusega ühendatud Pisile.
3. Installige I2C Tools
Järgmine käsk installib teegid, mida kasutatakse LCD -ekraanil.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
Võimalik, et failis lcddriver.py tuleb muuta i2c aadressi. Aadressi leiate järgmise käsu sisestamisega.
i2cdetect -y 1
4. Installige ja konfigureerige LIRC
Looge uus kataloog ja laadige lisatud failid sellesse kohta alla.
Enamik Interneti -brausereid ei lae faile ilma laienditeta alla. Selle vältimiseks laaditi kaks faili üles ajutiste laienditega. Nii "lircrc.deleteExtension" kui ka "modules.deleteExtension" peaksid tegelikult olema laiendideta ja failid tuleks pärast edukat allalaadimist ümber nimetada "lircrc" ja "mooduliteks".
See samm installib ja konfigureerib sõltuvused Linuxi infrapunakaugjuhtimispuldi (LIRC) paketist. Lisateabe saamiseks vaadake LIRC seadistamise õpetust:
Esmalt installige kogu, seejärel kopeerige kaasatud failid vastavatesse kataloogidesse, nagu on näidatud allolevates käskudes. Lõpuks taaskäivitage lircd -teenus.
sudo apt-get install python3-lirc -y
Käivitage äsja loodud kataloogist konfiguratsioonifailide õigesse asukohta teisaldamiseks järgmised käsud.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
sudo mv moodulid /etc /
Seejärel taaskäivitage lircd teenus, käivitades:
sudo /etc/init.d/lircd taaskäivitage
Seejärel redigeerige faili /boot/config.txt ja lisage järgmine rida
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Taaskäivitage oma pi, et muudatused jõustuksid.
sudo taaskäivitamine
5. Luba I2C ja muuda iga mängija jaoks KLIENTI
Järgmisena lubame I2C liidese. Seda saab teha kasutades
sudo raspi-config
ja lubades I2C menüüs "liidese valikud".
6. Muutke mängija CLIENT ja LTSERVER
Mängukataloog peaks nüüd sisaldama nelja ülejäänud faili.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- mängija.py
Viimane samm pi konfigureerimisel on igale pi määramine KLIENDI number ja serveri asukoha lisamine. Selleks redigeeritakse iga pi jaoks lisatud faili "player.py" nii, et neil kõigil oleks erinev KLIENDI number. KLIENDI number määratakse mängija.py 3. reale. Määrake esimene pi kliendiks "1", teine "2" ja kolmas kliendiks "3".
LTSERVERi rida tuleks muuta serveri IP -aadressiks. Selle leiate, tippides 'ifconfig | grep "inet addr" 'serveriarvuti terminalis.
4. samm: relva kokkupanek
Jätkake kõigi relvade ühendamist vastavalt ühendusskeemile ja ülaltoodud skeemile.
Kõik välisseadmed on ühendatud järgmiste Pi Zero GPIO -kontaktidega:
- Signaal: GPIO5
- Päästik: GPIO26
- Laadige uuesti: GPIO12
- IR -saatja: GPIO25
- IR vastuvõtjad: GPIO18
- PUNANE LED: GPIO17
- ROHELINE LED: GPIO27
- SININE LED: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Lisateabe saamiseks vaadake skemaatikat.
Soovi korral saab laserpüstolid 3D -printida, kasutades kaasasolevaid samm -mudeli faile. Pidage meeles, et kaks "front1STL. STL" faili tuleb printida.
Samm 5: Mängimine
Mängu alustamiseks käivitatakse serveris fail "ltag.py". Kui see on tehtud, saavad kõik mängijad serveriga ühenduse luua, käivitades vastava faili "player.py".
Märkus. Pärast aku ühendamist võib pi käivitamiseks kuluda kuni minut.
Samuti võib olla kasulik lisada croni töö, mis käivitab automaatselt faili player.py pärast pi käivitamist. Meil oli raske seda tööd teha ja lõpuks lisasime igale Pis -failile "/etc/rc.local" rea, et käivitada fail "player.py". See võimaldab mängu käivitada ilma, et peaksite mängija skripti käivitamiseks SS -i sisse lülitama.
Kui mäng on mängijate jaoks valmis, kuvatakse GUI, mis võimaldab konfigureerida mõningaid mängu seadeid. Mäng algab pärast nupu Start vajutamist.
Pärast iga mängu kuvatakse lõplik graafiline kasutajaliides koos eelmise mängu statistikaga, sealhulgas sildid, globaalsed protsendid ja mängu kestus.
Märkus. Tarkvararaamatukogude piirangute tõttu ei ole täpsusaruande siltide asukohad tegelikke lasermärgendeid. Praeguses versioonis on mängija täpsusaruande pilt puhtalt esteetiline, lootes tulevast versiooni koos tegeliku märgendi asukoha rakendamisega.
6. samm: tulevased täiustused
Üldiselt oli projekt suur edu. Teel mõtlesime välja mõned lisavõimalused, mida võidakse tulevasse väljaandesse lisada.
- Tugevam 3D -prindipüstolite päästiku disain
- GUI rippmenüü lõpetamine eelmiste mängude statistika kuvamiseks
- Rohkem infrapuna vastuvõtjaid, mida saaks mängijate vestide külge kinnitada
- Täiendavad mängurežiimid, mida saab valida Pregame GUI -s
- Täpsem märgendi asukoha algoritm mängijate statistika lehel
Soovitan:
Kontaktivaba infrapuna termomeeter: 8 sammu (piltidega)
Kontaktivaba IR-termomeeter: Minu kohalik tervishoiuministeerium võttis minuga ühendust, kuna neil oli vaja 2020. aasta Covid-19 kriisi ajal oma töötaja kehatemperatuuri igapäevaselt jälgida. Tavalisi riiulipõhiseid IR -termomeetreid hakkas nappima
Arduino laser -infrapuna -termomeeter: 7 sammu (piltidega)
Arduino laser -infrapuna -termomeeter: Selles projektis näitan teile, kuidas ehitada kohandatud 3D -prinditud korpusega digitaalne laser -infrapuna -termomeeter
Arduino infrapuna -termomeetri püstoli MDF -korpus: 4 sammu (piltidega)
Arduino infrapuna-termomeetri püstoli MDF-korpus: see projekt on mõeldud Arduino-ga infrapuna-termomeetri valmistamiseks, vooluahel pannakse MDF-i korpusesse, mis näeb välja nagu meditsiiniline infrapuna-termomeeter turul. Anduri infrapuna-termomeetrit GY-906 kasutatakse objekti temperatuuri mõõtmiseks ilma kontaktita, see võib tähendada
Automaatne infrapuna veekraan hinnaga $ 5: 12 sammu (piltidega)
Automaatne infrapuna veekraan hinnaga 5 dollarit: Selles projektis teeme automaatse sisse- ja väljalülitatava veekraani ainult alla 5 dollari. Selle automaatse infrapuna veekraani valmistamiseks kasutame IR -andurit ja veelülitit. Selle automaatse infrapuna veekraani valmistamiseks ei kasutata mikrokontrollerit. Lihtsalt asetage oma
Ehitage Raspberry Pi jaoks Kodi / OSMC infrapuna vastuvõtja ja lähtestamismüts: 5 sammu (koos piltidega)
Ehitage Raspberry Pi jaoks Kodi / OSMC infrapuna -vastuvõtja ja lähtestamismüts: ehitage Raspberry Pi 3 jaoks Kodi / OSMC IR -vastuvõtja ja lähtesta müts. Soovin kogu ruumist: Kodi / OSMC juhtimine Raspberry Pi -ga kaugjuhtimispuldiga Vaadake, kas Raspberry Pi on sisse lülitatud. Samuti tahaksin, et mu pere