projekte:lasertag

Dies ist eine alte Version des Dokuments!


Lasertag

https://github.com/rene-dev/Lasertag

ACHTUNG: Die Laser mit > 1mW Leistung dürfen NICHT ohne Schutz betrieben werden!!!

Waffe

Waffe: Gehirn

Ist das Herzstück in jeder Waffe. Die Arietta sprechen per WLAN miteinander. Erstmal einen AP der den Server macht, später mal ein Mesh-Netz. Per i²c werden das Lasermodul in der Waffe und die Trefferzonenmodule in der Waffe und in der Weste angeschlossen.

Bezeichnung Verwendung Einzelpreis Anzahl Gesamtpreis Bestellmenge Anmerkungen Link
Arietta G25 + WLAN 37 1 37 muss link
MB-MP16DA/EU Samsung microSDHC EVO 16GB 11 1 11 muss idealo
SPI Touch-Display 320*240 5,5 1 5,5 muss ebay china
2 stufiger Abzug 1 1 1 muss farnell
MAR 1683.1201 Scharf-Taster vorne 1,75 1 1,75 muss reichelt
WIPPE 1801.6115 Anschalter 1,1 1 1,1 muss reichelt
5V Step-Up Wandler 1,3 1 1,3 muss ebay china
18650 Halter 0,4 2 0,8 muss ebay china
18650 2,5 Ah LiIon Akku 0 2 0 muss vorhanden
LiIon MicroUSB Lader und Tiefentladeschutz 1 1 1 muss ebay china
SPC-2887 Lautsprecher 7,5 1 7,5 muss ebay china
kleiner Audio Verstärker 1,6 1 1,6 muss ebay china
Waffe: Lasermodul

Steuert den RGB Laser in Team-Farbe, die RGBW Flashlight in Teamfarbe und die IR Sendediode oder -laser. Der IR_TAKT generiert dauerhaft die 40 kHz Trägerfrequenz. Der IR_TX gibt pro Schuss 2 Bytes UART mit der Player ID aus was durch das P-FET invertiert wird.

Bezeichnung Verwendung Einzelpreis Anzahl Gesamtpreis Bestellmenge Anmerkungen Link
1 Layer Platine 2 1 2 muss
ATMEGA 88A-AU Laser, IR und LED ↔ i2c 1,8 1 1,8 muss Reichelt
ULN 2803 D Transistor Array zur LED Ansteuerung 0,39 1 0,39 muss Reichelt
X7R-G0805 100N SMD-Vielschicht-Keramikkondensator 100N, 10% 0,05 2 0,1 muss Reichelt
X5R-G1210 100 SMD-Vielschichtkondensator G1210-100UF 6,3V 0,45 2 0,9 muss reichelt
IRLML 6402 P-FET SOT23: IR-Ansteuerung 0,15 1 0,15 muss Reichelt
LD 274-3 IR LED 950nm +-10° 0,3 1 0,3 muss Reichelt
PTC194600-014 SMD-1812-PTC-Sicherung 0,14A/0,34A zur Lasersicherheit 0,18 1 0,18 muss reichelt
ZD-5W 5,6V Zener-Diode 5,0W 5,6V zur Lasersicherheit 0,35 1 0,35 muss reichelt
TS 1117 BCW33 3,3V Spannungsregler 0,3 1 0,3 muss reichelt
NXP PUSB2X4Y ESD Überspannungsschutz für i2c-Bus 0,2 1 0,2 muss farnell
TSOP4338 IR-Empfänger-Module 38kHz AGC3 0,67 1 0,67 muss farnell
SMD Wiederstand 0805 0,05 15 0,75 muss reichelt
JST-XH 4-Pol Buchse 0,12 2 0,24 muss ebay china
Stiftleiste muss ebay china
5mW Lasermodul rot 650nm 5,5 1 5,5 muss ebay china
5mW Lasermodul grün 532nm 9 1 9 optional ebay china
50mW Laserdiode blau 450nm 24 1 24 optional ebay china
Laserdiodenhalter mit Linse 5,5 1 5,5 optional ebay china
30mW Lasermodul IR 980nm 5 1 5 optional ebay china
Cree MC-E RGBW RGBW Taschenlampen-LED 9 1 9 optional ebay china
Kühler und Reflektor für RGBW Taschenlampen-LED 9 1 9 optional ebay china

Trefferzonenmodul

Empfängt die Player-ID des Schützen und leitet sie per i2c an den das Gehirn weiter. 2*2 unabhängige RGB-LEDs zeigen was an und ein Hub-Magnet gibt haptisches Feadback.

Bezeichnung Verwendung Einzelpreis Anzahl Gesamtpreis Bestellmenge Anmerkungen Link
1 Layer Platine 2 1 2 muss
ATTINY 2313A-SU Sensor und LED ↔ i2c 0,95 1 0,95 muss Reichelt
ULN 2803 D Transistor Array zur LED Ansteuerung 0,39 1 0,39 muss Reichelt
X7R-G0805 100N SMD-Vielschicht-Keramikkondensator 100N, 10% 0,05 5 0,25 muss Reichelt
X5R-G1210 100 SMD-Vielschichtkondensator G1210-100UF 6,3V 0,45 2 0,9 muss reichelt
10mm RDB LED diffus, commen anode (plus) 0,2 4 0,8 100 muss ebay china
TSOP4338 IR-Empfänger-Module 38kHz AGC3 0,67 4 2,68 muss farnell
TS 1117 BCW33 3,3V Spannungsregler 0,3 1 0,3 muss reichelt
SMD Wiederstand 0805 0,05 13 0,65 muss reichelt
JST-XH 4-Pol Buchse 0,12 2 0,24 muss ebay china
Stiftleiste muss ebay china
Hubmagnet ca. 7 1 7 optional ebay
Lötjumper 3 *g* unbedingt reichelt

Sonstiges

Bezeichnung Verwendung Einzelpreis Anzahl Gesamtpreis Bestellmenge Anmerkungen Link
Nebelmaschine + Nebelfluid B ? 1 ? optional
UV Lampe ? ? optional

Software

Client, Server Kommunikation

Aufbau einer Nachricht: (Befehl, Nachricht)

  1. Befehl: Befehls ID z.B. 1 für ich möchte mich am Spiel anmelden.
  2. Nachricht: Im fall von 1 blau oder Grün für das Team zu das man möchte.

Designdokument Config

Waffe
 ID: uint16_t
 Name: string
 Schussmodi[]
  ID: uint16_t
  Munitionsname: string
  Schaden_Schild: uint16_t, Schild/Treffer
  Schaden_Körper: uint16_t, leben/Treffer
  Leben_absaugen: uint16_t, leben/s
  heilen: uint16_t, leben/s
  Schussfrequenz: uint16_t, ms
  Magazingröße: uint32_t
  Anzahl_Schüsse: uint32_t
  Nachladezeit: uint16_t, ms
  Laser_Farbe: uint8_t
  Laser_Schusslänge: uint16_t, ms
  Sound_Schuss: string
  Sound_Schuss_magazin_leer: string
  Sound_nachladen: string
  Sound_getroffen_werden: string
  Haptik
  
Player
 ID: uint16_t
 Name: string
 Team: uint8_t
 Leben: uint16_t
 Leben_max: uint16_t
 Schild: uint16_t
 Schild_max: uint16_t
 aktuelle Waffe: uint16_t
 verfügbare Waffen[]

Spielmodus
 Name: string
 erlaubte Waffen[]
 Teams_janein: boolean
 Team_Anzahl: uint8_t
 Team_maxSpieler: uint8_t
 Scharfschalten mit Knopf vorne: boolean
 Flashlight an bei scharf: teamfarbe, weiss, aus
 TrefferzonenLED_Schultern: teamfarbe, weiss, aus
 TrefferzonenLED_vorne: teamfarbe, weiss, aus
 TrefferzonenLED_hinten: teamfarbe, weiss, aus
 TrefferzonenLED_Waffe: teamfarbe, weiss, aus

Notizen

  • LED Hardware PWM: PB2 (OC0A), PB3 (OC1A), PB4 (OC1B), PD5 (OC0B)
  • PD0 (RXD) + PD2 (INT0)
  • IR Sensor: Open Drain version!
  • Host: RaspberryPi oder Arietta G25
  • projekte/lasertag.1417380392.txt.gz
  • Zuletzt geändert: 2017/03/01 19:04
  • (Externe Bearbeitung)