Мазмұны:

Raspberry Pi Zero бар инфрақызыл лазерлік белгі: 6 қадам (суреттермен)
Raspberry Pi Zero бар инфрақызыл лазерлік белгі: 6 қадам (суреттермен)

Бейне: Raspberry Pi Zero бар инфрақызыл лазерлік белгі: 6 қадам (суреттермен)

Бейне: Raspberry Pi Zero бар инфрақызыл лазерлік белгі: 6 қадам (суреттермен)
Бейне: Infrared Obstacle Avoidance module for Arduino with code 2024, Қараша
Anonim
Raspberry Pi Zero бар инфрақызыл лазерлік тег
Raspberry Pi Zero бар инфрақызыл лазерлік тег

Бұл нұсқаулық базалық серверлік компьютер мен әр ойыншы үшін Raspberry Pi нөлін қолдана отырып, инфрақызыл лазерлік тег ойынын құру процесін өтеді. Жоба Pi -ді керемет үміткерге айналдыратын сервермен байланысу үшін көп жағдайда Wifi қосылымына сүйенеді.

Бұл жобада пайдаланылған сервер Linux ескі жұмыс үстелі компьютері болды. Компьютерге ерекше ештеңе қажет емес, оны Raspberry Pi 3 -тен де іске қосуға болады. Сервер мен pi нөлдерінің әрқайсысы ойын кезінде бір желіге қосылған болуы керек.

1 -қадам: материалдар

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

Қажетті материалдардың сипаттамасы мен кейбір сілтемелері төменде көрсетілген. Төмендегі материалдар тізімі 3 мылтыққа арналған.

  • Серверлік компьютер (1)
  • Raspberry Pi Zero W (3) Adafruit
  • Кем дегенде 4 ГБ SD картасы (3) Amazon
  • IR жарықдиодты таратқыш (3)
  • IR қабылдағыш (6) Amazon
  • Қызыл жарық диоды (3)
  • Көк жарық диоды (3)
  • Жасыл жарық диоды (3)
  • Пассивті дыбыстық сигнал (3) Amazon
  • Басу түймесі (6)
  • I2C адаптері бар LCD 16x2 экран (3) Amazon
  • Портативті батареялар жиынтығы (3) Amazon
  • Micro to Normal USB кабелі (3) Amazon
  • PN2222 транзистор (3)
  • 100Ω резистор (3)
  • 1кΩ резистор (9)

Қосымша элементтер:

  • Кеудеше (3) Амазонка
  • Таспалы кабельді кеңейту (3) Amazon

Бұл жобада біз әр мылтықтың атылуын тарылту үшін таратқыштың айналасында қара конусы бар ескі лазерлік қару -жарақтан IR жарықдиодты таратқышты алдық. Дегенмен, кез келген жалпы таратқыш жұмыс істеуі керек.

Жоғарыда аталған элементтерден басқа, лазерлік қарудың өзі 3D басып шығарылған. Бұл жоба 3D принтер мен жіпке қол жеткізуді талап етеді. Жалпы алғанда, үш зеңбірек үшін барлығы 350 долларға жетті.

2 -қадам: серверді орнату

Серверді орнату
Серверді орнату
Серверді орнату
Серверді орнату
Серверді орнату
Серверді орнату

Серверді баптау үшін қажет бірінші нәрсе - Mosquitto MQTT брокерлік қызметін орнату. Mosquitto - бұл ойынның әр құрылғысы арасындағы байланыс үшін негіз болатын қызмет. Бұл серверге қызметке қосылған әр Pis -ке хабарлама жіберуге мүмкіндік береді. Терминалда келесі пәрмендерді орындаңыз.

sudo apt-get жаңартуы

sudo apt-get жаңарту sudo apt-get mosquitto -y sudo apt-get install python3-pip -y sudo pip3 орнату paho-mqtt

Серверге арналған кейбір GUI -лер Pygubu деп аталатын GUI дизайнерінің көмегімен жасалған. Мұны іске қосу арқылы орнатуға болады:

pip3 pygubu орнатыңыз

Пигубу туралы қосымша ақпаратты мына жерден табуға болады

MQTT және Pygubu орнатылғаннан кейін, жаңа каталог жасаңыз және тіркелген файлдарды көшіріңіз. Анықтамалықта мыналар болуы керек:

  • ltag.py
  • Pregame.py
  • game_statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • home.png
  • self.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 жаңартуы

sudo apt-get жаңарту sudo apt-get mosquitto -y sudo apt-get install python3-pip -y sudo pip3 орнату paho-mqtt

Mosquitto - бұл ойынның әр құрылғысы арасындағы байланыс үшін негіз болатын қызмет. Бұл серверге қызметке қосылған әр Pis -ке хабарлама жіберуге мүмкіндік береді.

3. I2C құралдарын орнатыңыз

Келесі пәрмен СКД экраны үшін пайдаланылатын кітапханаларды орнатады.

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 Infrared Remote Control (LIRC) пакетіне тәуелділікті орнатады және конфигурациялайды. Қосымша ақпарат алу үшін LIRC орнату бойынша оқулықты қараңыз:

Алдымен кітапхананы орнатыңыз, содан кейін енгізілген файлдарды төмендегі командаларда көрсетілгендей сәйкес каталогтарға көшіріңіз. Соңында, лирк қызметін қайта қосыңыз.

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

Өзгерістердің күшіне енуі үшін пиді қайта жүктеңіз.

sudo қайта жүктеу

5. I2C қосыңыз және әр ойыншы үшін КЛИЕНТТІ өңдеңіз

Содан кейін біз I2C интерфейсін қосамыз. Мұны қолдану арқылы жасауға болады

sudo raspi-config

және «интерфейс опциялары» мәзірінде I2C қосу.

6. Player CLIENT пен LTSERVER өңдеңіз

Ойын каталогында енді қалған төрт файл болуы керек.

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

Pi -ді конфигурациялаудың соңғы қадамы - әрбір pi -ге CLIENT нөмірін беру және сервердің орнын қосу. Бұл әрбір 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
  • ҚЫЗЫЛ СИД: GPIO17
  • Жасыл жарық диоды: GPIO27
  • КӨК жарық диоды: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

Қосымша мәліметтер алу үшін схеманы қараңыз.

Қажет болса, лазерлік пистолеттерді қадамдық модельдік файлдар көмегімен 3D басып шығаруға болады. Есіңізде болсын, «front1STL. STL» файлдарының екеуі басып шығарылуы керек.

5 -қадам: Ойын ойнау

Ойын ойнау
Ойын ойнау
Ойын ойнау
Ойын ойнау
Ойын ойнау
Ойын ойнау

Ойын серверде «ltag.py» файлын іске қосудан басталады. Бұл аяқталғаннан кейін, ойыншылардың әрқайсысы серверге «player.py» файлын іске қосу арқылы қосыла алады.

Ескертпе: Батарея жинағын қосқаннан кейін, пидің жүктелуіне бір минут кетуі мүмкін.

Pi басталғаннан кейін player.py файлын автоматты түрде іске қосатын cron тапсырмасын қосу пайдалы болуы мүмкін. Бізге бұл жұмыс қиынға соқты және «player.py» файлын іске қосу үшін Pis -тің әрқайсысындағы «/etc/rc.local» файлына жол қосуды аяқтадық. Бұл ойыншыға сценарийді іске қосу үшін SSH қосылмай -ақ ойынды бастауға мүмкіндік береді.

Ойыншылар дайын болғаннан кейін ойын басталғаннан кейін, бірнеше ойын параметрлерін конфигурациялауға мүмкіндік беретін GUI пайда болады. Ойын Бастау түймесі басылғаннан кейін басталады.

Әр ойыннан кейін алдыңғы ойын статистикасы бар аяқталатын GUI пайда болады, оның ішінде тегтер, жаһандық пайыздар мен ойын ұзақтығы бар.

Ескерту: Бағдарламалық қамтамасыз ету кітапханаларындағы шектеулерге байланысты дәлдік туралы есеп тегтерінің орналасуы нақты лазерлік тегтерді білдірмейді. Ағымдағы нұсқада Player дәлдігі туралы есеп суреті тек эстетикаға арналған, тегтердің орналасуы нақты енгізілген болашақ нұсқасы үшін.

6 -қадам: Болашақ жақсартулар

Болашақ жақсартулар
Болашақ жақсартулар
Болашақ жақсартулар
Болашақ жақсартулар

Жалпы, бұл жоба үлкен жетістік болды. Жол бойы біз болашақ басылымға қосылуы мүмкін бірнеше қосымша мүмкіндіктерді ойластырдық.

  • 3D басып шығарылған зеңбірек үшін берік триггер дизайны
  • Өткен ойындардың статистикасын көрсету үшін GUI ашылмалы мәзірі аяқталды
  • Ойыншылардың жилетіне бекітілуі мүмкін инфрақызыл қабылдағыштар
  • Pregame GUI -де таңдауға болатын қосымша ойын режимдері
  • Ойыншылардың статистикалық бетінде тегтердің орналасу алгоритмі дәлірек

Ұсынылған: