Open Source Laser-Tag-System "CS-IRL-USP" & "CS-IRL-C4"
Vorwort
Laser-Tag (auch Laser Game, bzw. Laserspiel genannt) ist ein Strategie- / Sportspiel, bei dem Zielgenauigkeit, Reaktionsfähigkeit und Ausdauer gefragt sind. Vom Spielprinzip ähnelt es sehr dem Paintball.
Beim Laser- Tag wird jedoch nicht mit Farbkugeln geschossen. Der Gegner wird mit einem Infrarot-Signal markiert, was von einer Empfängerelektronik ausgewertet wird. Dies macht das Spiel im Gegensatz zum Paintball absolut ungefährlich.
Keiner läuft in Gefahr schmutzige Kleidung, bzw. blaue Flecken von in Hochgeschwindigkeit getroffenen Farbkugeln zu bekommen. In erster Linie geht es um den Spielspaß bei dem Taktik und Teamfähigkeit im Vordergrund stehen.
Und vor allem ist es eine Möglichkeit sich im richtigen Leben sportlich zu betätigen, anstatt am Computer nur den Mausknopf zu drücken.
Zum Spielen wird eine Gamer-Elektronik "Tagger" benötigt, die es in Deutschland nicht ohne weiteres zu kaufen gibt. Solche Tagger sind auch nicht billig und können im Schnitt 500 bis 750 EURO kosten.
Daher biete ich auf meiner Homepage ein "Do It Yourself" Open Source Laser-Tag-System zum Nachbauen an. Alle meine Schaltpläne, Leiterplattenlayouts und Softwaredownloads dürfen für nichtkommerzielle Zwecke genutzt werden.
Ein Nachbau ist somit erwünscht.
Zum Spielen werden mindestens zwei Personen oder mehr benötigt, die jeweils einen Tagger und dazugehörige Empfänger tragen müssen. Die Empfänger werden am Körper des Spielers befestigt.
Entweder werden diese am Oberkörper, Rücken und Schulter befestigt. Eine andere Methode ist es die Empfänger als Stirnband am Kopf zu tragen. In der Regel werden drei Empfänger am Körper platziert.
Alle Empfänger sind jeweils untereinander mit einem Kabel und zusätzlich mit dem Tagger elektrisch verbunden. Die Auswertung eines Treffers findet auf der Elektronik des Taggers statt.
Das Flash- Video zeigt ein Laser Tag Spiel mit drei platzierten Empfängern am Kopf:
Ausschnitt aus der Fernsehserie "Royal Pains", Season 2, Episode 10 (Universal Cable Productions) Ausgestrahlt auf RTL am 28. Februar 2012
Im Video ist auch gut zu erkennen, dass bei einem Treffer die Zielperson als getroffen markiert wird (Lampen am Empfänger leuchten auf). Der Tagger wird nach einem Treffer blockiert, dass keine weiteren Schüsse abgegeben werden können.
Die Frau hat das Spiel gewonnen, weil beide Gegner von ihrem Tagger markiert wurden.
Obwohl das Ganze Laser-Tag heißt kommt jedoch kein Laser zum Einsatz, denn dies wäre viel zu gefährlich. Dies gilt natürlich auch für meinen selbst entwickelten Tagger "CS-IRL-USP".
Hier kommt die gleiche Technik wie in einer Fernseh-Fernbedienung zum Einsatz.
CS-IRL-USP - Konzept
Aufbau des Taggers CS-IRL-USP
Dieser Tagger ist geformt im 1:1 Abbild einer HK USP, wie sie im Computerspiel Counter-Strike zu finden ist. Die Elektronik ist so konstruiert, dass sie als lose Leiterplatte bereits ihren Einsatz finden kann.
Ohne größeren mechanischen Aufwand kann die Elektronik als voll funktionsfähiger Tagger benutzt werden.
Die Elektronik bietet folgende Features:
ATMEGA32 CPU, getaktet mit 16 MHz, über Standard ISP-Steckverbinder programmierbar
Zweistellige 7-Segmentanzeige / Munitionsanzeige
Nachbildung einer "HK USP", entsprechend können 12 Schuss abgegeben werden bevor das Magazin leer ist
Über eine Reload-Taste wird der Tagger nachgeladen
3 rote LEDs für HP-Anzeige (Health Point Anzeige)
Weiße LED als Effekt-Anzeige bei der Abgabe eines Schusses
Duo-LED zur Anzeige des zugehörigen Teams - daraus ergeben sich drei Möglichkeiten: Team "ROT", Team "GRÜN" und Orange für Spielmodus "Deatchmatch"
8 Ohm oder 16 Ohm Lautsprecher für Soundeffekte, über ein Poti kann die Lautstärke geregelt werden
9V Akku kann über eine DC-Buchse mit externen Netzteil aufgeladen werden
Infrarot Transmitter im 950nm Bereich (Mechanik mit Linse für die Bündelung des IR-Lichts ist nötig)
Drei Empfänger jeweils bestückt mit 3x TSOP4838 und einer hellen LED für die Trefferanzeige
Das Bild zeigt den prinzipiellen Aufbau des Taggers.
Tagger Hardware (Konzept) "CS-IRL-USP" (auf das Bild klicken um es zu vergrößern)
CS-IRL-USP - Funktion & Schaltplan
IR Transmitter
Wie jede andere Leuchtdiode erzeugt auch eine IR Transmitter Diode Licht, was allerdings vom menschlichen Auge nicht wahrgenommen werden kann. Sichtbares Licht liegt etwa im Bereich von 400nm bis 700nm.
Die Wellenlänge des erzeugten Lichts der IR Transmitter Diode liegt bei 950nm (Nanometer). Diese Wellenlänge wird vorzugsweise für Fernsehbedienungen genutzt um Informationen zu übertragen (Fernsehprogramm auswählen, Lautstärke einstellen usw.).
Auf dem gleichen Prinzip funktioniert dieser Tagger. Wie eine Fernsehbedienung wird hier das Signal per Infrarot übermittelt. Das Lichtsignal wird im Gegensatz zur Fernsehbedienung auf einen 2-3cm breiten Lichtstrahl fokussiert.
Dies ist nötig, damit nicht alle Gegner ohne zielen auf einmal getroffen werden können. Die Bündelung des Lichtstrahls erhöht auch seine Reichweite. In der Schaltung ist zu sehen, wie der IR Transmitter angesteuert wird.
Über einen N-Channel Power MOSFET (N300) wird die IR-Diode von der CPU geschaltet.
IR Transmitter Diode geschaltet durch N-Channel Power MOSFET
IR-Receiver
Der Empfängerbaustein TSOP 4838 ist speziell für den Empfang von infrarotem Licht im Bereich um 950nm ausgelegt.
Zusätzlich reagiert der Empfängerbaustein nur dann, wenn das Licht mit einer Trägerfrequenz von 38 kHz auftrifft (38000 mal in der Sekunde das Licht ein- und ausschalten).
Der Empfängerbaustein TSOP 4838 hat einen "Open Collector" Ausgang mit integrierten 30 KOhm Pull-Up-Widerstand. Das bedeutet, dass mehrere Empfängerbausteine zusammen geschaltet werden können indem die Ausgänge zusammen verbunden werden.
Auf diese Weise wird der Empfang verbessert. Trifft ein 38 kHz Signal auf den Empfängerbaustein, erzeugt er ein Low-Signal an seinem Ausgang, was von der CPU ausgewertet werden kann.
Auf dem Schaltplan ist zu sehen, dass je Empfängerbaugruppe jeweils 3 Empfängerbausteine verbaut sind, die in unterschiedliche Richtungen schauen.
Verbunden wird die Empfängerbaugruppe mit einem RJ12-Kabel. In diesem Kabel werden 3 Adern benötigt. Zwei für die Versorgungsspannung (+5 Volt und Masse) und eine für das Empfangssignal vom Empfängerbaustein.
Wegen der Verdrehung des Kabels sind alle 6 Adern am RJ12 Stecker angeschlossen. Somit muss nicht auf eine Steckreihenfolge geachtet werden. Die CPU kann das Empfängersignal selbst auf Masse schalten.
Der PNP-Transistor (T400) Schaltet bei Low-Signal die superhelle Leuchtdiode V405 an und signalisiert einen Treffer.
Damit der Empfängerbaustein sauber arbeiten kann, wird seine Versorgungsspannung durch den Widerstand R400 und dem Kondensator C400 geglättet.
IR-Receiver mit Empfängerbaustein TSOP 4838
7-Segment Anzeigen
Die 7-Segment Anzeigebausteine haben eine gemeinsame Anode. Das bedeutet, dass die internen Leuchtdioden der Segmentanzeige alle auf der Anodenseite verbunden sind.
Die jeweiligen Kathoden werden von der CPU über einen Vorwiderstand bei bedarf auf Masse geschaltet um das jeweilige Segment zum Leuchten zu bringen.
Über die Signale AMMO1 und AMMO10 kann die 1er, bzw 10er Stelle ausgewählt werden. Die Transistoren T110/T111 geben den Stromfluss dazu frei.
Auf diese Weise kann immer nur eine 7-Segmentanzeige leuchten. Durch schnelles Abwechseln der ausgewählten 7-Segmentanzeige erscheint es für das menschliche Auge, als ob beide Anzeigen gleichzeitig leuchten würden.
Eine Zweistellige Zahl kann über diese Methode flimmerfrei dargestellt werden.
Ansteuerung der 7-Segment Anzeigen
Audio DAC
Der Tagger unterstützt Soundeffekte, wie Tastenklick, Schussgeräusche, Nachladen usw. Die Sounds sind als digitale Samples (8 Bit bei 8 kHz) in der ATMEGA CPU abgelegt.
Die digitalen Samples werden beim Abspielen über ein R2R-Netzwerk (R150-157 / R160-167) von digital nach analog gewandelt. Diese Wandlung wird als "Digital Analog Converter" (DAC) bezeichnet.
Das AUDIO AMPLIFIER IC TDA 7052 (N200) verstärkt das analoge Audio- Signal und gibt es auf einen Lautsprecher.
Das IC ist für Lautsprecher mit 8 Ohm und 16 Ohm spezifiziert und hat eine Ausgangsleistung von etwa 0,55 Watt (bei 16 Ohm), bzw. 1 Watt (bei 8 Ohm).
Über das Potentiometer R200 kann die Lautstärke reguliert werden. Aus dem Modellbau gibt es einen Lautsprecher (ESU 50327), der für Lokomotiven-Geräusche eingesetzt wird.
Das Layout ist so konzipiert, dass dieser Lautsprecher, bestehend aus zwei Lautsprecherkapseln, auf der Schaltung Platz findet. Die beiden Lautsprecherkapseln habe ich Reihe geschaltet um den Impedanz-Widerstand zu erhöhen.
Alternativ kann jeder andere lautsprecher mit 8 Ohm oder 16 Ohm verwendet werden (siehe Bilder auf der CS-IRL-USP Hardware-Seite).
Digital Analog Converter über R2R-Netzwerk und Audio Amplifier
Spanungsversorgung
Eine 9V Akkubatterie (eigentlich sind es nur 7 * 1,2 Volt = 8,4 Volt) versorgt den Tagger mit Strom. Ein DC/DC Wandler (N1) vom Typ R785,0-0.5 erzeugt die benötigte +5 Volt Versorgungsspannung für die Elektronik.
Der DC/DC Wandler benötigt am Eingang mindestens 6,5 Volt. Die Akku-Spannung darf somit auf minimal 6,5 Volt abfallen. Die Akkulaufzeit hängt vom durchschnittlichen Stromverbrauch und der Kapazität des Akkus ab.
Nehmen wir an, die Schaltung verbraucht im Durchschnitt 100 mA, dann würde das bei einem 200 mAh Akku "200 mAh : 100 mA = 2 Stunden" Spielspaß bedeuten.
Spanungsversorgung mit 9V Akku
Akku Ladeschaltung
Es gibt die Möglichkeit den Akku über die Elektronik aufzuladen. Dazu muss an der DC-Buchse (J1) ein Netzteil mit 12V Gleichspannung angeschlossen werden. Die Software ist so programmiert, dass sie NiMh-Akkus laden und überwachen kann.
Bitte keine anderen Typen Akkus verwenden. Gerade Li-Ionen-Akkus können bei falscher Ladung mit einem Knall kaputt gehen! Die Diode (V2) dient dem Verpolungsschutz. Der Spannungsregler LM317 (N2) ist als Konstantstromquelle geschaltet.
Durch den 9,1 Ohm Widerstand (R3) wird der Stromfluss auf 137mA begrenzt. Der Spannungsteiler, bestehend aus R1/R2 setzt die Akku- Spannung herunter, dass die CPU diese über den internen ADC (Analog Digital Converter) ausmessen kann.
Über die Software kann durch langes Halten des ACTION-Knopfs die Schaltung in eine Ladeüberwachung gesetzt werden. Über die Segmentanzeige wird der aktuelle Ladestatus angezeigt.
Das Layout besteht aus einem Paar Tagger, was im Nutzen zusammengefasst ist. Auf den Bildern ist zu sehen, wie dieser Nutzen, bestehend aus zwei Taggern mit sechs Empfängerbaugruppen, nach der Bestückung aussehen kann.
Die Bilder zeigen die erste Revision, also den ersten Prototypen und können zum aktuellen Stand kleinere Veränderungen aufzeigen. Das Layout wurde mit dem Programm Eagle erstellt.
Viele Leiterplattenhersteller unterstützen das Board-Format, was von der Eagle-Software erzeugt wird. Das Board-File (.brd) kann ohne weitere Anpassungen für eine Leiterplattenfertigung verwendet werden.
Tagger "CS-IRL-USP" Hardware PCB (Bild 1) (auf das Bild klicken um es zu vergrößern)
Download Eagle Board-File (.brd) für die Fertigung eines Tagger-Paares mit 6 Empfänger.
ACHTUNG: Das Fertigen von Leiterplatten in geringen Stückzahlen kostet entsprechend Geld.
Ich übernehme keine Gewähr für die Richtigkeit und Funktion der angegebenen Fertigungsdaten! CS-IRL-USP_PCB.brd
Diese Materialliste ist ein Vorschlag. Für viele Bauteile gibt es Alternativen und diese können variiert werden. Beispiel: Der Schalttransistor BC807-40.
Theoretisch funktioniert auch jeder andere PNP-Transistor, der ca. 150mA Strom schalten kann und vom Pinning her passt.
Das Bild zeigt den fertigen Aufbau eines Taggers. Zum Befestigen der drei Empfängerbaugruppen dient eine Baseballmütze. Die Empfängerbaugruppen sind fest angenäht. Über die RJ12 Leitungen werden die Elektroniken mit einander verbunden.
Als IR-Emitter-Diode kommt die TSTS 7100 zum Einsatz. Diese IR-Diode hat bereits eine Optik im Bauteil integriert und bietet einen Abstrahlwinkel von +/-5°, was im Zusammenhang mit dem 17cm langen Rohr gute Ergebnisse liefert und den mechanischen Aufwand klein hält.
Tagger "CS-IRL-USP" komplett (Bild 5) (auf das Bild klicken um es zu vergrößern)
Hier noch ein kleines Flash Video, was die Funktion des Taggers demonstriert:
Video "CS-IRL-USP"
CS-IRL-USP - Firmware
Fuses setzen & Frimware programmieren
Damit die Schaltung funktioniert, muss die Firmware ins Flash programmiert werden und es müssen die Fuses vom ATMEGA gesetzt werden. Bei den Fuses handelt es sich um grundsätzliche Einstellungen der CPU.
Es wird unter anderen festgelegt, mit welcher Taktfrequenz die CPU arbeiten soll. Werden die Fuses nicht richtig gesetzt, dann arbeitet die CPU nicht in der richtigen Geschwindigkeit.
Folgende Fuses müssen für den korrekten Betrieb gesetzt werden. Das Bild zeigt die Einstellungen der Fuses mit der Software AVR Burn-O-Mat.
Gegenüber den Grundeinstellungen wird ein externer Quarz mit 16 Mhz und Brown out detection bei 4,0 Volt aktiviert. Nach dem Schreiben der Fuses arbeitet die CPU mit 16 Mhz und löst ein korrektes Reset bei einer Unterspannung (leeren Akku) aus.
Fuses einstellen im ATMEGA mit der Software AVR Burn-O-Mat
Zum Programmieren des Flashs reicht es aus die cs-irl-usp_v_xx.hex auszuwählen und dann ins Flash zu schreiben. Ein anschließendes Verify kontrolliert, ob die Daten richtig geschrieben wurden. Danach ist der Tagger bereit zur Benutzung!
Firmware
Download der Firmware inklusive Source-Code. Im Archiv enthalten sind die compilierten Versionen für die Hardware CS-IRL-USP und CS-IRL-C4. CS-IRL_Firmware_V0.86.zip
CS-IRL-USP - Bedienung
How To Use
Grundsätzlich kennt der Tagger zwei Betriebsmodi:
1. Akku-Ladeüberwachung
2. Spiel-Modus
1. Akku-Ladeüberwachung
Als erstes ist zu erwähnen, dass die Akku-Ladeüberwachung nur mit NiMh- Akkus funktioniert!
Der Tagger geht automatisch in die Akku-Ladeüberwachung, so bald er mit Strom versorgt wird, auch dann, wenn kein Ladenetzteil angesteckt ist.
Manuell kann der Tagger in die Akku-Ladeüberwachung mit langen halten der ACTION-Taste gesetzt werden (schwarze Taste, zu sehen auf dem Bild).
Während der Ladeüberwachung zeigt die Segmentanzeige abwechselnd die Buchstaben "AC" (Accu Control) und die aktuelle Batteriespannung. Im Bild ist zu sehen, dass am Akku 9,6 Volt gemessen wurde.
Erkennt die Software, dass die Spannung am Akku steigt, geht die Software davon aus, dass der Akku gerade lädt.
Die Segmentanzeige symbolisiert das durch kurzzeitiges abwechselndes Aufleuchten der Buchstaben „AC“ und der gemessenen Akkuspannung und einer grünen Team-LED.
Die meiste Zeit bleibt die Anzeige dunkel. Der auf 137 mA eingestellt Ladestrom am LM317 fließt somit ausschließlich zum Laden in den Akku.
So bald der Akku voll ist, sinkt die Spannung leicht ab. Dies wird von der Software ausgewertet und symbolisiert das durch die 3 rot leuchtenden LEDs auf der linken Seite.
Die Segmentanzeige leuchtet dann dauerhaft. Der auf 137mA eingestellte Ladestrom am LM317 fließt somit überwiegend in die Anzeige der LEDs. Nur ein geringer Teil des Stromes fließt noch in den Akku zwecks Ladeerhaltung.
Trotz dem empfehle ich bei Nichtnutzung des Taggers den Akku von der Schaltung zu trennen, um eine Überladung des Akkus vorzubeugen.
Ladestatus: 9,6 Volt !!! AUF KEINEN FALL Li-Ionen-Akkus MIT DER SCHALTUNG LADEN !!!
2. Spiel-Modus
Um in den Spielermodus zu kommen, muss mit der ACTION-Taste das Team ausgewählt werden (wiederum schwarze Taste). Die Segmentanzeige zeigt für kurze Zeit der Auswahl ein "SE" (SElect) an.
Die Team- LED wechselt bei jeden Drücken der ACTION- Taste die Farbe zwischen rot, grün und orange. Rot und Grün stehen für Teamzugehörigkeit zu diesen Farben.
Orange bedeutet Spielmodus "Deathmacht" und jeder spielt gegen jeden. Nach dem Aussuchen des Teams muss in kurzer Zeit die FIRE-Taste gedrückt werden. Wird zu lange gewartet, verbleibt der Tagger in der Akku-Ladeüberwachung.
ACTION-Taste, Team auswählen (Select)
Im Spielermodus wird auf der Segmentanzeige die Anzahl der verfügbaren Schüsse angezeigt. Entsprechend einer HK USP sind dies 12. Bei jeden Drücken der FIRE- Taste zählt die Anzeige um ein zurück, bis alle Schüsse aufgebraucht sind.
Die roten Lampen zeigen den Lebensstatus (Health Points) an. Bei jeden empfangenden Treffer wird ein Health Point abgezogen, bis alle roten Lampen ausgegangen sind. Die Team-LED zeigt blinkend das zugehörige Team an.
Um Energie zu sparen, wird die Health Point Anzeige und die Segmentanzeige nach kurzer Zeit ausgeschaltet. Nur die Team-LED blinkt weiter. Über die ACTION-Taste oder jeglicher anderer Aktivität werden die Anzeigen wieder kurzzeitig aktiviert.
7-Segmentanzeige mit Anzeige 12 Schuss und 3 HP
Mit der RELOAD-Taste (rote Taste) kann das Magazin nachgeladen werden. In der Zeit des Nachladens blinkt die Segmentanzeige und es können keine Schüsse abgegeben werden. Der Tagger ist aber weiterhin empfangsbereit für Treffer.
Wurden 3 Treffer empfangen, wird auf der Segmentanzeige ein "d" für Death angezeigt und die LEDs auf den Empfängern signalisieren dieses zusätzlich durch helles Leuchten.
Die Segmentanzeige wechselt nach einiger Zeit von "d" auf "r", was signalisiert, dass der Spieler sich mit einem Respawn, durch Drücken der RELOAD-Taste, zurück ins Spiel bringen kann.
RELOAD-Taste
CS-IRL-C4 - Funktion & Schaltplan
Beschreibung
Die C4 Elektronik basiert auf dem gleichen Prinzip des CS-IRL-USP Taggers und ist mit dieser kompatibel.
Alle Schaltungsteile wie IR Transmitter, IR- Empfänger, 7-Segment Anzeige, Audio DAC, Spannungsversorgung und Akku Ladeschaltung sind identisch aufgebaut. Lediglich den Anschluss für die Empfängerbaugruppen gibt es nicht.
Ein Empfänger zum Legen und Entschärfen der C4 ist auf der Leiterplatte platziert. Für die Elektronik der C4 wird nur ein Taster benötigt. Die anderen Taster sind per Stiftleiste herausgeführt, werden aber nicht benutzt.
Rein theoretisch lässt sich diese Leiterplatte auch als Tagger nutzen, sofern sie in ein aufwendig gestaltetes Gehäuse gesetzt wird.
"CS-IRL-C4" Schaltplan (auf das Bild klicken um es zu vergrößern)
Das Bild zeigen eine aufgebaute C4 Elektronik, die über einen Tagger gelegt, bzw. entschärft werden muss. Der Empfänger ist direkt auf der Leiterplatte montiert. Als Sendediode wird eine TSLA6200 wegen der breiteren Streuung genutzt.
Bei der Explosion der C4 wird ein Signal ausgesendet um alle umliegenden Tagger außer gefächt zu setzen. Der auf der Rückseite montierte Lautsprecher unterstützt dies mit Soundeffekten.
"CS-IRL-C4" Hardware PCB (auf das Bild klicken um es zu vergrößern)
Eagle Board-File
Download Eagle Board-File (.brd) für die Fertigung einer C4 Elektronik.
ACHTUNG: Das Fertigen von Leiterplatten in geringen Stückzahlen kostet entsprechend Geld.
Ich übernehme keine Gewähr für die Richtigkeit und Funktion der angegebenen Fertigungsdaten! CS-IRL-C4_PCB.brd