Bauanleitungen
Die Props von Atalaia werden aus handelsüblichen Teilen rund um ein ESP32-Board gebaut, ohne eigens gefertigte Leiterplatte. Hier stehen die Pins und Schaltpläne der Field Box sowie die Anleitungen für den Satelliten, den I/O-Pod und das Ziel-Addon, gekürzt; die vollständigen Anleitungen mit allen Prüfungen und den Tabellen zur Fehlersuche liegen im Repository (auf Englisch und Portugiesisch). Um die Firmware auf eine Platine zu bringen, lade eine fertige Version herunter oder baue sie selbst: die Firmware-Anleitung (Englisch) erklärt beides. Der Feld-Controller hat eine eigene Einrichtungsanleitung (Englisch). Das Modem hat eine eigene Modem-Anleitung (Englisch).
Unsicher, was womit verbunden ist? So sprechen die Teile miteinander →
Nach diesen Anleitungen wurde noch keine Box gebaut, und die Field Box hat noch kein Gehäuse. Es gibt nur einen Aufbau der Field Box auf dem Labortisch (lose Kabel), der Spiele spielt. Die Pins werden automatisch mit der Firmware abgeglichen, aber jeder Schritt am echten Teil (Gehäuse, Stromversorgung, Laufzeit, Funkreichweite) ist ungetestet, und die Fotos der anderen Boxen kommen mit deren ersten Aufbauten. Wenn du eine baust, erzähl uns, was du dabei findest.
Zuerst die Sicherheit
Diese Regeln gelten für jeden Aufbau auf dieser Seite, wie für die Field Box.
- Schalte ein Board nie ohne seine LoRa-Antenne ein, auch nicht über USB: Senden in einen offenen Antennenausgang kann den Verstärker des Funks zerstören. Schließ zuerst beide Antennen an und lass sie dran.
- Nur eine Li-Ionen-Zelle in Reihe (1S, 3,0–4,2 V): geschützte Zellen, eine Sicherung nahe an der Zelle und eine Diode gegen eine verkehrt eingesetzte Zelle. Akkubuchse und Ladeschaltung des Boards vertragen eine Zelle; ein 2S-Akku zerstört sie. Prüf vor jedem Anschließen die Polung mit einem Multimeter: kleine Akkustecker haben keine einheitliche Polung.
- Lade nur unter Aufsicht, nie in einem geschlossenen Koffer, nur zwischen etwa 0 und 45 °C, und bewahr die Zellen beim Arbeiten in einem feuerfesten Beutel auf, außerhalb der Box. Benutz nie eine Zelle, die verbeult, aufgebläht, heiß oder unter 2,5 V ist.
- Nur 3,3-V-Signale ans Board: Der LED-Ring wird über einen Pegelwandler angesteuert, und jedes I2C-Modul muss seine Leitungen auf 3,3 V ziehen, nie auf 5 V.
- Schließ nie etwas an GPIO 5 oder 46 an (das Funk-Frontend) und nichts an GPIO 34 oder 38–42 (der GPS-Anschluss des Boards).
- Kein Spiel vor der Messung der Sendeleistung aus der Inbetriebnahme-Liste: Die Firmware hält den Funk mit einer Verstärkung, die noch nicht gemessen wurde, im gesetzlichen Rahmen.
- Kunststoff, nie Metall (der Funk muss hinaus), wetterfest, in einer kräftigen Farbe mit einem „GAME PROP“-Aufkleber, und nichts, das wie ein Sprengsatz aussieht.
- BBs und Paintballs werden sie treffen. Halte Zellen und Boards von den Wänden fern und aus der Schusslinie, schütz einen Handybildschirm mit klarem Polycarbonat (nie Glas), und stell eine Box nie so auf, dass jemand auf sie schießen muss, außer sie ist ein Ziel.
Field Box
Das Haupt-Prop, mit Team-Tastern, Tastenfeld, Farbdisplay, LED-Ring, NFC-Leser und Lautsprecher. Ihre Bauanleitung (auf Englisch und Portugiesisch) hat die Teile, die Schaltpläne, Stromversorgung und Akkusicherheit, das erste Flashen und die Fehlersuche; die Anleitungen unten verweisen bei jedem gemeinsamen Schritt darauf.
Der erste Aufbau auf dem Labortisch
Die Field Box gibt es jetzt außerhalb des Papiers, aber nur als Aufbau auf dem Labortisch: das erste Board, das ein ganzes Spiel spielt, mit Display, Tastern und Tastenfeld an losen Kabeln und noch ohne Gehäuse. Es ist kein fertiges Produkt und keine nach den Anleitungen gebaute Box.
Pins
Die Voreinstellungen der Firmware. Jeder Pin des Boards, der nicht in dieser Tabelle steht, bleibt unbeschaltet.
| Was | GPIO |
|---|---|
| Team-Taster 1 (das erste Team des Spiels) | 4 |
| Team-Taster 2 (das zweite Team) | 48 |
| Team-Taster 3, optional (die Empfangsleitung von UART0 des Boards) | 44 |
| Team-Taster 4 (am Port-Expander des Tastenfelds) | PCF8574 P7 |
| Tastenfeld, über den Port-Expander PCF8574 (Adresse 0x20) | PCF8574 P0–P6 |
| Daten des LED-Rings, über den Pegelwandler 74AHCT125 | 35 |
| MOSI des Displays (SPI) | 33 |
| Takt des Displays (SCK) | 47 |
| Chip-Select des Displays (CS; der Akkuspannungs-Pin des Boards, als Ausgang benutzt) | 1 |
| Daten/Befehl des Displays (DC) | 3 |
| RESET und Hintergrundbeleuchtung des Displays: beide an den 3V3-Pin, kein GPIO | 3V3 |
| I2C SDA, für den Port-Expander des Tastenfelds, den NFC-Leser und die Akkuanzeige (der eigene Bus des Boards) | 17 |
| I2C SCL | 18 |
| BCLK des Verstärkers (optional) | 6 |
| LRC des Verstärkers | 15 |
| DIN des Verstärkers | 16 |
GPIO 1, 35 und 44 sind Pins des Boards, die die Field Box absichtlich mitbenutzt, jeder nur für diesen einen Zweck: 1 ist der Akkuspannungs-Eingang des Boards (die Akkuanzeige liest den Akku per I2C), 35 seine weiße LED (sie flackert leicht mit dem Ring) und 44 die Empfangsleitung von UART0 (die USB-Konsole bleibt unberührt).
Schaltpläne
Zwei Zeichnungen, erzeugt aus den WireViz-Dateien des Repositorys: die Signale samt 3,3-V-Logikversorgung sowie Akku, Schalter und 5-V-Schiene. Die Pins des Boards sind nur mit der GPIO-Nummer benannt: Such jeden Pin an der Nummer, die neben seinem Anschluss aufgedruckt ist. Die Bezeichnungen (Pins, Leitungen, Teile) bleiben in allen Sprachen englisch, wie im Repository; widersprechen sich Text und Zeichnung, gilt die Zeichnung.
Der Schaltplan ist sehr breit: Tipp oder klick darauf, um ihn in voller Größe zu öffnen, wo du zoomen und verschieben kannst. Er liegt auch im dunklen Design auf einem weißen Blatt, damit die Leitungsfarben stimmen.
Satellit
Eine kleine Box für einen Nebenpunkt oder ein Leuchtfeuer: das Board der Field Box mit zwei großen Team-Tastern (ein dritter geht auch), einem LED-Ring, der das haltende Team zeigt, dem kleinen Display des Boards selbst und einer 18650-Zelle. Etwa 30–40 € an Teilen (die Schätzung des Projekts). Er läuft mit der Firmware der Field Box selbst, nur mit weniger Teilen: Die Firmware meldet beim Start jedes fehlende Teil einmal und läuft weiter.
Ohne Tastenfeld kann er kein Spiel selbst wählen: Er spielt die Spiele, zu denen ihn ein Feld-Controller einlädt, als Satellit oder Master bei Master und Satelliten oder als Zone in jedem Modus, der nur Team-Taster braucht (Domination, Hold-All Domination, Last Stand). In ein Feld aufgenommen wird er per USB-Kabel oder mit dem Kopplungscode auf seinem kleinen Display (für eine Feldkarte hat er keinen NFC-Leser).
Teile
- Board Heltec WiFi LoRa 32 V4, Revision V4.2 oder V4.3, 863–928 MHz, ohne Gehäuse.
- Eine 868-MHz-Antenne mit höchstens 2 dBi (die aus dem Kit des Boards) und eine 2,4-GHz-Antenne, die Pflicht ist: Ersteinrichtung, Modus-Downloads und Firmware-Updates laufen über WLAN.
- Zwei (oder drei) 60-mm-Arcade-Taster mit 5-V-LED.
- Ein LED-Ring WS2812B (24 LEDs als Voreinstellung; 12 oder 16 mit einer Firmware-Einstellung), mit dem Pegelwandler 74AHCT125, einem 330-Ω-Widerstand und einem 1000-µF-Kondensator, auf einer kleinen Lochrasterplatine.
- Eine Akkuanzeige MAX17048, empfohlen: Ohne sie kennt die Box ihren Akkustand nie.
- Eine geschützte 18650-Zelle in einem Halter (oder ein 1S-Akku mit Schutzplatine), eine 5-A-Sicherung, eine Schottky-Diode, ein abgedeckter Hauptschalter, ein 5-V-Aufwärtswandler für den Ring und Hebelklemmen: die Stromversorgung der Field Box mit einer Zelle.
- Ton nach Wunsch: der Verstärker MAX98357A der Field Box und ein kleiner Lautsprecher.
- Ein IP65-Kunststoffgehäuse in einer kräftigen Farbe, mit Druckausgleich und Kabelverschraubungen, und „GAME PROP“-Aufkleber.
Pins
Die Voreinstellungen der Firmware. Jeder Pin des Boards, der nicht in dieser Tabelle steht, bleibt unbeschaltet.
| Was | GPIO |
|---|---|
| Team-Taster 1 (das erste Team des Spiels) | 4 |
| Team-Taster 2 (das zweite Team) | 48 |
| Team-Taster 3, optional (die Empfangsleitung von UART0 des Boards) | 44 |
| Daten des LED-Rings, über den Pegelwandler 74AHCT125 | 35 |
| I2C SDA, für die Akkuanzeige (der eigene Bus des Boards) | 17 |
| I2C SCL | 18 |
| BCLK des Verstärkers (optional) | 6 |
| LRC des Verstärkers | 15 |
| DIN des Verstärkers | 16 |
Die Firmware steuert die Display-Pins der Field Box (GPIO 1, 3, 33 und 47) weiter an: Lass sie unbeschaltet.
Seine Verdrahtung ist eine Teilmenge der Verdrahtung der Field Box: Folge den Schaltplänen der Field Box und lass die Teile weg, die dieser Aufbau nicht hat (das Farbdisplay, das Tastenfeld und den NFC-Leser). Ein eigener Schaltplan existiert noch nicht.
Schritte
- Lies den Chip neben dem LoRa-Antennenanschluss des Boards: KCT8103L ist eine V4.3 (die Voreinstellung der Firmware), GC1109 eine V4.2. Schließ beide Antennen an und beschrifte sie, bevor das Board zum ersten Mal Strom bekommt.
- Plan das Gehäuse auf Papier und bohr alle Löcher, bevor Elektronik hineinkommt: Taster und Ring in den Deckel, den Schalter versenkt oder abgedeckt, den Druckausgleich unten.
- Bau die Stromversorgung ohne das Board: Zelle, Sicherung, Diode, Schalter, Klemmen; stell den Aufwärtswandler allein auf 5,0–5,2 V ein, bevor irgendetwas daran hängt.
- Bau die kleine Verteilerplatine: die Schienen 3V3, GND und 5V (und SDA und SCL für die Akkuanzeige) und den Pegelwandler, wie in der Anleitung der Field Box.
- Schließ die Taster (beim Drücken nach GND), den Ring über den Pegelwandler, die Akkuanzeige und den optionalen Verstärker an, nach den Pins oben.
- Prüf mit dem Multimeter, ohne Zelle: kein Kurzschluss zwischen den Schienen, jeder Taster nur beim Drücken, die Polung des Akkukabels zum Board.
- Bau und flash die Firmware der Field Box, wie ihre Anleitung es beschreibt, für deine Board-Revision und die LED-Zahl deines Rings.
- Mach die Schritte der Inbetriebnahme, die für einen Satelliten gelten: Start, Taster, LEDs, Akku, und den Funk mit seiner Sendeleistung vor jedem Spiel.
- Gib ihm auf seiner WLAN-Einrichtungsseite vom Handy aus einen Namen, die Region und eine Admin-PIN, nimm ihn per USB-Kabel oder Kopplungscode in dein Feld auf und lade ihn in der GM-Konsole zu einem Spiel ein.
Noch nicht entschieden
- Der Piezo-Summer aus dem ursprünglichen Entwurf: Die Firmware gibt Ton nur über den Verstärker aus, ein Summer bräuchte also eine Änderung an der Firmware.
- Das Gehäuse: Es ist noch keins ausgewählt.
- Die Laufzeit mit einer Zelle: nicht gemessen.
- Ein eigener Schaltplan: Vorerst zeigen die Schaltpläne der Field Box jedes Kabel, das ein Satellit hat.
Die vollständige Anleitung (auf Englisch und Portugiesisch): Bauanleitung des Satelliten.
I/O-Pod
Die Box, die einem Android-Prop leiht, was einem Handy fehlt: große Team-Taster, ein Tastenfeld, einen LED-Ring, Ton, einen NFC-Leser, einen Schalter, der meldet, wenn die Box geöffnet wird, und einen LoRa-Funk. Das Handy führt den Spielmodus aus; der Pod ist seine Hände und sein Funk, per USB-Kabel oder Bluetooth. Er ist die Hardware der Field Box ohne Farbdisplay, mit der Pod-Firmware, die auf einem Computer getestet ist, aber noch nicht auf einem Board. Etwa 35 € an Teilen (die Schätzung des Projekts).
Außer dem Board ist jedes Teil optional: Der Pod sagt dem Handy, was er hat, und das Handy nutzt nur das. Taster 1 ist das erste Team des Spiels, wie bei einer Field Box. Ein geöffnetes Gehäuse erreicht die GM-Konsole als Manipulationsalarm.
Teile
- Die Teile der Field Box ohne Display: das Board, die Taster (bis zu vier), das Tastenfeld mit seinem Port-Expander PCF8574, der LED-Ring mit Pegelwandler, der NFC-Leser PN532, Verstärker und Lautsprecher, die Akkuanzeige und dieselbe Stromversorgung mit einer Zelle.
- Beide Antennen: LoRa, und 2,4 GHz für Bluetooth.
- Ein Mikroschalter, den der geschlossene Deckel gedrückt hält: der Gehäuseschalter.
- Eine USB-C-Einbaubuchse mit Datenleitungen (nicht nur zum Laden) für das Kabel des Handys, und ein USB-C-OTG-Kabel für das Handy.
- Nur auf der Werkbank: ein USB-Seriell-Adapter mit 3,3 V, um das Log des Pods zu lesen.
Pins
Die Voreinstellungen der Firmware. Jeder Pin des Boards, der nicht in dieser Tabelle steht, bleibt unbeschaltet.
| Was | GPIO |
|---|---|
| Team-Taster 1 (das erste Team des Spiels) | 4 |
| Team-Taster 2 (das zweite Team) | 48 |
| Team-Taster 3, optional (die Empfangsleitung von UART0 des Boards) | 44 |
| Team-Taster 4 (am Port-Expander des Tastenfelds) | PCF8574 P7 |
| Daten des LED-Rings, über den Pegelwandler 74AHCT125 | 35 |
| I2C SDA, für den Port-Expander des Tastenfelds, den NFC-Leser und die Akkuanzeige (der eigene Bus des Boards) | 17 |
| I2C SCL | 18 |
| BCLK des Verstärkers (optional) | 6 |
| LRC des Verstärkers | 15 |
| DIN des Verstärkers | 16 |
| Gehäuseschalter, nach GND | 47 |
| Log-Ausgang (UART0 TX): nur an den RX eines USB-Seriell-Adapters mit 3,3 V, auf der Werkbank | 43 |
Die übrigen Display-Pins der Field Box (GPIO 1, 3 und 33) nutzt der Pod nicht: Lass sie unbeschaltet.
Die Verdrahtung des Pods ist die der Field Box ohne Display: Folge den Schaltplänen der Field Box und lass das Display samt seinen Leitungen weg. Ein eigener Schaltplan existiert noch nicht.
Schritte
- Bau ihn wie eine Field Box ohne Display: Board-Revision, Antennen, Gehäuse, Stromversorgung, Verteilerplatine, dann Tastenfeld, Ring, NFC-Leser, Taster und Verstärker, die du einbaust, jeweils mit den Prüfungen der Anleitung.
- Befestige den Mikroschalter so, dass der geschlossene Deckel ihn drückt, und schließ ihn zwischen GPIO 47 und GND an. Der Pod überwacht ihn erst, nachdem er ihn einmal geschlossen gelesen hat; ein Pod ohne Schalter schlägt also nie Alarm.
- Bau die Pod-Firmware (
python tools/docker_fw.py pod) und flash sie aus dem Ordnerbuild-pod, wie die der Field Box. - Lies sein Log an GPIO 43 mit dem USB-Seriell-Adapter: Die USB-C-Buchse trägt die Verbindung des Pods zum Handy, nicht das Log.
- Verbinde ihn in der App über ein USB-C-OTG-Kabel, dann über Bluetooth (Android fragt einmal nach dem Koppeln).
- Mach die Inbetriebnahme-Prüfungen des Pods, auch die Sendeleistung des Funks vor jedem Spiel.
Noch nicht entschieden
- Eine eigene Sirene oder ein Blitzlicht: Der Ton des Pods ist sein Verstärker; andere Lasten zu schalten, kann seine Firmware nicht.
- Strom vom Handy: Am Kabel versorgt das Handy den Pod und lädt womöglich seine Zelle. Ob es das soll und wie viel Strom ein Handy liefert, wird beim ersten Aufbau geprüft.
- Das Gehäuse, und wie Handy und Pod zusammen getragen werden.
- Einstellungen vom Handy aus: Tasterfarben, LED-Zahl und der Rest werden vorerst beim Bauen der Firmware festgelegt.
Die vollständige Anleitung (auf Englisch und Portugiesisch): Bauanleitung des I/O-Pods, und die Prüfungen des Pods mit einem Handy in der Inbetriebnahme-Liste.
Funkmodem
Das Funkgerät des Controllers: ein zweites Heltec WiFi LoRa 32 V4, mit dem Modem-Image geflasht und in den USB-Anschluss des Feld-Controllers gesteckt. Ohne es läuft der Controller und die Konsole öffnet sich, aber nichts erreicht die Boxen und von ihnen wird nichts gehört. Es hat kein WLAN und braucht deshalb nur die LoRa-Antenne.
Ein so geflashtes Modem lief auf einem Prüfstand mit dem Controller und echten Boxen (ein Computer, der Controller in Docker). Auf einem Raspberry Pi ist es noch nicht gelaufen, auch nicht unter macOS und nicht auf einem Spielfeld.
Schritte
- Bringe die LoRa-Antenne an, bevor die Platine irgendeinen Strom hat, auch zum Flashen, und nimm ein USB-C-Datenkabel. Lege die Funkregion fest: Modem und Boxen müssen sie teilen.
- Lade
atalaia-modem-<Version>-usb.zipundSHA256SUMSvon den Releases herunter (V4.3, EU868) oder baue es selbst:python tools/docker_fw.py modem(V4.2, Taiwan, andere Antennen). - Lösche mit esptool 4.8.1 eine neue Platine und schreibe die Dateien aus
flash_args:esptool --chip esp32s3 -p PORT write_flash "@flash_args", mit dem PortCOM5unter Windows,/dev/ttyACM0unter Linux,/dev/cu.usbmodem…unter macOS. Unter Linux trittst du zuerst der Gruppedialoutbei. - Der Bildschirm der Platine zeigt den Turm und MODEM MODE, dann
LINK wartet(zuerst auf Englisch:LINK waiting). Das ist ein gesundes Modem, das noch keinen Controller hat. RADIO FAULT heißt, dass der Funkchip nicht gestartet ist. - Stecke es in den Controller, finde den Port (
ls /dev/ttyACM*), trage ihn in[modem] portvon/etc/atalaia/controller.tomlein und starte den Dienst neu (sudo systemctl restart atalaia-controller). - Der Bildschirm zeigt LINK OK, die Kopfzeile der Konsole zeigt Funk: aktiv, und das Protokoll des Controllers enthält
modem link up. - Schalte eine aufgenommene Box ein, lege ein Spiel an und lade die Box ein: sie geht über sende, eingeladen zu beigetreten, und der Bildschirm des Modems zählt Pakete.
Alle Befehle für jedes System, wie man den Port findet, und eine Tabelle zur Fehlersuche (Ladekabel ohne Daten, falscher Port, Port von einem anderen Programm belegt, dialout, andere Region, LINK waiting oder DOWN, RADIO FAULT, falsche Partitionstabelle): Set up the radio modem (Englisch).
Ziel-Addon
Noch nicht baubar: Die Seite der Box ist entschieden, das Addon selbst noch nicht. Schließ nach dieser Seite keine Zielplatte an eine Box an.
Eine Platte, auf die geschossen wird, mit einem Sensor, der jeden Treffer spürt. Sie wird an eine Box gesteckt und macht daraus ein punktendes Ziel für Zielfenster, dessen Regeln geschrieben und im Simulator getestet sind; das Fenster zeigt der Leuchtring der Box selbst.
Was entschieden ist
- Eine Platte aus Stahl oder Polycarbonat, ein Piezo-Sensor und ein eigener kleiner Prozessor (Klasse RP2040 oder ATtiny), der Treffer erkennt. Etwa 20–30 € an Teilen (die Schätzung des Projekts).
- Es wird an einen wasserdichten 5-poligen M12-Stecker an der Box angeschlossen, der nur 3,3 V führt: die 3,3 V des Boards, Masse und die beiden I2C-Leitungen; keine 5 V, und der fünfte Pin bleibt frei. Kabel bis 2 m. Sein Prozessor sagt der Box, was es ist, also braucht die Box keinen neuen Treiber pro Addon.
- Es darf der Box höchstens 25 mA entnehmen, über eine rückstellbare Sicherung: genug für Prozessor und Sensor, nicht für Licht. Zielfenster lässt den LED-Ring der Box selbst leuchten; ein Addon mit eigenem Licht braucht einen eigenen Akku.
- Keine Interrupt-Leitung: Die Box liest das Addon alle 20 ms über I2C, etwa 3 % des Busses, so erreicht ein Treffer das Spiel nach höchstens etwa 21 ms. Kein Pin der Box ändert sich. Die Firmware der Box kann das schon, getestet, und wartet auf das Addon.
- Die Skripte der Modi erhalten jeden Treffer mit seiner Stärke (0 bis 255) und können das Ziel scharf machen und entschärfen. Dasselbe ist für den I/O-Pod eines Handys festgelegt.
- Zielfenster lässt das Ziel ein paar Sekunden in der Farbe eines zufälligen Teams leuchten; ein Treffer, der in diesem Fenster stark genug ist, punktet für dieses Team.
- Danach kommen die eigene Firmware des Addons, die Box, die ihren Anschluss damit ausliest, und der Sensor, abgestimmt auf echten Platten aus Stahl und Polycarbonat; dann wird Zielfenster ein Modus, den eine Box anbietet.
Noch nicht entschieden
- Der Prozessor (RP2040 oder ATtiny, innerhalb der 25 mA) und seine Firmware.
- Die I2C-Adresse des Addons und wie es sagt, was es ist; wie ein Treffer gemeldet wird, gibt es als Entwurf, der mit dem ersten Addon endgültig wird.
- Die Prüfungen beim ersten Bau: die Pull-up-Widerstände des Busses mit 2 m Kabel, die Sicherung und der Schutz des Steckers gegen statische Entladung und Wasser.
- Die Sensorschaltung und ihre Befestigung, und die Platte, ihr Ständer und ihr Winkel.
Sicherheit, sobald es etwas zu bauen gibt
- Augen- und Gesichtsschutz für alle in Reichweite, solange jemand darauf schießt, auch auf der Werkbank.
- BBs prallen von einer harten Platte ab, und manche kommen zurück: Stell eine Stahlplatte schräg, sodass sie nach unten auf den Boden gehen, nie gerade zur schießenden Person.
- Nur die Platte ist Ziel: Schieß nie auf die Box, das Kabel oder den Stecker, und halte die Elektronik hinter der Platte oder in einem eigenen Gehäuse.
- Die Energiegrenzen des Felds gelten beim Schießen auf Ziele wie auf Menschen.
Was entschieden ist, mit den Dokumenten hinter jeder Entscheidung (auf Englisch und Portugiesisch): Anleitung zum Ziel-Addon.