Geocache Transposed - Teil 4

Die Software

Dies ist Teil 4 über den Bau eines Geocache Transposed (GCT), einer verschlossenen Box, die nur an einem geheimen Ort geöffnet wird. Der folgende Beitrag zeigt, wie die Software, die das Arduino-Mikrocontroller-Board steuert, konfiguriert wird. Teil 1 der Serie ist hier zu finden: GCT Teil 1

Die Software ist unter der CC BY-NC-SA 3.0 Lizenz auf Github veröffentlicht: https://github.com/stmichaelis/geocachet

Zusätzliche Bibliotheken

Der Quellcode benötigt mehrere Bibliotheken, die in der Arduino-Entwicklungsumgebung installiert werden müssen, die alle vom ursprünglichen Erfinder der Idee des umgedrehten Geocaches bereitgestellt werden:

Konfiguration

Die Software ist komplett lauffähig1, dennoch müssen natürlich mindestens die Standorte konfiguriert und überprüft werden, ob die Pin-Einstellungen zur Verkabelung passen.

Einstellungen, die angepasst werden müssen, sind im Quellcode mit TODO gekennzeichnet. Das Float-Array target_latlon nimmt Koordinatenpaare für die Reihenfolge der Ziele, die erreicht werden müssen, um die Box zu öffnen. Die ursprüngliche Box verwendete nur ein einziges Ziel; die Verwendung von mehr als einem erinnert aber eher an die klassische Schnitzeljagd.

Das Array target_dev liefert eine maximale Abweichung in Metern um jede Zielposition herum. Wenn die Box innerhalb des Kreises um das Ziel mit diesem Wert als maximale Abweichung aktiviert ist, gilt die Position als erreicht. Ich habe mich dazu entschieden, verschiedene Abweichungen für jedes Ziel konfigurieren zu können, da einige Ziele eine punktgenaue Landung erfordern sollen, während andere durch eine entspannte Positionierung leichter erreichbar sind. Die Größe dieses Arrays muss natürlich der Anzahl der Ziele entsprechen. Ist die nicht der Fall wird beim Einschalten der Box eine Warnung ausgegeben.

Zu beachten ist, dass das GPS an sich eine gewisse Ungenauigkeit aufweist und die hier eingestellte Abweichung 10m nicht unterschreiten sollte. Die Konstante MAX_TRIES begrenzt die Anzahl der Aktivierungen. Wenn diese Zahl erreicht wird, bleibt die Box gesperrt. Die Begrenzung erhöht die Spannung (künstliche Verknappung erhöht den Wert) und verhindert übermäßige Versuche, die auch noch die Batterie entladen.

Die nächsten Konstanten definieren die Pins für Verbindungen zu den Geräten, die Adressen zum Speichern der Anzahl der verwendeten Versuche und einige Geokonstanten. HOME_LAT und HOME_LON markieren schließlich eine geheime Rückstellposition. Wenn an dieser Stelle aktiviert, öffnet sich die Box für einige Sekunden, so dass genügend Zeit bleibt, den Schlüssel hineinzulegen. Dann schließt diese sich wieder und setzt alle Zähler auf Null zurück. Diese Koordinaten sollten auf eine Stelle gesetzt werden, an der die Box durch den Beschenkten sehr unwahrscheinlich aktiviert wird.


  1. Das war sie zumindest einmal. Mit den neuen Versionen der genutzten Bibliotheken anscheinend nicht mehr. Aber ein Arbeitskollege hat eine aktualisierte Version der Software erstellt: http://www.thomas-liebig.eu/wordpress/building-a-geo-cache-transposed-gct/