Mục lục:

Thẻ laser hồng ngoại với Raspberry Pi Zero: 6 bước (có hình ảnh)
Thẻ laser hồng ngoại với Raspberry Pi Zero: 6 bước (có hình ảnh)

Video: Thẻ laser hồng ngoại với Raspberry Pi Zero: 6 bước (có hình ảnh)

Video: Thẻ laser hồng ngoại với Raspberry Pi Zero: 6 bước (có hình ảnh)
Video: Raspberry Pi Camera Module 3 - Giới thiệu và Hướng dẫn sử dụng 2024, Tháng bảy
Anonim
Thẻ laser hồng ngoại với Raspberry Pi Zero
Thẻ laser hồng ngoại với Raspberry Pi Zero

Có thể hướng dẫn này sẽ hướng dẫn chi tiết quy trình tạo trò chơi Thẻ laser hồng ngoại sử dụng máy chủ cơ sở và Raspberry Pi số 0 cho mỗi người chơi. Dự án chủ yếu dựa vào kết nối Wifi để giao tiếp với máy chủ, điều này khiến Pi trở thành một ứng cử viên sáng giá.

Máy chủ được sử dụng trong dự án này là một máy tính để bàn cũ chạy hệ điều hành Linux. Máy tính không cần phải có gì đặc biệt và thậm chí có thể được chạy từ Raspberry Pi 3. Máy chủ và mỗi số pi phải được kết nối với cùng một mạng trong khi chơi trò chơi.

Bước 1: Vật liệu

Vật liệu
Vật liệu
Vật liệu
Vật liệu

Mô tả và một số liên kết cho các tài liệu cần thiết được hiển thị bên dưới. Danh sách vật liệu dưới đây dành cho 3 khẩu súng.

  • Máy chủ (1)
  • Quả mâm xôi Pi Zero W (3)
  • Thẻ SD ít nhất 4GB (3) Amazon
  • Bộ phát hồng ngoại LED (3)
  • Bộ thu IR (6) Amazon
  • Đèn LED đỏ (3)
  • Đèn LED xanh lam (3)
  • Đèn LED xanh (3)
  • Bộ rung thụ động (3) Amazon
  • Nút ấn (6)
  • Màn hình LCD 16x2 với Bộ điều hợp I2C (3) Amazon
  • Bộ pin di động (3) Amazon
  • Cáp Micro to USB thông thường (3) Amazon
  • Bóng bán dẫn PN2222 (3)
  • Điện trở 100Ω (3)
  • Điện trở 1kΩ (9)

Các mặt hàng tùy chọn:

  • Vest (3) Amazon
  • Phần mở rộng cáp ruy-băng (3) Amazon

Trong dự án này, chúng tôi đã kết thúc việc lấy Bộ phát đèn LED hồng ngoại từ một bộ súng laser cũ có hình nón màu đen xung quanh bộ phát để giúp thu hẹp tầm bắn của mỗi khẩu súng. Tuy nhiên, bất kỳ máy phát chung nào cũng nên hoạt động.

Ngoài những thứ được liệt kê ở trên, bản thân những khẩu súng laser cũng được in 3D. Do đó, dự án này cũng sẽ yêu cầu quyền truy cập vào máy in 3D và dây tóc. Nhìn chung, tổng cộng cho ba khẩu súng lên tới khoảng 350 đô la.

Bước 2: Thiết lập máy chủ

Thiết lập máy chủ
Thiết lập máy chủ
Thiết lập máy chủ
Thiết lập máy chủ
Thiết lập máy chủ
Thiết lập máy chủ

Điều đầu tiên cần thiết để thiết lập máy chủ là cài đặt Dịch vụ môi giới Mosquitto MQTT. Mosquitto là dịch vụ cung cấp khuôn khổ giao tiếp giữa từng thiết bị trong trò chơi. Điều này cho phép máy chủ gửi tin nhắn đến từng chú Pis được kết nối với dịch vụ. Trong thiết bị đầu cuối, hãy chạy các lệnh sau.

sudo apt-get cập nhật

sudo apt-get nâng cấp sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt

Một số GUI cho máy chủ được tạo bằng cách sử dụng một nhà thiết kế GUI có tên là Pygubu. Điều này có thể được cài đặt bằng cách chạy:

pip3 cài đặt pygubu

Thông tin thêm về pygubu có thể được tìm thấy tại

Sau khi MQTT và Pygubu được cài đặt, hãy tạo một thư mục mới và sao chép các tệp đính kèm. Thư mục nên bao gồm:

  • ltag.py
  • pregame.py
  • game_st Statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • home.png
  • self.png
  • kẻ thù.png
  • laser.jpg

Lưu ý: Các hình ảnh đính kèm được sử dụng trong dự án này không phải do nhóm phát triển tạo ra và do đó không yêu cầu quyền tác giả.

Bước 3: Thiết lập Raspberry Pi

Thiết lập Raspberry Pi
Thiết lập Raspberry Pi

Bước này sẽ cần được lặp lại trên mỗi Raspberry Pis.

1. Cài đặt hệ điều hành

Đầu tiên, hãy bắt đầu với một bản cài đặt Raspbian mới. Chúng tôi khuyên bạn nên sử dụng phiên bản Lite vì Pi ít xử lý hơn, nhưng cả hai phiên bản đều hoạt động tốt. Tải xuống có thể được tìm thấy tại

2. Cài đặt MQTT

Tiếp theo, chúng ta cần Cài đặt dịch vụ môi giới MQTT. Chúng tôi sẽ sử dụng Mosquitto cho việc này. Trong thiết bị đầu cuối, hãy chạy các lệnh sau.

sudo apt-get cập nhật

sudo apt-get nâng cấp sudo apt-get install mosquitto -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt

Mosquitto là dịch vụ cung cấp khuôn khổ giao tiếp giữa từng thiết bị trong trò chơi. Điều này cho phép máy chủ gửi tin nhắn đến từng chú Pis được kết nối với dịch vụ.

3. Cài đặt Công cụ I2C

Lệnh sau sẽ cài đặt các thư viện được sử dụng cho màn hình LCD.

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

sudo apt-get install rpi.gpio -y

Địa chỉ i2c có thể cần được thay đổi trong tệp lcddriver.py. Địa chỉ có thể được tìm thấy bằng cách nhập lệnh sau.

i2cdetect -y 1

4. Cài đặt và cấu hình LIRC

Tạo một thư mục mới và tải xuống các tệp đính kèm vào vị trí này.

Hầu hết các trình duyệt Internet sẽ không tải xuống các tệp không có phần mở rộng. Để giải quyết vấn đề này, hai trong số các tệp đã được tải lên với phần mở rộng tạm thời. Trên thực tế, cả "lircrc.deleteExtension" và "modules.deleteExtension" phải không có phần mở rộng và các tệp phải được đổi tên thành "lircrc" và "module" sau khi chúng được tải xuống thành công.

Bước này cài đặt và định cấu hình các phần phụ thuộc cho gói Điều khiển Từ xa Hồng ngoại Linux (LIRC). Để biết thêm thông tin, hãy xem hướng dẫn thiết lập LIRC tại:

Đầu tiên hãy cài đặt thư viện, sau đó sao chép các tệp được bao gồm vào thư mục tương ứng của chúng như được hiển thị trong các lệnh bên dưới. Cuối cùng, khởi động lại dịch vụ lircd.

sudo apt-get install python3-lirc -y

Từ thư mục mới tạo, thực hiện các lệnh sau để di chuyển các tệp cấu hình đến đúng vị trí của chúng.

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

sudo mv modules / etc /

Sau đó khởi động lại dịch vụ lircd bằng cách chạy:

khởi động lại sudo /etc/init.d/lircd

Tiếp theo, chỉnh sửa tệp /boot/config.txt và thêm dòng sau

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

Khởi động lại pi của bạn để cho phép các thay đổi có hiệu lực.

khởi động lại sudo

5. Bật I2C và chỉnh sửa CLIENT cho từng người chơi

Tiếp theo, chúng ta sẽ kích hoạt giao diện I2C. Điều này có thể được thực hiện bằng cách sử dụng

sudo raspi-config

và bật I2C trong menu "tùy chọn giao diện".

6. Chỉnh sửa CLIENT và LTSERVER của người chơi

Thư mục trò chơi bây giờ sẽ bao gồm bốn tệp còn lại.

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

Bước cuối cùng trong việc định cấu hình số pi là gán cho mỗi số pi một số CLIENT và thêm vị trí của máy chủ. Điều này được thực hiện bằng cách chỉnh sửa tệp "player.py" được bao gồm cho mỗi số pi để tất cả chúng đều có một số CLIENT khác nhau. Số CLIENT được chỉ định trên dòng 3 của player.py. Gán số pi đầu tiên là khách hàng "1", số thứ hai là "2" và số thứ ba là khách hàng "3".

Dòng LTSERVER nên được thay đổi thành địa chỉ IP của máy chủ. Điều này được tìm thấy bằng cách gõ 'ifconfig | grep "inet addr" 'trong thiết bị đầu cuối của máy tính chủ.

Bước 4: Lắp ráp súng

Lắp ráp súng
Lắp ráp súng
Lắp ráp súng
Lắp ráp súng

Tiến hành đấu dây từng khẩu theo sơ đồ đấu dây và sơ đồ trên.

Mỗi thiết bị ngoại vi được kết nối với các chân GPIO sau trên Pi Zero:

  • Bộ rung: GPIO5
  • Kích hoạt: GPIO26
  • Tải lại: GPIO12
  • Máy phát hồng ngoại: GPIO25
  • Bộ thu IR: GPIO18
  • ĐÈN LED: GPIO17
  • ĐÈN LED XANH: GPIO27
  • LED XANH: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

Xem sơ đồ để biết thêm chi tiết.

Nếu muốn, súng laser có thể được in 3D bằng cách sử dụng các tệp mô hình bước đi kèm. Hãy nhớ rằng hai trong số các tệp "front1STL. STL" phải được in.

Bước 5: Chơi trò chơi

Chơi trò chơi
Chơi trò chơi
Chơi trò chơi
Chơi trò chơi
Chơi trò chơi
Chơi trò chơi

Trò chơi được bắt đầu bằng cách chạy tệp "ltag.py" trên máy chủ. Sau khi hoàn tất việc này, mỗi người chơi có thể kết nối với máy chủ bằng cách chạy tệp "player.py" tương ứng của họ.

Lưu ý: Sau khi cắm bộ pin, có thể mất đến một phút để pi khởi động.

Nó cũng có thể hữu ích khi thêm một công việc cron tự động chạy tệp player.py khi pi bắt đầu. Chúng tôi đã gặp khó khăn trong việc giải quyết vấn đề này và cuối cùng đã thêm một dòng vào tệp "/etc/rc.local" trên mỗi Pis để chạy tệp "player.py". Điều này cho phép trò chơi được bắt đầu mà không cần phải SSH vào Pi's để chạy tập lệnh trình phát.

Khi trò chơi đã được bắt đầu với người chơi đã sẵn sàng, một GUI sẽ xuất hiện cho phép cấu hình một số cài đặt trò chơi. Trò chơi bắt đầu sau khi nút Bắt đầu được nhấn.

Sau mỗi trò chơi, GUI kết thúc sẽ xuất hiện với thống kê về trò chơi trước đó bao gồm các thẻ, tỷ lệ phần trăm toàn cầu và thời lượng trò chơi.

Lưu ý: Do hạn chế trong thư viện phần mềm, vị trí thẻ báo cáo độ chính xác không đại diện cho thẻ laser thực tế. Trong phiên bản hiện tại, hình ảnh Báo cáo độ chính xác của người chơi hoàn toàn mang tính thẩm mỹ với hy vọng về một phiên bản trong tương lai với việc triển khai vị trí thẻ thực tế.

Bước 6: Cải tiến trong tương lai

Cải tiến trong tương lai
Cải tiến trong tương lai
Cải tiến trong tương lai
Cải tiến trong tương lai

Nhìn chung, dự án đã thành công lớn. Trong quá trình thực hiện, chúng tôi đã nghĩ đến một số tính năng bổ sung có thể được thêm vào một phiên bản trong tương lai.

  • Thiết kế cò súng chắc chắn hơn cho súng in 3D
  • Menu thả xuống GUI kết thúc để hiển thị số liệu thống kê từ các trò chơi trước đây
  • Nhiều bộ thu hồng ngoại hơn có thể được gắn vào áo khoác của các cầu thủ
  • Các chế độ chơi bổ sung có thể được chọn trong GUI Pregame
  • Thuật toán vị trí thẻ chính xác hơn trên trang thống kê người chơi

Đề xuất: