Përmbajtje:
- Hapi 1: Materialet
- Hapi 2: Konfigurimi i serverit
- Hapi 3: Konfigurimi i Raspberry Pi
- Hapi 4: Montimi i armëve
- Hapi 5: Luaj lojë
- Hapi 6: Përmirësimet e së ardhmes
Video: Etiketë me rreze infra të kuqe me mjedër Pi Zero: 6 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:25
Ky Instructable do të ecë nëpër procesin për krijimin e një loje me rreze me rreze infra të kuqe duke përdorur një kompjuter server bazë dhe një Raspberry Pi zero për secilin lojtar. Projekti mbështetet shumë në një lidhje Wifi për të komunikuar me serverin, gjë që e bën Pi një kandidat të shkëlqyeshëm.
Serveri i përdorur në këtë projekt ishte një kompjuter desktop i vjetër me Linux. Kompjuteri nuk ka nevojë të jetë diçka e veçantë, dhe ndoshta mund të drejtohet edhe nga një Raspberry Pi 3. Serveri dhe secili prej pi zero duhet të jenë të lidhur me të njëjtin rrjet gjatë lojës.
Hapi 1: Materialet
Përshkrimi dhe disa lidhje për materialet e nevojshme janë treguar më poshtë. Lista e materialeve më poshtë është për 3 armë.
- Kompjuter serveri (1)
- Raspberry Pi Zero W (3) Adafruit
- Të paktën 4 GB SD Card (3) Amazon
- IR transmetues LED (3)
- Marrës IR (6) Amazon
- LED i kuq (3)
- LED blu (3)
- LED e gjelbër (3)
- Buzzer pasiv (3) Amazon
- Butoni i shtypjes (6)
- Ekran LCD 16x2 me përshtatës I2C (3) Amazon
- Paketa Portative e Baterive (3) Amazon
- Mikro në kabllo të rregullt USB (3) Amazon
- PN2222 Transistor (3)
- Rezistencë 100Ω (3)
- Rezistencë 1kΩ (9)
Artikujt opsionalë:
- Jelek (3) Amazon
- Zgjatja e kabllit të shiritit (3) Amazon
Në këtë projekt, ne përfunduam duke marrë Transmetuesin IR IR nga një grup i vjetër armësh me lazer që kishin një kon të zi rreth transmetuesit për të ndihmuar në ngushtimin e goditjes së secilës armë. Sidoqoftë, çdo transmetues i përgjithshëm duhet të funksionojë.
Përveç artikujve të listuar më lart, vetë armët lazer u shtypën 3D. Ky projekt do të kërkonte gjithashtu qasje në një printer 3D dhe filament. Në përgjithësi, për tre armë, totali arriti në rreth 350 dollarë.
Hapi 2: Konfigurimi i serverit
Gjëja e parë që nevojitet për konfigurimin e serverit është instalimi i Shërbimit të Ndërmjetësit Mosquitto MQTT. Mosquitto është shërbimi që siguron një kornizë për komunikimin midis secilës prej pajisjeve në lojë. Kjo i lejon serverit të dërgojë mesazhe në secilën nga Pis të lidhur me shërbimin. Në terminal, ekzekutoni komandat e mëposhtme.
përditësim sudo apt-get
sudo apt-get upgrade sudo apt-get install mushkonja -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Disa nga GUI për serverin u krijuan duke përdorur një projektues GUI të quajtur Pygubu. Kjo mund të instalohet duke ekzekutuar:
pip3 instaloni pygubu
Më shumë informacion mbi pygubu mund të gjenden në
Pasi të instalohen MQTT dhe Pygubu, krijoni një drejtori të re dhe kopjoni skedarët e bashkangjitur. Drejtoria duhet të përfshijë:
- ltag.py
- lojën paraprake.py
- statistikat e lojës.py
- gvars.py
- pygubu.ui
- pygubu_limited.ui
- shtëpi.png
- vetë.png
- armiqtë.png
- lazer.jpg
Shënim: Imazhet e bashkangjitura të përdorura në këtë projekt nuk janë krijuar nga ekipi i zhvillimit dhe për këtë arsye nuk pretendon autorësinë.
Hapi 3: Konfigurimi i Raspberry Pi
Ky hap do të duhet të përsëritet në secilën prej Raspberry Pis.
1. Instaloni sistemin operativ
Së pari, filloni me një instalim të ri të Raspbian. Ne do të rekomandonim përdorimin e versionit Lite pasi është më pak që Pi ta trajtojë, por secili version duhet të funksionojë mirë. Shkarkimi mund të gjendet në
2. Instaloni MQTT
Tjetra ne duhet të instalojmë shërbimin e ndërmjetësit MQTT. Ne do të përdorim Mosquitto për këtë. Në terminal, ekzekutoni komandat e mëposhtme.
përditësim sudo apt-get
sudo apt-get upgrade sudo apt-get install mushkonja -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt
Mosquitto është shërbimi që siguron një kornizë për komunikimin midis secilës prej pajisjeve në lojë. Kjo i lejon serverit të dërgojë mesazhe për secilin nga Pis të lidhur me shërbimin.
3. Instaloni I2C Tools
Komanda e mëposhtme do të instalojë bibliotekat që përdoren për ekranin LCD.
sudo apt-get install -y python3-smbus i2c-tools
sudo apt -get install rpi.gpio -y
Adresa i2c mund të ketë nevojë të ndryshohet në skedarin lcddriver.py. Adresa mund të gjendet duke futur komandën e mëposhtme.
i2cdetect -y 1
4. Instaloni dhe konfiguroni LIRC
Krijoni një drejtori të re dhe shkarkoni skedarët e bashkangjitur në këtë vendndodhje.
Shumica e shfletuesve të internetit nuk do të shkarkojnë skedarë pa shtesa. Për të shmangur këtë, dy nga skedarët u ngarkuan me shtesa të përkohshme. Të dy "lircrc.deleteExtension" dhe "modules.deleteExtension" në fakt duhet të jenë pa zgjerim dhe skedarët duhet të riemërohen në "lircrc" dhe "module" pasi të jenë shkarkuar me sukses.
Ky hap instalon dhe konfiguron varësitë për paketën Linux Infrared Remote Control (LIRC). Për më shumë informacion shihni udhëzuesin për vendosjen e LIRC në:
Së pari instaloni bibliotekën, pastaj kopjoni skedarët e përfshirë në drejtoritë e tyre përkatëse siç tregohet në komandat më poshtë. Së fundi, rinisni shërbimin lircd.
sudo apt-get install python3-lirc -y
Nga drejtoria e krijuar rishtas ekzekutoni komandat e mëposhtme për të zhvendosur skedarët e konfigurimit në vendet e tyre të sakta.
sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/
modulet sudo mv /etc /
Pastaj rinisni shërbimin lircd duke ekzekutuar:
sudo /etc/init.d/lircd rinis
Tjetra, redaktoni skedarin /boot/config.txt dhe shtoni rreshtin e mëposhtëm
dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25
Rinisni pi -në tuaj për të lejuar që ndryshimet të hyjnë në fuqi.
rindiz sudo
5. Aktivizoni I2C dhe modifikoni KLIENTIN për secilin lojtar
Tjetra, ne do të aktivizojmë ndërfaqen I2C. Kjo mund të bëhet duke përdorur
sudo raspi-config
dhe mundësimin e I2C në menunë "opsionet e ndërfaqes".
6. Redakto KLIENTIN E LLOJS dhe LTSERVER
Drejtoria e lojës tani duhet të përfshijë katër skedarët e mbetur.
- i2c_lib.py
- lcddriver.py
- ltsounds.py
- lojtar.py
Hapi i fundit në konfigurimin e pi është caktimi i secilit pi një numër KLIENTI dhe shtimi i vendndodhjes së serverit. Kjo bëhet duke redaktuar skedarin "player.py" të përfshirë për secilin pi në mënyrë që të gjithë ata të kenë një numër të ndryshëm KLIENTI. Numri i KLIENTIT caktohet në rreshtin 3 të player.py. Caktoni që pi i parë të jetë klient "1", i dyti të jetë "2" dhe i treti të jetë klient "3".
Linja LTSERVER duhet të ndryshohet në adresën IP të serverit. Kjo gjendet duke shtypur 'ifconfig | grep "inet addr" 'në terminalin e kompjuterit server.
Hapi 4: Montimi i armëve
Vazhdoni të lidhni secilën prej armëve sipas diagramit të instalimeve elektrike dhe skemës së mësipërme.
Secila prej pajisjeve periferike është e lidhur me kunjat e mëposhtëm GPIO në Pi Zero:
- Zile: GPIO5
- Shkaktari: GPIO26
- Ringarko: GPIO12
- Transmetues IR: GPIO25
- Marrësit IR: GPIO18
- LED i Kuq: GPIO17
- LED i gjelbër: GPIO27
- LED i Kaltër: GPIO22
- I2C_SDA: GPIO2
- I2C_SCL: GPIO3
Shikoni skemën për më shumë detaje.
Nëse dëshironi, armët lazer mund të printohen 3D duke përdorur skedarët e modelit të hapit të përfshirë. Mbani në mend se dy nga skedarët "front1STL. STL" duhet të printohen.
Hapi 5: Luaj lojë
Loja fillon duke ekzekutuar skedarin "ltag.py" në server. Pasi të bëhet kjo, secili nga lojtarët mund të lidhet me serverin duke ekzekutuar skedarin e tyre përkatës "player.py".
Shënim: Pas lidhjes së paketës së baterisë, mund të duhet deri në një minutë që pi të fillojë.
Mund të jetë gjithashtu e dobishme të shtoni një punë cron që drejton automatikisht skedarin player.py sapo të fillojë pi. Ne e kishim të vështirë ta vinim këtë në punë dhe përfunduam duke shtuar një linjë në skedarin "/etc/rc.local" në secilën nga Pis për të ekzekutuar skedarin "player.py". Kjo lejon që loja të fillojë pa pasur nevojë të SSH në Pi për të ekzekutuar skenarin e lojtarit.
Pasi loja të ketë filluar me lojtarët gati, do të shfaqet një GUI që lejon të konfigurohen disa nga cilësimet e lojës. Loja fillon pasi të shtypet butoni Start.
Pas çdo loje, një GUI përfundimtar do të shfaqet me statistika për lojën e mëparshme duke përfshirë etiketat, përqindjet globale dhe kohëzgjatjen e lojës.
Shënim: Për shkak të kufizimeve në bibliotekat e softuerit, vendndodhjet e etiketave të raportit të saktësisë nuk janë përfaqësuese të etiketave aktuale lazer. Në versionin aktual, imazhi i Raportit të Saktësisë së Lojtarit është thjesht për estetikë me shpresën e një versioni të ardhshëm me zbatimin aktual të vendndodhjes së etiketës.
Hapi 6: Përmirësimet e së ardhmes
Në përgjithësi, projekti ishte një sukses i madh. Gjatë rrugës, ne menduam për disa veçori shtesë që mund të shtohen në një botim të ardhshëm.
- Dizajn më i fortë i shkasave për armët e printuara 3D
- Përfundimi i menysë zbritëse GUI për të shfaqur statistikat nga lojërat e kaluara
- Më shumë marrës me rreze infra të kuqe që mund të ngjiten në jelekët e lojtarëve
- Mënyra shtesë të lojës që mund të zgjidhen në GUI Pregame
- Algoritmi më i saktë i vendndodhjes së etiketave në faqen e statistikave të lojtarëve
Recommended:
MP3 Player i kontrolluar me rreze infra të kuqe: 6 hapa (me fotografi)
MP3 Player i kontrolluar me rreze infra të kuqe: Ndërtoni një telekomandë infra të kuqe MP3 player për rreth 10 dollarë (usd). Ka veçoritë e zakonshme: luani, bëni pauzë, luani tjetrën ose të mëparshmen, luani një këngë të vetme ose të gjitha këngët. Gjithashtu ka variacione barazues dhe kontroll të volumit. Të gjitha të kontrollueshme përmes një r
Termometër me rreze infra të kuqe Arduino: 7 hapa (me fotografi)
Termometër me rreze infra të kuqe Arduino: Në këtë projekt do t'ju tregoj se si të ndërtoni një termometër dixhital me rreze infra të kuqe me një mbyllje të printuar me porosi 3D
Rubber Machine Gunning, Sensor me rreze infra të kuqe, TV ROBOT MBROJTS: 5 hapa (me fotografi)
Rubberband Machine Gunning, Infrared Sensing, TV DEFENDER ROBOT: Duke mos përdorur qarqe të integruara, ky robot pret një sinjal infra të kuqe nga një telekomandë standarde e TV -së dhe më pas shkrep me shpejtësi një sërë brezash gome. Shënim: Shikoni/Kërkoni " sitin e desktopit " nëse nuk e shihni videon. Përgjegjësia: Ky projekt është në
Etiketë lazer Arduino - Etiketë Duino: 11 hapa (me fotografi)
Etiketa Laserike Arduino - Etiketa Duino: Etiketa Duino- Hyrje e përgjithshme Etiketa Duino është një sistem etiketash lazer i bazuar në arduino. Së fundi, një sistem etiketash lazer që mund të ndryshohet dhe hakohet derisa të keni sistemin e përsosur të etiketave me lazer për armët e zyrës, luftërat në pyje dhe periferi
Kamera dixhitale/kamera dixhitale me vizion natën me rreze infra të kuqe: 17 hapa (me fotografi)
Kamera dixhitale/kamera dixhitale e vizionit të natës me rreze infra të kuqe: Ky udhëzues shpjegon se si të konvertohet kamera e zbulimit të natës Discovery Kids (e cila reklamohet në mënyrë të rreme për të përdorur " teknologji të vërtetë të vizionit të natës me infra të kuqe ") në një kamera reale të shikimit të natës me infra të kuqe. Kjo është e ngjashme me IR webca