Isi kandungan:

Tag Laser Inframerah Dengan Raspberry Pi Zero: 6 Langkah (dengan Gambar)
Tag Laser Inframerah Dengan Raspberry Pi Zero: 6 Langkah (dengan Gambar)

Video: Tag Laser Inframerah Dengan Raspberry Pi Zero: 6 Langkah (dengan Gambar)

Video: Tag Laser Inframerah Dengan Raspberry Pi Zero: 6 Langkah (dengan Gambar)
Video: DIY Raspberry Pi Spectrometer NEW SOFTWARE! 2024, Julai
Anonim
Tag Laser Inframerah Dengan Raspberry Pi Zero
Tag Laser Inframerah Dengan Raspberry Pi Zero

Instructable ini akan melalui proses untuk membuat permainan Laser Tag Inframerah menggunakan komputer pelayan asas dan Raspberry Pi sifar untuk setiap pemain. Projek ini sangat bergantung pada sambungan Wifi untuk berkomunikasi dengan pelayan yang menjadikan Pi sebagai calon yang hebat.

Pelayan yang digunakan dalam projek ini adalah komputer desktop lama dengan Linux. Komputer tidak perlu menjadi sesuatu yang istimewa, malah mungkin boleh dijalankan dari Raspberry Pi 3. Pelayan dan setiap pi sifar mesti disambungkan ke rangkaian yang sama semasa bermain permainan.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan

Penerangan dan beberapa pautan untuk bahan yang diperlukan ditunjukkan di bawah. Senarai bahan di bawah adalah untuk 3 senjata.

  • Komputer Pelayan (1)
  • Raspberry Pi Zero W (3) Adafruit
  • Sekurang-kurangnya 4GB SD Card (3) Amazon
  • Pemancar LED IR (3)
  • Penerima IR (6) Amazon
  • LED Merah (3)
  • LED Biru (3)
  • LED Hijau (3)
  • Buzzer Pasif (3) Amazon
  • Butang Tekan (6)
  • Skrin LCD 16x2 dengan Adaptor I2C (3) Amazon
  • Pek Bateri Mudah Alih (3) Amazon
  • Kabel USB Mikro ke Biasa (3) Amazon
  • Transistor PN2222 (3)
  • Perintang 100Ω (3)
  • Perintang 1kΩ (9)

Item pilihan:

  • Rompi (3) Amazon
  • Sambungan Kabel Riben (3) Amazon

Dalam projek ini, kami akhirnya mengambil IR LED Transmitter dari sekumpulan lama label laser yang mempunyai kerucut hitam di sekitar pemancar untuk membantu merapatkan tembakan setiap senapang. Walau bagaimanapun, mana-mana pemancar am mesti berfungsi.

Sebagai tambahan kepada item yang dinyatakan di atas, senapang laser itu sendiri dicetak 3D. Oleh itu, projek ini juga memerlukan akses ke pencetak dan filamen 3D. Secara keseluruhan, untuk tiga senapang jumlahnya mencapai sekitar $ 350.

Langkah 2: Persediaan Pelayan

Persediaan Pelayan
Persediaan Pelayan
Persediaan Pelayan
Persediaan Pelayan
Persediaan Pelayan
Persediaan Pelayan

Perkara pertama yang diperlukan untuk menyediakan pelayan ialah memasang Perkhidmatan Broker Mosquitto MQTT. Mosquitto adalah perkhidmatan yang menyediakan kerangka untuk komunikasi antara setiap peranti dalam permainan. Ini membolehkan pelayan menghantar mesej ke setiap Pis yang disambungkan ke perkhidmatan. Di terminal, jalankan arahan berikut.

sudo apt-get kemas kini

sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt

Sebilangan GUI untuk pelayan dibuat menggunakan pereka GUI bernama Pygubu. Ini boleh dipasang dengan menjalankan:

pip3 memasang pygubu

Maklumat lebih lanjut mengenai pygubu boleh didapati di

Setelah MQTT dan Pygubu dipasang, buat direktori baru dan salin fail yang dilampirkan. Direktori harus merangkumi:

  • ltag.py
  • pregame.py
  • game_statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • rumah.png
  • diri.png
  • musuh.png
  • laser.jpg

Catatan: Gambar terlampir yang digunakan dalam projek ini tidak dibuat oleh pasukan pembangunan dan oleh itu tidak menuntut kepengarangan.

Langkah 3: Persediaan Raspberry Pi

Persediaan Raspberry Pi
Persediaan Raspberry Pi

Langkah ini perlu diulang pada setiap Raspberry Pis.

1. Pasang Sistem Operasi

Pertama, mulakan dengan pemasangan Raspbian yang baru. Kami mengesyorkan menggunakan versi Lite kerana Pi tidak dapat dikendalikan, tetapi kedua-dua versi harus berfungsi dengan baik. Muat turun boleh didapati di

2. Pasang MQTT

Seterusnya kita perlu Memasang perkhidmatan broker MQTT. Kami akan menggunakan Mosquitto untuk ini. Di terminal, jalankan arahan berikut.

sudo apt-get kemas kini

sudo apt-get upgrade sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt

Mosquitto adalah perkhidmatan yang menyediakan kerangka untuk komunikasi antara setiap peranti dalam permainan. Ini membolehkan pelayan menghantar mesej ke setiap Pis yang disambungkan ke perkhidmatan.

3. Pasang Alat I2C

Perintah berikut akan memasang perpustakaan yang digunakan untuk skrin LCD.

sudo apt-get install -y python3-smbus i2c-tools

sudo apt-get install rpi.gpio -y

Alamat i2c mungkin perlu diubah dalam fail lcddriver.py. Alamatnya boleh didapati dengan memasukkan perintah berikut.

i2cdetect -y 1

4. Pasang dan konfigurasikan LIRC

Buat direktori baru dan muat turun fail yang dilampirkan ke lokasi ini.

Sebilangan besar penyemak imbas Internet tidak akan memuat turun fail tanpa sambungan. Untuk menyelesaikannya, dua fail telah dimuat naik dengan sambungan sementara. Kedua-dua "lircrc.deleteExtension" dan "modules.deleteExtension" sebenarnya tidak boleh dilanjutkan dan fail-fail tersebut harus diganti namanya menjadi "lircrc" dan "modul" setelah berjaya dimuat turun.

Langkah ini memasang dan mengkonfigurasi kebergantungan untuk pakej Linux Remote Infrared Remote Control (LIRC). Untuk maklumat lebih lanjut, lihat tutorial untuk menyiapkan LIRC di:

Pasang dahulu perpustakaan, kemudian salin fail yang disertakan ke direktori masing-masing seperti yang ditunjukkan dalam arahan di bawah. Akhirnya, mulakan semula perkhidmatan lircd.

sudo apt-get install python3-lirc -y

Dari direktori yang baru dibuat, jalankan arahan berikut untuk memindahkan fail konfigurasi ke lokasi yang betul.

sudo mv lircd.conf hardware.conf lircrc lirc_options.conf / etc / lirc /

modul sudo mv / etc /

Kemudian mulakan semula perkhidmatan lircd dengan menjalankan:

sudo /etc/init.d/lircd mulakan semula

Seterusnya, edit fail /boot/config.txt dan tambahkan baris berikut

dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25

Nyalakan semula pi anda untuk membolehkan perubahan tersebut berlaku.

rebo sudo

5. Aktifkan I2C dan edit KLIEN untuk setiap pemain

Seterusnya, kami akan mengaktifkan antara muka I2C. Ini boleh dilakukan dengan menggunakan

sudo raspi-config

dan mengaktifkan I2C dalam menu "pilihan antara muka".

6. Edit KLIEN Pemain dan LTSERVER

Direktori permainan sekarang harus merangkumi empat fail yang tinggal.

  • i2c_lib.py
  • lcddriver.py
  • ltsounds.py
  • pemain.py

Langkah terakhir dalam mengkonfigurasi pi adalah memberikan setiap pi nombor CLIENT dan menambahkan lokasi pelayan. Ini dilakukan dengan mengedit fail "player.py" yang disertakan untuk setiap pi sehingga mereka semua mempunyai nombor KLIEN yang berbeza. Nombor KLIEN diberikan pada baris 3 pemain.py. Tugaskan pi pertama menjadi pelanggan "1", yang kedua menjadi pelanggan "3".

Garis LTSERVER harus diubah ke alamat IP pelayan. Ini dijumpai dengan menaip 'ifconfig | grep "inet addr" 'di terminal komputer pelayan.

Langkah 4: Pemasangan Gun

Pemasangan Gun
Pemasangan Gun
Pemasangan Gun
Pemasangan Gun

Teruskan memasangkan setiap senapang mengikut gambarajah pendawaian dan skema di atas.

Setiap periferal disambungkan ke pin GPIO berikut pada Pi Zero:

  • Buzzer: GPIO5
  • Pencetus: GPIO26
  • Muat semula: GPIO12
  • Pemancar IR: GPIO25
  • Penerima IR: GPIO18
  • LED MERAH: GPIO17
  • LED HIJAU: GPIO27
  • LED BIRU: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

Lihat skema untuk maklumat lebih lanjut.

Sekiranya dikehendaki, senapang laser boleh dicetak 3D menggunakan fail model langkah yang disertakan. Perlu diingat bahawa dua fail "front1STL. STL" mesti dicetak.

Langkah 5: Main Permainan

Main Permainan
Main Permainan
Main Permainan
Main Permainan
Main Permainan
Main Permainan

Permainan dimulakan dengan menjalankan fail "ltag.py" di pelayan. Setelah ini selesai, setiap pemain dapat menyambung ke pelayan dengan menjalankan fail "player.py" masing-masing.

Catatan: Setelah memasang pek bateri, butuh waktu sehingga satu minit untuk booting.

Ia juga berguna untuk menambahkan tugas cron yang menjalankan fail player.py secara automatik sebaik sahaja pi bermula. Kami mengalami kesukaran untuk membuat ini berfungsi dan akhirnya menambahkan baris ke fail "/etc/rc.local" pada setiap Pis untuk menjalankan fail "player.py". Ini membolehkan permainan dimulakan tanpa harus memasukkan SSH ke dalam Pi untuk menjalankan skrip pemain.

Setelah permainan dimulakan dengan pemain siap, GUI akan muncul yang memungkinkan beberapa pengaturan permainan dikonfigurasi. Permainan dimulakan setelah butang Mula ditekan.

Setelah setiap permainan, GUI yang berakhir akan muncul dengan statistik mengenai permainan sebelumnya termasuk tag, peratusan global dan durasi permainan.

Catatan: Kerana keterbatasan dalam perpustakaan perisian, lokasi tag laporan ketepatan tidak mewakili tag laser sebenar. Dalam versi semasa, gambar Laporan Ketepatan Pemain adalah semata-mata untuk estetika dengan harapan versi yang akan datang dengan pelaksanaan lokasi tag sebenarnya.

Langkah 6: Penambahbaikan Masa Depan

Penambahbaikan Masa Depan
Penambahbaikan Masa Depan
Penambahbaikan Masa Depan
Penambahbaikan Masa Depan

Secara keseluruhan, projek ini berjaya. Sepanjang perjalanan, kami memikirkan beberapa ciri tambahan yang mungkin akan ditambahkan pada edisi akan datang.

  • Reka bentuk pencetus yang kuat untuk senjata dicetak 3D
  • Menamatkan menu drop-down GUI untuk memaparkan statistik dari permainan masa lalu
  • Lebih banyak penerima inframerah yang boleh dipasang pada rompi pemain
  • Mod permainan tambahan yang boleh dipilih dalam GUI Pregame
  • Algoritma lokasi teg yang lebih tepat di halaman statistik pemain

Disyorkan: