Мазмұны:
- 1 -қадам: материалдар
- 2 -қадам: серверді орнату
- 3 -қадам: Raspberry Pi орнату
- 4 -қадам: мылтық жинау
- 5 -қадам: Ойын ойнау
- 6 -қадам: Болашақ жақсартулар
Бейне: Raspberry Pi Zero бар инфрақызыл лазерлік белгі: 6 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Бұл нұсқаулық базалық серверлік компьютер мен әр ойыншы үшін 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 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 -де таңдауға болатын қосымша ойын режимдері
- Ойыншылардың статистикалық бетінде тегтердің орналасу алгоритмі дәлірек
Ұсынылған:
Ардуино лазерлік инфрақызыл термометрі: 7 қадам (суреттермен)
Arduino лазерлік инфрақызыл термометрі: Бұл жобада мен сізге 3D басып шығарылатын арнайы корпусы бар цифрлық лазерлік инфрақызыл термометрді қалай жасау керектігін көрсетемін
Лазерлік дыбыстық эффектілері бар Ray Gun: 19 қадам (суреттермен)
Лазерлік дыбыстық эффектілері бар Ray Gun: Мен шынымен ескі бөлшектерден жобалар жасағанды ұнатамын. Бұл мен құжаттаған 2 -ші сәулелік қару (бұл менің бірінші). Рай -пистолеттермен бірге мен қалаусыз боттар жасадым (оларды мына жерден қараңыз) және басқа да көптеген жобалар
Инфрақызыл детекторлары бар Boe-Bot: 12 қадам (суреттермен)
Инфрақызыл детекторлары бар Boe-Bot: Бұл нұсқаулық кедергілерді болдырмау үшін инфрақызыл детекторларды қолдана отырып, лабиринтті басқара алатын Бое-ботты қалай құруға және кодтауға болатынын көрсетеді. Бұл сіздің қажеттіліктеріңізге сәйкес өзгертуге мүмкіндік беретін қарапайым нұсқаулық. Бұл негізгі талап етеді
Лазерлік белгі: 6 қадам
Лазерлік белгі: Қабырғаға жазу үшін бірнеше лазерді қолданыңыз! Сізге қажет: 8 лазерлік жарық диоды (оларды 4 евродан сатып алуға болады). Екі катушкалы мотор шағын айнадан жасалған nano4 қуатты NPN транзисторлары, 4 қуатты PNP транзисторлары, 8 1k резисторлар. Wiressupport
Лазерлік зарядталатын батареясы бар лазерлік сәулелік дабыл жүйесі: 10 қадам
Лазерлік зарядталатын батареясы бар лазерлік дабыл жүйесі: Сәлем баршаңызға … Мен Revheadпін, бұл менің бірінші нұсқаулығым, сондықтан маған кеңес беруді және жақсартуға болатын бағыттарды көрсетуден тартынбаңыз. Бұл жобаның шабыты ұқсас нұсқаны жариялаған Кипкайдан келді (ЛАЗЕНДЕН ҮЙІҢІЗДІ ҚОРҒАҢЫЗ