Orodha ya maudhui:

Lebo ya Laser ya infrared na Raspberry Pi Zero: Hatua 6 (na Picha)
Lebo ya Laser ya infrared na Raspberry Pi Zero: Hatua 6 (na Picha)

Video: Lebo ya Laser ya infrared na Raspberry Pi Zero: Hatua 6 (na Picha)

Video: Lebo ya Laser ya infrared na Raspberry Pi Zero: Hatua 6 (na Picha)
Video: Шок!!! ДУШИ МЕРТВЕЦОВ В ЗАТОЧЕНИИ У ДЕМОНА В ЭТОМ СТРАШНОМ ДОМЕ / HERE ARE THE SOULS OF THE DEAD 2024, Julai
Anonim
Lebo ya Laser ya infrared na Raspberry Pi Zero
Lebo ya Laser ya infrared na Raspberry Pi Zero

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

Vifaa
Vifaa
Vifaa
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

Usanidi wa Seva
Usanidi wa Seva
Usanidi wa Seva
Usanidi wa Seva
Usanidi wa Seva
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

Usanidi wa Pi Raspberry
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

Mkutano wa Bunduki
Mkutano wa Bunduki
Mkutano wa Bunduki
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 Kucheza
Mchezo Kucheza
Mchezo Kucheza
Mchezo Kucheza
Mchezo Kucheza
Mchezo 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

Maboresho ya Baadaye
Maboresho ya Baadaye
Maboresho ya Baadaye
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: