
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11

Hii inayoweza kufundishwa itatembea kupitia mchakato wa kuunda mchezo wa Tag ya Infrared Laser ukitumia kompyuta ya msingi ya seva na Raspberry Pi sifuri kwa kila mchezaji. Mradi unategemea sana unganisho la Wifi kuwasiliana na seva ambayo inafanya Pi kuwa mgombea mzuri.
Seva iliyotumiwa katika mradi huu ilikuwa kompyuta ya zamani ya desktop na Linux. Kompyuta haiitaji kuwa kitu maalum, na labda inaweza kuendeshwa kutoka kwa Raspberry Pi 3. Seva na kila moja ya pi lazima ziunganishwe kwenye mtandao huo wakati wa mchezo.
Hatua ya 1: Vifaa


Maelezo na viungo vingine vya vifaa vinavyohitajika vinaonyeshwa hapa chini. Orodha ya nyenzo hapa chini ni ya bunduki 3.
- Kompyuta ya Seva (1)
- Raspberry Pi Zero W (3) Adafruit
- Angalau Kadi ya SD ya 4GB (3) Amazon
- Transmitter ya IR (3)
- Mpokeaji wa IR (6) Amazon
- LED Nyekundu (3)
- LED ya Bluu (3)
- Kijani cha LED (3)
- Passive Buzzer (3) Amazon
- Kitufe cha kushinikiza (6)
- Skrini ya LCD 16x2 na I2C Adapter (3) Amazon
- Kifurushi cha Kubebeka kwa Betri (3) Amazon
- Kebo ya USB ndogo hadi Mara kwa Mara (3) Amazon
- PN2222 Transistor (3)
- Kizuizi cha 100Ω (3)
- Kizuizi cha 1kΩ (9)
Vitu vya hiari:
- Vest (3) Amazon
- Ugani wa Cable Ribbon (3) Amazon
Katika mradi huu, tuliishia kuchukua Transmitter ya IR kutoka kwa seti ya zamani ya bunduki za tag za laser ambazo zilikuwa na koni nyeusi karibu na mtoaji kusaidia kupunguza risasi ya kila bunduki. Walakini, mtumaji wa jumla anapaswa kufanya kazi.
Mbali na vitu vilivyoorodheshwa hapo juu, bunduki za laser zenyewe zilichapishwa 3D. Mradi huu kwa hivyo pia utahitaji ufikiaji wa printa ya 3D na filament. Kwa jumla, kwa bunduki tatu jumla ilifikia karibu $ 350.
Hatua ya 2: Usanidi wa Seva



Jambo la kwanza linalohitajika kusanidi seva ni kusanikisha Huduma ya Broker ya Mosquitto MQTT. Mosquitto ni huduma ambayo hutoa mfumo wa mawasiliano kati ya kila moja ya vifaa kwenye mchezo. Hii inaruhusu seva kutuma ujumbe kwa kila Pis iliyounganishwa na huduma. Katika terminal, endesha amri zifuatazo.
Sudo apt-pata sasisho
Sudo apt-pata sasisho apt-pata kufunga mbu -y sudo apt-kufunga python3-pip -y sudo pip3 kufunga paho-mqtt
Baadhi ya GUI za seva ziliundwa kwa kutumia mbuni wa GUI anayeitwa Pygubu. Hii inaweza kusanikishwa kwa kuendesha:
pip3 kufunga pygubu
Habari zaidi juu ya pygubu inaweza kupatikana katika
Mara baada ya MQTT na Pygubu kuwekwa, tengeneza saraka mpya na unakili faili zilizoambatishwa. Saraka inapaswa kujumuisha:
- ltag.py
- pregame.py
- takwimu_mchezo.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- nyumbani.png
- ubinafsi.png
- maadui.png
- laser.jpg
Kumbuka: Picha zilizoambatishwa zilizotumiwa katika mradi huu hazijaundwa na timu ya maendeleo na kwa hivyo haidai uandishi.
Hatua ya 3: Usanidi wa Pi Raspberry

Hatua hii itahitaji kurudiwa kwenye kila Raspberry Pis.
1. Sakinisha Mfumo wa Uendeshaji
Kwanza, anza na usakinishaji mpya wa Raspbian. Tunapendekeza kutumia toleo la Lite kwani ni kidogo kwa Pi kushughulikia, lakini toleo lolote linapaswa kufanya kazi vizuri. Upakuaji unaweza kupatikana kwenye
2. Sakinisha MQTT
Ifuatayo tunahitaji kusanikisha huduma ya wakala wa MQTT. Tutatumia Mosquitto kwa hili. Kwenye terminal, endesha amri zifuatazo.
Sudo apt-pata sasisho
Sudo apt-pata sasisho apt-pata kufunga mbu -y sudo apt-kufunga python3-pip -y sudo pip3 kufunga paho-mqtt
Mosquitto ni huduma ambayo hutoa mfumo wa mawasiliano kati ya kila moja ya vifaa kwenye mchezo. Hii inaruhusu seva kutuma ujumbe kwa kila Pis iliyounganishwa na huduma.
3. Sakinisha Zana za I2C
Amri ifuatayo itaweka maktaba ambayo hutumiwa kwa skrini ya LCD.
Sudo apt-get install -y python3-smbus i2c-zana
Sudo apt-get kufunga rpi.gpio -y
Anwani ya i2c inaweza kuhitaji kubadilishwa kwenye faili ya lcddriver.py. Anwani inaweza kupatikana kwa kuingiza amri ifuatayo.
i2cdectect -y 1
4. Sakinisha na usanidi LIRC
Unda saraka mpya na pakua faili zilizoambatishwa kwenye eneo hili.
Vivinjari vingi vya mtandao havitapakua faili bila viendelezi. Ili kuzunguka hii, faili mbili zilipakiwa na viendelezi vya muda. Wote "lircrc.deleteExtension" na "modules.deleteExtension" kwa kweli hazipaswi kupanuliwa na faili zinapaswa kubadilishwa jina kuwa "lircrc" na "moduli" baada ya kupakuliwa vizuri.
Hatua hii inasanidi na kusanidi utegemezi wa kifurushi cha Linux Infrared Remote Control (LIRC). Kwa habari zaidi angalia mafunzo ya kuanzisha LIRC katika:
Kwanza weka maktaba, kisha nakili faili zilizojumuishwa kwenye saraka zao kama inavyoonyeshwa kwenye amri zilizo hapa chini. Mwishowe, anza tena huduma ya lircd.
Sudo apt-get kufunga python3-lirc -y
Kutoka kwa saraka mpya iliyoundwa fanya amri zifuatazo kusonga faili za usanidi katika maeneo yao sahihi.
Sudo mv lircd.conf vifaa.conf lircrc lirc_options.conf / nk / lirc /
moduli za sudo mv / nk /
Kisha anzisha huduma ya lircd kwa kukimbia:
Sudo /etc/init.d/lircd kuanza upya
Ifuatayo, hariri faili ya / boot/config.txt na ongeza laini ifuatayo
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Washa tena pi yako ili kuruhusu mabadiliko yatendeke.
Sudo reboot
5. Wezesha I2C na uhariri MTEJA kwa kila mchezaji
Ifuatayo, tutawezesha kiolesura cha I2C. Hii inaweza kufanywa kwa kutumia
Sudo raspi-config
na kuwezesha I2C katika menyu ya "chaguzi za kiolesura".
6. Hariri Mteja Mchezaji na LTSERVER
Saraka ya mchezo sasa inapaswa kujumuisha faili nne zilizobaki.
- i2c_lib.py
- lddriver.py
- ltsounds.py
- mchezaji.py
Hatua ya mwisho ya kusanidi pi ni kupeana kila pi Nambari ya MTEJA na kuongeza eneo la seva. Hii imefanywa kwa kuhariri faili ya "player.py" iliyojumuishwa kwa kila pi ili wote wawe na nambari tofauti ya MTEJA. Nambari ya MTEJA imepewa kwenye mstari wa 3 wa player.py. Wape pi wa kwanza kuwa mteja "1", wa pili awe "2", na wa tatu awe mteja "3".
Mstari wa LTSERVER unapaswa kubadilishwa kuwa anwani ya IP ya seva. Hii inapatikana kwa kuandika 'ifconfig | grep "inet addr" 'kwenye terminal ya kompyuta ya seva.
Hatua ya 4: Mkutano wa Bunduki


Endelea kupiga kila bunduki kulingana na mchoro wa wiring na skimu juu.
Kila moja ya pembejeo imeunganishwa na pini zifuatazo za GPIO kwenye Pi Zero:
- Buzzer: GPIO5
- Kichocheo: GPIO26
- Pakia tena: GPIO12
- Transmitter ya IR: GPIO25
- Wapokeaji wa IR: GPIO18
- RED LED: GPIO17
- LED YA KIJANI: GPIO27
- LED YA BLUU: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Angalia mpango kwa maelezo zaidi.
Ikiwa inataka, bunduki za laser zinaweza kuchapishwa kwa 3D kwa kutumia faili za mfano zilizojumuishwa. Kumbuka kwamba faili mbili za "front1STL. STL" zinapaswa kuchapishwa.
Hatua ya 5: Mchezo wa kucheza



Mchezo umeanza kwa kutumia faili ya "ltag.py" kwenye seva. Mara hii itakapofanyika, kila mmoja wa wachezaji anaweza kuungana na seva kwa kuendesha faili yao ya "player.py".
Kumbuka: Baada ya kuingiza kifurushi cha betri, inaweza kuchukua hadi dakika kwa pi kuanza.
Inaweza pia kuwa muhimu kuongeza kazi ya cron ambayo inaendesha otomatiki faili ya player.py mara pi inapoanza. Tulikuwa na wakati mgumu kupata hii kufanya kazi na tukaishia kuongeza laini kwenye faili ya "/etc/rc.local" kwenye kila Pis kuendesha faili ya "player.py". Hii inaruhusu mchezo uanzishwe bila ya kuwa na SSH ndani ya Pi ili kuendesha hati ya kichezaji.
Mara baada ya mchezo kuanza na wachezaji tayari, GUI itaonekana ambayo inaruhusu mipangilio machache ya mchezo kusanidiwa. Mchezo huanza baada ya kitufe cha Anza kushinikizwa.
Baada ya kila mchezo, GUI inayoishia itaonekana na takwimu kuhusu mchezo wa mapema pamoja na vitambulisho, asilimia ya ulimwengu na muda wa mchezo.
Kumbuka: Kwa sababu ya mapungufu katika maktaba za programu, mahali pa lebo ya ripoti ya usahihi sio mwakilishi wa vitambulisho halisi vya laser. Katika toleo la sasa, picha ya Ripoti ya Usahihi wa Mchezaji ni ya warembo tu kwa matumaini ya toleo la baadaye na utekelezaji halisi wa eneo la lebo.
Hatua ya 6: Maboresho ya Baadaye


Kwa ujumla, mradi huo ulikuwa na mafanikio makubwa. Njiani, tulifikiria chache ya huduma zingine ambazo zinaweza kuongezwa kwenye toleo la baadaye.
- Sturdier trigger design kwa bunduki zilizochapishwa za 3D
- Kumaliza menyu kunjuzi ya GUI kuonyesha takwimu kutoka kwa michezo iliyopita
- Vipokeaji zaidi vya infrared ambavyo vinaweza kushikamana na vazi la wachezaji
- Njia za ziada za mchezo ambazo zinaweza kuchaguliwa katika GUI ya wahusika
- Algorithm sahihi zaidi ya eneo la lebo kwenye ukurasa wa takwimu za wachezaji
Ilipendekeza:
Tengeneza Lebo yako ya Umeme yenye Umeme: Hatua 8 (na Picha)

Tengeneza Longboard yako mwenyewe yenye Umeme wa Umeme: Katika mradi huu nitakuonyesha jinsi ya kujenga bodi ya umeme yenye mwendo wa umeme kutoka mwanzoni. Inaweza kufikia kasi hadi 34km / h na kusafiri hadi 20km na malipo moja. Gharama zinazokadiriwa ni karibu $ 300 ambayo inafanya kuwa mbadala mzuri kwa biashara
Thermometer ya infrared ya Laser ya Arduino: Hatua 7 (na Picha)

Thermometer ya infrared ya Laser ya Arduino: Katika mradi huu nitakuonyesha jinsi ya kujenga kipimajoto cha infrared cha laser ya dijiti na faragha iliyochapishwa ya 3D
Pi ya Lebo: Hatua 5 (na Picha)

Ledboard Pi: Screen ya Ledboard Pi ni matokeo ya miaka ya uzoefu, ujifunzaji, na maendeleo; lakini pia, matokeo ya kuwa na zana sahihi (vifaa, programu, firmware) katika wakati huu wa kulia: Raspberry Pi 4 (na Raspberry Pi 3 inafanya kazi pia) na kasi yake, m
Jinsi ya Kuunda Lebo refu ya Umeme na Udhibiti wa Simu: Hatua 6 (na Picha)

Jinsi ya Kuunda Lebo refu ya Umeme na Udhibiti wa Simu: Lebo refu za umeme ni mbaya! JOTO LA JARIBU KWENYE VIDEO JUU YA KUJENGA BODI YA UMEME INAYODHIBITIWA KUTOKA KWA SIMU NA BLUETOOTH kasi zaidi nje ya bo
D4E1: Usaidizi wa Lebo (Etikettenplakhulp2018): Hatua 6 (na Picha)

D4E1: Msaada wa Lebo (Etikettenplakhulp2018): Maelezo: Ushirikiano kati ya wanafunzi Ubunifu wa bidhaa za Viwanda na wanafunzi Tiba ya Kazini ilisababisha hii " Lebo ya Msaada " mradi. Tulifanya zana ya kusaidia lebo za kubandika Bernard kwenye mitungi ya jam na chupa za sirup. Ukubwa wote unahitaji di kidogo