Агуулгын хүснэгт:

Raspberry Pi Zero бүхий хэт улаан туяаны лазер хаяг: 6 алхам (зурагтай)
Raspberry Pi Zero бүхий хэт улаан туяаны лазер хаяг: 6 алхам (зурагтай)

Видео: Raspberry Pi Zero бүхий хэт улаан туяаны лазер хаяг: 6 алхам (зурагтай)

Видео: Raspberry Pi Zero бүхий хэт улаан туяаны лазер хаяг: 6 алхам (зурагтай)
Видео: Бесконтактный датчик температуры дальнего действия MLX90614-DCI с Arduino 2024, Арваннэгдүгээр
Anonim
Raspberry Pi Zero бүхий хэт улаан туяаны лазер шошго
Raspberry Pi Zero бүхий хэт улаан туяаны лазер шошго

Энэхүү зааварчилгаа нь үндсэн серверийн компьютер болон тоглогч бүрийн хувьд Raspberry Pi тэг ашиглан хэт улаан туяаны лазер шошго тоглоомыг бий болгох үйл явцыг дамжуулах болно. Төсөл нь Wifi холболтоос ихээхэн хамаардаг бөгөөд сервертэй харилцдаг бөгөөд энэ нь Pi -г маш сайн нэр дэвшигч болгодог.

Энэхүү төсөлд ашигласан сервер нь Линукс бүхий хуучин ширээний компьютер байв. Компьютер ямар нэгэн онцгой зүйл байх шаардлагагүй бөгөөд үүнийг Raspberry Pi 3 -аас ажиллуулж болох юм. Тоглоом тоглох явцад сервер болон pi тэг тус бүр нэг сүлжээнд холбогдсон байх ёстой.

Алхам 1: Материал

Материал
Материал
Материал
Материал

Шаардлагатай материалын тайлбар, зарим холбоосыг доор харуулав. Доорх материалын жагсаалт нь 3 буу юм.

  • Сервер компьютер (1)
  • Raspberry Pi Zero W (3) Adafruit
  • Хамгийн багадаа 4GB хэмжээтэй SD карт (3) Amazon
  • IR LED дамжуулагч (3)
  • IR хүлээн авагч (6) Амазон
  • Улаан LED (3)
  • Цэнхэр LED (3)
  • Ногоон LED (3)
  • Идэвхгүй дуугаралт (3) Амазон
  • Товчлуур (6)
  • I2C адаптертай LCD 16x2 дэлгэц (3) Amazon
  • Зөөврийн батерейны багц (3) Amazon
  • Бичил утаснаас ердийн USB кабель (3) Amazon
  • PN2222 транзистор (3)
  • 100Ω эсэргүүцэл (3)
  • 1kΩ эсэргүүцэл (9)

Нэмэлт зүйлс:

  • Биелэгдэнэ (3) Амазон
  • Туузан кабелийн өргөтгөл (3) Амазон

Энэхүү төсөлд бид буу бүрийн буудлагыг нарийсгахын тулд дамжуулагчийн эргэн тойронд хар конус байрлуулсан хуучин лазер шошгон буунаас IR LED дамжуулагчийг авч дуусгасан. Гэсэн хэдий ч аливаа ерөнхий дамжуулагч ажиллах ёстой.

Дээр дурдсан зүйлсээс гадна лазер буу өөрөө 3D хэвлэсэн байв. Тиймээс энэ төсөл нь 3D принтер, судалтай ажиллах шаардлагатай болно. Ерөнхийдөө гурван бууны нийт дүн 350 орчим доллар болжээ.

Алхам 2: Серверийн тохиргоо

Серверийн тохиргоо
Серверийн тохиргоо
Серверийн тохиргоо
Серверийн тохиргоо
Серверийн тохиргоо
Серверийн тохиргоо

Серверийг тохируулахад шаардлагатай хамгийн эхний зүйл бол Mosquitto MQTT Broker Service -ийг суулгах явдал юм. Mosquitto бол тоглоомын төхөөрөмж тус бүрийн хооронд харилцаа холбоо тогтоох боломжийг олгодог үйлчилгээ юм. Энэ нь серверт үйлчилгээнд холбогдсон Pis бүрт мессеж илгээх боломжийг олгодог. Терминал дээр дараах тушаалуудыг ажиллуулна уу.

sudo apt-get update

sudo apt-get upgrade sudo apt-get mosquitto -y sudo apt-get install python3-pip -y sudo pip3 суулгах paho-mqtt

Серверийн зарим GUI -ийг Pygubu нэртэй GUI дизайнер ашиглан бүтээсэн болно. Үүнийг ажиллуулах замаар суулгаж болно:

pip3 pygubu суулгах

Pygubu -ийн талаарх дэлгэрэнгүй мэдээллийг https://github.com/alejandroautalan/pygubu дээрээс авах боломжтой.

MQTT болон Pygubu суулгасны дараа шинэ лавлах үүсгэж хавсаргасан файлуудаа хуулж аваарай. Лавлах нь дараахь зүйлийг агуулсан байх ёстой.

  • ltag.py
  • урьдчилсан тоглоом
  • game_statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • home.png
  • өөрөө.png
  • дайснууд.png
  • лазер.jpg

Тэмдэглэл: Энэхүү төсөлд ашигласан хавсаргасан зургуудыг хөгжүүлэлтийн баг бүтээгээгүй тул зохиогчийн эрхийг баталгаажуулаагүй болно.

Алхам 3: Raspberry Pi -ийн тохиргоо

Raspberry Pi -ийн тохиргоо
Raspberry Pi -ийн тохиргоо

Энэ алхамыг Raspberry Pis бүрт давтах шаардлагатай болно.

1. Үйлдлийн системийг суулгах

Нэгдүгээрт, Raspbian програмыг шинээр суулгаж эхлээрэй. Бид Lite хувилбарыг ашиглахыг зөвлөдөг бөгөөд энэ нь Pi -г ашиглахад бага боловч аль ч хувилбар нь сайн ажиллах ёстой. Татаж авахыг https://www.raspberrypi.org/downloads/raspbian/ дээрээс олж болно.

2. MQTT -ийг суулгана уу

Дараа нь бид MQTT брокерын үйлчилгээг суулгах хэрэгтэй. Үүний тулд бид Mosquitto -ийг ашиглах болно. Терминал дээр дараах тушаалуудыг ажиллуулна уу.

sudo apt-get update

sudo apt-get upgrade sudo apt-get mosquitto -y sudo apt-get install python3-pip -y sudo pip3 суулгах paho-mqtt

Mosquitto бол тоглоомын төхөөрөмж тус бүрийн хооронд харилцаа холбоо тогтоох боломжийг олгодог үйлчилгээ юм. Энэ нь серверт үйлчилгээнд холбогдсон Pis бүрт мессеж илгээх боломжийг олгодог.

3. I2C хэрэгслүүдийг суулгана уу

Дараах тушаал нь LCD дэлгэц дээр ашиглагддаг номын санг суулгах болно.

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

sudo apt -get rpi.gpio -y суулгана уу

I2c хаягийг lcddriver.py файлд өөрчлөх шаардлагатай байж магадгүй юм. Дараах тушаалыг оруулснаар хаягийг олж болно.

i2cdetect -y 1

4. LIRC -ийг суулгаж тохируулна уу

Шинэ лавлах үүсгэж, хавсаргасан файлуудыг энэ газарт татаж аваарай.

Ихэнх интернет хөтчүүд өргөтгөлгүйгээр файл татаж авахгүй. Үүнийг даван туулахын тулд хоёр файлыг түр зуурын өргөтгөлүүдээр байршуулсан болно. "Lircrc.deleteExtension" болон "modules.deleteExtension" аль аль нь өргөтгөлгүй байх ёстой бөгөөд файлуудыг амжилттай татаж авсны дараа "lircrc" ба "modules" гэж нэрлэх ёстой.

Энэ алхам нь Linux хэт улаан туяаны алсын удирдлага (LIRC) багцын хамаарлыг суулгаж тохируулдаг. Дэлгэрэнгүй мэдээлэл авахыг хүсвэл https://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/ хаягаар орж LIRC-ийг тохируулах зааврыг үзнэ үү.

Эхлээд номын санг суулгаж, дараа нь оруулсан тушаалуудыг доорх тушаалуудад харуулсны дагуу холбогдох директор руу хуулж ав. Эцэст нь lircd үйлчилгээг дахин эхлүүлнэ үү.

sudo apt-get python3-lirc -y суулгана уу

Шинээр үүсгэсэн директороос тохиргооны файлуудыг зөв байрлал руу нь шилжүүлэхийн тулд дараах тушаалуудыг гүйцэтгэнэ.

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

sudo mv модулиуд /etc /

Дараа нь lircd үйлчилгээг дахин ажиллуулна уу:

sudo /etc/init.d/lircd дахин эхлүүлэх

Дараа нь /boot/config.txt файлыг засаад дараах мөрийг нэмнэ үү

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

Өөрчлөлтүүдийг хүчин төгөлдөр болгохын тулд pi -ээ дахин ачаална уу.

sudo дахин ачаална уу

5. I2C -ийг идэвхжүүлж, тоглогч бүрт CLIENT -ийг засварлана уу

Дараа нь бид I2C интерфэйсийг идэвхжүүлэх болно. Үүнийг ашиглан хийж болно

sudo raspi-config

мөн "интерфэйсийн сонголтууд" цэсэнд I2C -ийг идэвхжүүлэх.

6. Player CLIENT болон LTSERVER -ийг засварлах

Тоглоомын лавлах одоо үлдсэн дөрвөн файлыг оруулах ёстой.

  • i2c_lib.py
  • lcddriver.py
  • ltsounds.py
  • тоглогч

Pi -ийг тохируулах хамгийн сүүлийн алхам бол pi бүрт үйлчлүүлэгчийн дугаар өгч, серверийн байршлыг нэмэх явдал юм. Үүнийг pi тус бүрт оруулсан "player.py" файлыг засварлах замаар хийдэг бөгөөд ингэснээр тэд бүгд өөр үйлчлүүлэгчийн дугаартай болно. CLIENT дугаарыг player.py -ийн 3 -р мөрөнд өгсөн болно. Эхний пи -ийг үйлчлүүлэгч "1", хоёр дахь нь "2", гурав дахь үйлчлүүлэгч "3" байхаар томилно уу.

LTSERVER мөрийг серверийн IP хаяг болгон өөрчлөх ёстой. Үүнийг 'ifconfig | гэж бичээд олдог grep "inet addr" 'нь серверийн компьютерийн терминал дээр байрладаг.

Алхам 4: Бууны угсралт

Бууны угсралт
Бууны угсралт
Бууны угсралт
Бууны угсралт

Дээрх схем, схемийн дагуу буу тус бүрийг утсаар холбоно уу.

Захын төхөөрөмж бүр Pi Zero дээрх GPIO зүүтэй холбогдсон байна.

  • Дуу чимээ: GPIO5
  • Гох: GPIO26
  • Дахин ачаалах: GPIO12
  • IR дамжуулагч: GPIO25
  • IR хүлээн авагч: GPIO18
  • УЛААН LED: GPIO17
  • НОГООН LED: GPIO27
  • Цэнхэр LED: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

Дэлгэрэнгүй мэдээллийг схемээс үзнэ үү.

Хэрэв хүсвэл лазер бууг хавсаргасан загвар файлуудыг ашиглан 3D хэвлэх боломжтой. "Front1STL. STL" файлуудын хоёрыг хэвлэх ёстой гэдгийг санаарай.

Алхам 5: Тоглоом тоглох

Тоглоом тоглох
Тоглоом тоглох
Тоглоом тоглох
Тоглоом тоглох
Тоглоом тоглох
Тоглоом тоглох

Тоглоомыг сервер дээр "ltag.py" файлыг ажиллуулснаар эхлүүлнэ. Үүнийг хийсний дараа тоглогчид тус бүр өөрийн "player.py" файлыг ажиллуулснаар сервертэй холбогдох боломжтой болно.

Тэмдэглэл: Батерейны багцыг залгасны дараа pi -г ачаалахад нэг минут хүртэл хугацаа шаардагдана.

Pi эхэлмэгц player.py файлыг автоматаар ажиллуулдаг cron ажлыг нэмэх нь бас ашигтай байж болох юм. Бид үүнийг ажиллуулахад маш хэцүү байсан бөгөөд эцэст нь "player.py" файлыг ажиллуулахын тулд Pis тус бүрийн "/etc/rc.local" файлд мөр нэмж орууллаа. Энэ нь тоглогчийн скриптийг ажиллуулахын тулд SSH -ийг Pi руу оруулахгүйгээр тоглоомыг эхлүүлэх боломжийг олгодог.

Тоглогчид бэлэн болсоны дараа тоглоом эхэлсний дараа тоглоомын зарим тохиргоог тохируулах боломжийг олгодог GUI гарч ирнэ. Эхлэх товчлуурыг дарсны дараа тоглоом эхэлнэ.

Тоглолт бүрийн дараа GUI дуусах бөгөөд өмнөх тоглоомын талаархи статистик мэдээлэл, шошго, дэлхийн хувь хэмжээ, тоглоомын үргэлжлэх хугацаа орно.

Тэмдэглэл: Програм хангамжийн сангуудын хязгаарлагдмал байдлаас шалтгаалан нарийвчлалын тайлангийн шошгоны байршил нь бодит лазер шошгыг төлөөлдөггүй. Одоогийн хувилбарт тоглогчийн нарийвчлалын тайлангийн зураг нь зөвхөн гоо зүйн хувьд зориулагдсан бөгөөд шошго байршлын бодит хэрэгжилт бүхий ирээдүйн хувилбарыг хүлээж байна.

Алхам 6: Ирээдүйн сайжруулалтууд

Ирээдүйн сайжруулалт
Ирээдүйн сайжруулалт
Ирээдүйн сайжруулалт
Ирээдүйн сайжруулалт

Ерөнхийдөө төсөл нь маш амжилттай болсон. Замдаа бид ирээдүйн хэвлэлд нэмж болох хэд хэдэн нэмэлт боломжуудын талаар бодлоо.

  • 3D хэвлэсэн бууны илүү бат бөх гох загвар
  • Өмнөх тоглоомуудын статистикийг харуулахын тулд GUI унах цэсийг дуусгаж байна
  • Тоглогчдын хантаазанд бэхлэх боломжтой хэт улаан туяаны хүлээн авагчид
  • Pregame GUI дээр сонгож болох нэмэлт тоглоомын горимууд
  • Тоглогчдын статистик хуудсан дээрх тагны байршлын алгоритмыг илүү нарийвчлалтай харуулав

Зөвлөмж болгож буй: