blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
Programátor
deadawp



Capture points (DOMINATION) - Arduino + WiFi
pridal deadawp 23.2. 2019 o 22:00



Airsoft je outdoor hra radiacia sa k extrémnym športom. Hra je veľmi populárna a tak si vyslúžila postupom času aj rôzne štýly hrania, teda herné módy. Väčšina z nich je postavená na populárnych FPS tituloch ako Counter Strike či Call of Duty. Od útočných a obranných módov až po Free-for-all. Jedným  veľmi obľúbených módov je aj Capture points, respektíve DOMINATION. V tomto hernom móde ide o minimálne dve lokácie, o ktoré tímy bojujú.

Cieľom hry je obsadiť a udržať oba body jedným tímom. Body sú umiestnené v neutrálnej lokácii, napríklad na úrovni stredu mapy po stranách, alebo každý v sídle druhého tímu. Aby bola hra dostatočne rýchla, stačí ak tím obsadí oba body. Ak je zapísaný na oboch bodoch (nemusí ho udržať po x sekúnd), hra sa končí a tím vyhral. Aby som hru urobil zaujímavejšou, vyhotovil som takéto dva body. 

Ako funguje systém po stránke funkčnosti?

Jedno tlačidlo je pre Tím 1 (žltý tím) a druhé pre Tím 2 (červený tím). Tím pri obsadení stlačí svoje tlačidlo, čo zmení farbu bodu podľa ich tímu. Ak jeden tím obsadí oba body, rozuzvučia sa hlásiče na oboch bodoch (hra sa skončí, alebo pokračuje ďalej podľa pravidiel organizátora akcie, napr. do posledného muža pre druhý bod za hru). Hra nie je časovo ohraničená limitom.

V reálnom čase medzi sebou obe Arduiná komunikujú s modulmi nRF24l01 + PA + LNA. Odozva medzi oboma Arduinami je na úrovni 1-5ms.Vďaka modulom nRF24l01 je možné komunikovať medzi Arduinami na obrovské vzdialenosti na stovky metrov v nezarušenom prostredí (nRF24l01 ponúka vyše 120 využiteľných kanálov pre komunikáciu na 2,4Ghz.)

Pri využití externého 5v/3.3v zdroja je možné komunikovať až na 1,1 kilometra v nezarušenom prostredí najnižšou prenosou rýchlosťou (250kb/s). V programe pre Arduino sa určuje komunikačný kanál, výkon nRF modulu, prenosová rýchlosť (250kb/s až 2Mbps). Čím je vyššia rýchlosť zvolená, tým náchylnejší je systém na rušenie. V prostredí lesa sme s najnižšou prenosou rýchlosťou a maximálnym vysielacím výkonom dosiahli prenos na 310 metrov.

Princíp je teda veľmi jednoduchý a systém je možné rozšíriť o ďalšie nRF moduly. Jeden modul dokáže komunikovať až s ôsmymi modulmi, systém je teda možné rozšíriť až na 9 bodov, o ktoré sa bojuje. Najvyšší prenosový výkon nie je možné nastaviť pri napájaní z Arduina, nakoľko odber nRF prevyšuje prúdové charakteristiky regulátora. Využíva sa preto napájanie na 5-12V cez adaptér, do ktorého sa modul zasadí a má on-board regulátor na 3.3V.

Do modulu zapasuje aj modul nRF24l01 (bez PA + LNA). PA + LNA je označenie pre modul s anténou, ktorý je 10-12x lepší dosahovo ako pôvodný nRF24l01 modul. Pôvodný modul má maximálny dosah 100 metrov v nezarušenom prostredí s maximálnym výkonom. Modul nRF24l01 komunikuje po SPI zbernici a má voliteľné piny CE (Chip state) a CS (Chip select). Komunikácia je rýchla s nízkou latenciou. Tieto moduly vedia komunikovať iba medzi sebou, nie je ich možné použiť napríklad pre pripojenie k internetu a pod. Jedná sa výlučne o komunikačné moduly medzi sebou na frekvencii 2,4GHz. Hlavnou nevýhodou týchto modulov je vzdialenosť pinov od seba v oboch radoch, čo neumožňuje modul použiť do breadboardu. Preto sa pri vývoji bez adaptéra zrejme nezaobídete.

Pri použití hlásiča (buzzra) je možné generovať frekvenciu signálu, ktorú bude buzzer vydávať, minimum je 31Hz a možnosť je zvoliť až cez 65535 Hz. Z vlastnej skúsenosti používam 800 - 4000Hz pre frekvenciu tónnov, čo sú tóny pomerne zreteľné a vhodné pre pípajúci zvuk, nie sú príliš otravné a je ich dobre počuť. Ovládať hlasitosť ako takú nie je u takýchto modulov možné. Pri nastavení novej hry je možné oba zariadenia odpojiť a pripojiť na batériu/adaptér, alebo obe zariadenia reštartovať tlačidlom pre premazanie uložených stavov tímov, aby hlásič ustal. 

Viac informácii o projekte Capture Points (DOMINATION) môžete nájsť na stránke projektu. Stránka predstavu projekt vrámci portfólia, je tam súpis kompatibilného hardvéru vrátane popisu vysielacích výkonov modulov nRF24L01. Zdrojový kód pre projekt v základnej verzii je taktiež dostupný na webstránke projektu: https://martinius96.github.io/Airsoft-DOMINATOR-RFID/capture-points.html

Riešenie používa vstavanú knižnicu SPI.h pre komunikáciu a knižnicu RF24.h pre nRF24l01 moduly. Je možné použiť i Radiohead knižnicu, ktorá ale neumožňuje regulovať vysielací výkon a voliť špecifické kanály, využíva tzv. pipes pre komunikačnú cestu, nie navolené číslo kanálu. Priložené zdrojové kódy môžete vyskúšať pre funkcionalitu spísanú vyššie a vyskúšať si takýto štýl hry. Pozor pri zapojení tlačidiel, používa sa zapojenie INPUT_PULLUP, teda tlačidlo je aktívne (stlačené) pri hodnote LOW - zem. Tento systém je vhodný pre športy typu Airsoft, Paintball, Nerf Wars. Vhodný pre tímy, športový areál a pod.

Projekt existuje aj v rozšírenej verzii, ktorá umožňuje nadefinovať ľubovoľný čas pre dĺžku stlačenia tlačidla. Rozšírená verzia umožňuje neutralizovať bod pri jeho obsadení aspoň do polovice času. To znamená, že sa zastaví počítanie času, zhasne sa LED dióda doteraz aktívneho tímu. Bod tak môže byť obsadený ktorýmkoľvek z tímov. V prípade obsadenia (dostatočnej dĺžky stlačenia tlačidla) sa bod obsadí daným tímom.

Bloková schéma:

Schéma zapojenia pre WiFi body (zhodné u bodu 1 a bodu 2):



Prístupov 9368
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDUJETE
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
GTA IV fix spustenia na Windowse 10 N
[ 24.3.2024] (príspevkov 0)
RFID DOMINATOR licencia na predaj
[ 4.1.2024] (príspevkov 0)
ATtiny85 Digispark - programovanie, použ...
[ 28.12.2023] (príspevkov 0)
Prečo by som si už nekúpil ESPD-35 2.0 /...
[ 26.12.2023] (príspevkov 0)
ATtiny85 - programovanie Arduino as ISP
[ 19.12.2023] (príspevkov 0)
MasterTherm - webscraper ESP32
[ 25.11.2023] (príspevkov 0)
RFID DOMINATOR 2.0 - rozdiely s 1.0
[ 15.11.2023] (príspevkov 0)
Rozšírená realita (AR) - IoT dashboard
[ 29.10.2023] (príspevkov 0)
Solárne napájanie ESP32 - WiFi / LoRaWAN
[ 15.9.2023] (príspevkov 0)
BLE Beacon na ESP32 - vysielanie vlastný...
[ 22.8.2023] (príspevkov 0)