Leserprojekt: GPS-Handgerät mit OLED-Display
Martin Keppler hat ein gängiges OLED-Display und ein GPS-Modul über einen Arduino zusammengeschaltet – herausgekommen ist zum einen ein GPS-Handgerät, das die Richtung nach Hause weist, zum anderen ein Datenlogger für RC-Modellfahrzeuge.
(Bild: Martin Keppler)
- Martin Keppler
Bauteile
- Arduino UNO, Steckbrett und Kabel
- Schutzgehäuse
- Ublox NEO-6M GPS-Modul
- OLED-Display
Inspiriert durch den GPS-Artikel in der Make-Ausgabe 2/15 habe ich mich dran gemacht, dem GPS-Receiver mehr Daten zu entlocken und die auf einem Mini-OLED-Display dann schön auszugeben. Das ist ein tolles Projekt, mit dem man (nicht nur) Kindern erklären kann, wie GPS funktioniert und was es leisten kann.
Es gibt drei Display-Anzeigen, zwischen denen man umschalten kann und die im folgenden kurz erläutert werden.
1. Diagramme
- Visualisierung von Azimut / Elevation jedes empfangenen Satelliten durch einen kleinen Kreis im Polardiagramm (damit sieht man z.B. die richtungsabhängige Abschattung von Satelliten durch Gebäude oder kann die Positionen der Satelliten am Himmel suchen).
- Visualisierung von Signal (Carrier) / Noise Verhältnis ("Empfangsgüte") für jeden empfangenen Satelliten (damit sieht man, daß mit dem ublox 6 sogar in house GPS Emfpang möglich ist, man sieht den Einbruch beim C/N im Haus etc.).
GPS mit Arduino: Zeige den Weg nach Hause (4 Bilder)

(Bild: Martin Keppler)
2. Datentabellen
- Position
- Höhe
- Geschwindkeit, Heading
- Datum, Zeit
3. Mini-Navigation
Im Programmcode sind die Heimkoordinaten hinterlegt.
- Ohne GPS-Emfpfang zeigt das Display ein Kreuz an ("keine Informationen").
- Ist die Position innerhalb von 30 Metern um das Zuhause, zeigt es einen kleinen Kreis an ("am Ziel")
- Ist die Position weiter entfernt, zeigt es die Entfernung nach Hause an.
- Ist zusätzlich die Geschwindigkeit größer als 3 km/h (und damit als Heading der Bewegung für den Receiver ermittelbar), zeigt ein Pfeil die Richtung nach Hause an. Ist man damit unterwegs, ist das schon eine coole Sache, das zu beobachten.
Erweiterung: RC-Modellfahrzeug-Datenlogger
Im zweiten Schritt wurde Projekt erweitert zu einem Datenlogger fĂĽr ein RC-Modellauto. Montiert man das GPS auf dem Fahrzeug, kann man danach unter anderem die Maximalgeschwindigkeit ablesen.
Jetzt wissen wir endlich, wie schnell unser Renner wirklich fährt (auf der Straße über 47 km/h). Weil meinen Sohn und mich dann auch die Beschleunigung interessierte, programmierten wir noch eine Anzeige der Maximalbeschleunigung und der Minimal- beziehungsweise Bremsbeschleunigung hinzu. Den Verlauf der Beschleunigung gibt es dann noch grafisch als Diagramm in der Anzeige.
GPS mit Arduino: Datenlogger fĂĽr Modellfahrzeuge (4 Bilder)

(Bild: Martin Keppler)
Da ein einziges Programm mit den Funktionen des ursprünglichen GPS-Handgeräts und den zusätzlichen Datenlogger-Funktionen den Speicher sprengen würde, wurde beides auf zwei Arduino-Programme verteilt.
- Code fĂĽr die Anzeige der Satelliten am Himmel, Positionsdaten und Navigation nach Hause mit Pfeil und Richtung
- Code fĂĽrs Loggen der Maximalgeschwindigkeit und maximalen Fahr- bzw. Bremsbeschleunigung
WeiterfĂĽhrendes
Ein englisches Video auf YouTube beschreibt, wie man auf der herstellerspezifische ublox-Protokoll des verwendeten GPS-Moduls zugreift. Damit hat man Zugang zu 10Hz-Positionsdaten und kann erheblich effizienter mit den Ressourcen von Speicher und CPU umgehen als bei der Verwendung mit den Standard-Bibliotheken.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Google Ireland Limited) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
- Mehr zum Thema GPS gibt es in der Make-Ausgabe 3/17 ab Seite 46 (GPS-Logger auf ARM-Technik) sowie ab Seite 58 (Arduino-GPS fĂĽrs Fahrrad)
(pek)