Daftar Isi:

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, Juli
Anonim
Tag Laser Inframerah Dengan Raspberry Pi Zero
Tag Laser Inframerah Dengan Raspberry Pi Zero

Instruksi ini akan memandu proses pembuatan game Tag Laser Inframerah menggunakan komputer server dasar dan nol Raspberry Pi untuk setiap pemain. Proyek ini sangat bergantung pada koneksi Wifi untuk berkomunikasi dengan server yang menjadikan Pi kandidat yang bagus.

Server yang digunakan dalam proyek ini adalah komputer desktop lama dengan Linux. Komputer tidak perlu menjadi sesuatu yang istimewa, dan bahkan mungkin dapat dijalankan dari Raspberry Pi 3. Server dan masing-masing pi zero harus terhubung ke jaringan yang sama selama bermain game.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan

Deskripsi dan beberapa tautan untuk bahan-bahan yang dibutuhkan ditunjukkan di bawah ini. Daftar bahan di bawah ini adalah untuk 3 senjata.

  • Komputer Server (1)
  • Raspberry Pi Zero W (3) Adafruit
  • Setidaknya Kartu SD 4GB (3) Amazon
  • Pemancar LED IR (3)
  • Penerima IR (6) Amazon
  • LED merah (3)
  • LED Biru (3)
  • LED hijau (3)
  • Buzzer Pasif (3) Amazon
  • Tombol Tekan (6)
  • Layar LCD 16x2 dengan Adaptor I2C (3) Amazon
  • Paket Baterai Portabel (3) Amazon
  • Kabel USB Mikro ke Biasa (3) Amazon
  • Transistor PN2222 (3)
  • 100Ω Resistor (3)
  • 1kΩ Resistor (9)

Item opsional:

  • Rompi (3) Amazon
  • Ekstensi Kabel Pita (3) Amazon

Dalam proyek ini, kami akhirnya mengambil Pemancar LED IR dari satu set senjata laser tag lama yang memiliki kerucut hitam di sekitar pemancar untuk membantu mempersempit bidikan setiap senjata. Namun, setiap pemancar umum harus bekerja.

Selain item yang tercantum di atas, senjata laser itu sendiri dicetak 3D. Oleh karena itu, proyek ini juga memerlukan akses ke printer dan filamen 3D. Secara keseluruhan, untuk tiga senjata totalnya mencapai sekitar $350.

Langkah 2: Pengaturan Server

Pengaturan Server
Pengaturan Server
Pengaturan Server
Pengaturan Server
Pengaturan Server
Pengaturan Server

Hal pertama yang diperlukan untuk mengatur server adalah menginstal Layanan Broker MQTT Mosquitto. Mosquitto adalah layanan yang menyediakan kerangka kerja untuk komunikasi antara masing-masing perangkat dalam game. Ini memungkinkan server untuk mengirim pesan ke setiap Pis yang terhubung ke layanan. Di terminal, jalankan perintah berikut.

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

Beberapa GUI untuk server dibuat menggunakan desainer GUI bernama Pygubu. Ini dapat diinstal dengan menjalankan:

pip3 instal pygubu

Informasi lebih lanjut tentang pygubu dapat ditemukan di

Setelah MQTT dan Pygubu diinstal, buat direktori baru dan salin file terlampir. Direktori harus mencakup:

  • 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 proyek ini tidak dibuat oleh tim pengembangan dan oleh karena itu tidak mengklaim kepengarangan.

Langkah 3: Pengaturan Raspberry Pi

Pengaturan Raspberry Pi
Pengaturan Raspberry Pi

Langkah ini perlu diulang pada setiap Raspberry Pis.

1. Instal Sistem Operasi

Pertama, mulailah dengan instalasi baru Raspbian. Kami akan merekomendasikan menggunakan versi Lite karena lebih sedikit untuk ditangani oleh Pi, tetapi versi mana pun akan berfungsi dengan baik. Unduhan dapat ditemukan di

2. Instal MQTT

Selanjutnya kita perlu menginstal layanan broker MQTT. Kami akan menggunakan Mosquitto untuk ini. Di terminal, jalankan perintah berikut.

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 adalah layanan yang menyediakan kerangka kerja untuk komunikasi antara masing-masing perangkat dalam game. Ini memungkinkan server untuk mengirim pesan ke setiap Pis yang terhubung ke layanan.

3. Instal Alat I2C

Perintah berikut akan menginstal perpustakaan yang digunakan untuk layar LCD.

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

sudo apt-get install rpi.gpio -y

Alamat i2c mungkin perlu diubah di file lcddriver.py. Alamat dapat ditemukan dengan memasukkan perintah berikut.

i2cdetect -y 1

4. Instal dan konfigurasikan LIRC

Buat direktori baru dan unduh file terlampir ke lokasi ini.

Sebagian besar browser Internet tidak akan mengunduh file tanpa ekstensi. Untuk menyiasatinya, dua file diunggah dengan ekstensi sementara. Baik "lircrc.deleteExtension" dan "modules.deleteExtension" sebenarnya harus tanpa ekstensi dan file harus diganti namanya menjadi "lircrc" dan "modul" setelah berhasil diunduh.

Langkah ini menginstal dan mengonfigurasi dependensi untuk paket Linux Infrared Remote Control (LIRC). Untuk informasi lebih lanjut lihat tutorial untuk mengatur LIRC di:

Pertama-tama instal perpustakaan, lalu salin file yang disertakan ke direktori masing-masing seperti yang ditunjukkan pada perintah di bawah ini. Terakhir, restart layanan lircd.

sudo apt-get install python3-lirc -y

Dari direktori yang baru dibuat, jalankan perintah berikut untuk memindahkan file konfigurasi ke lokasi yang benar.

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

sudo mv modul /etc/

Kemudian restart layanan lircd dengan menjalankan:

sudo /etc/init.d/lircd restart

Selanjutnya, edit file /boot/config.txt dan tambahkan baris berikut:

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

Nyalakan ulang pi Anda untuk memungkinkan perubahan diterapkan.

sudo reboot

5. Aktifkan I2C dan edit KLIEN untuk setiap pemain

Selanjutnya, kita akan mengaktifkan antarmuka I2C. Ini dapat dilakukan dengan menggunakan

sudo raspi-config

dan mengaktifkan I2C di menu "opsi antarmuka".

6. Edit KLIEN Pemain dan LTSERVER

Direktori game sekarang harus menyertakan empat file yang tersisa.

  • i2c_lib.py
  • lcddriver.py
  • ltsounds.py
  • player.py

Langkah terakhir dalam mengonfigurasi pi adalah menetapkan setiap pi nomor KLIEN dan menambahkan lokasi server. Ini dilakukan dengan mengedit file "player.py" yang disertakan untuk setiap pi sehingga semuanya memiliki nomor KLIEN yang berbeda. Nomor KLIEN ditetapkan pada baris 3 dari player.py. Tetapkan pi pertama sebagai klien "1", yang kedua menjadi "2", dan yang ketiga menjadi klien "3".

Baris LTSERVER harus diubah ke alamat IP server. Ini ditemukan dengan mengetik 'ifconfig | grep "inet addr" ' di terminal komputer server.

Langkah 4: Perakitan Senjata

Perakitan Senjata
Perakitan Senjata
Perakitan Senjata
Perakitan Senjata

Lanjutkan untuk menghubungkan masing-masing senjata sesuai dengan diagram pengkabelan dan skema di atas.

Masing-masing periferal terhubung ke pin GPIO berikut di Pi Zero:

  • Buzzer: GPIO5
  • Pemicu: GPIO26
  • Muat ulang: 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 lebih jelasnya.

Jika diinginkan, senjata laser dapat dicetak 3D menggunakan file model langkah yang disertakan. Ingatlah bahwa dua file "front1STL. STL" harus dicetak.

Langkah 5: Mainkan Game

bermain game
bermain game
bermain game
bermain game
bermain game
bermain game

Permainan dimulai dengan menjalankan file "ltag.py" di server. Setelah ini selesai, masing-masing pemain dapat terhubung ke server dengan menjalankan file "player.py" masing-masing.

Catatan: Setelah mencolokkan unit baterai, diperlukan waktu hingga satu menit agar pi melakukan booting.

Mungkin juga berguna untuk menambahkan tugas cron yang secara otomatis menjalankan file player.py setelah pi dimulai. Kami mengalami kesulitan untuk menjalankannya dan akhirnya menambahkan baris ke file "/etc/rc.local" di setiap Pis untuk menjalankan file "player.py". Ini memungkinkan game dimulai tanpa harus SSH ke Pi untuk menjalankan skrip pemain.

Setelah permainan dimulai dengan pemain siap, GUI akan muncul yang memungkinkan beberapa pengaturan permainan untuk dikonfigurasi. Permainan dimulai setelah tombol Start ditekan.

Setelah setiap game, GUI penutup akan muncul dengan statistik tentang game sebelumnya termasuk tag, persentase global, dan durasi game.

Catatan: Karena keterbatasan dalam pustaka perangkat lunak, lokasi tag laporan akurasi tidak mewakili tag laser yang sebenarnya. Dalam versi saat ini, gambar Laporan Akurasi Pemain murni untuk estetika dengan harapan versi mendatang dengan penerapan lokasi tag yang sebenarnya.

Langkah 6: Perbaikan di Masa Depan

Perbaikan masa depan
Perbaikan masa depan
Perbaikan masa depan
Perbaikan masa depan

Secara keseluruhan, proyek ini sukses besar. Sepanjang jalan, kami memikirkan beberapa fitur tambahan yang mungkin ditambahkan ke edisi mendatang.

  • Desain pemicu yang lebih kokoh untuk senjata cetak 3D
  • Menu drop-down GUI akhir untuk menampilkan statistik dari game sebelumnya
  • Lebih banyak penerima Inframerah yang dapat dipasang pada rompi pemain
  • Mode permainan tambahan yang dapat dipilih di GUI Pregame
  • Algoritme lokasi tag yang lebih akurat di halaman statistik pemain

Direkomendasikan: