Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi - 2019

Ich habe bei meinen Raspberry Pi Robotern immer USB GPS Empfänger verwendet. Hier bei diesem Projekt möchte ich ja eine günstige Lösung schaffen und setze daher auf Module die wir serieller Schnittstelle angeschlossen werden können und unter 10,-€ das Stück kosten. Eventuell kann ich von diesen Modulen nicht so viel erwarten wie von einem 65,-€ Modul aber um das Prinzip der Navigation nach GPS Koordinaten umzusetzen sollte es vollkommen ausreichen. Ein ganz günstiges Module habe ich mir für diesen Beitrag nicht gekauft. Ich habe mit stattdessen ein u-blox GPS Modul GY-NEO6MV2 mit der Typbezeichnung NEO-6M gekauft das mit dem ESP8266 NodeMCU ohne Probleme über die serielle Schnittstelle zusammen arbeiten sollte.

Mein Testaufbau den ich für die ersten Versuche verwende bevor das Modul in den kleinen Roboter eingebaut wird sieht wie folgt aus.

ESP8266 NodeMCU robot car gps ublox neo 6m

ESP8266 NodeMCU robot car gps ublox neo 6m

Als erstes muss jetzt das Modul am ESP8266 NodeMCU angeschlossen werden. Wie das geht erfahrt ihr im folgenden Abschnitt

GPS Modul verkabeln

Das GPS Modul wird am ESP8266 NodeMCU mit vier Kabeln einmal an GND, 3,3V und den beiden Pins GPIO-XX und GPIO-XX angeschlossen. So kann eine serielle Schnittstelle über Software umgesetzt werden da die beiden typischerweise verwendeten Pins D1 und D0 bereits für die Kommunikation via I2C belegt sind.

ESP8266 NodeMCU u-blox NEO 6M
3,3V VCC
GND GND
GPIO-14 / D5 (RX) TX
GPIO-12 / D6 (TX) RX

Wer sich mit der Pin-Belegung des ESP8266 NodeMCU Entwicklungsboard nicht ganz sicher ist, dem hilft hoffentlich das folgende Bild weiter.

ESP8266 NodeMCU pin number description

ESP8266 NodeMCU pin number description

Nach dem der GPS Empfänger jetzt mit vier Female-to-Female Jumperkabel angeschlossen ist geht es daran ein erstes Testprogramm zu schreiben. Mehr dazu im nachfolgenden Abschnitt.

Software

Damit unser Programm die NMEA Daten über die serielle Schnittstelle empfängt und auch auswerten kann wird die “TinyGPS++” Bibliothek benötigt und muss in der Arduino Entwicklungsumgebung installiert werden. Dazu bitte die Bibliothek über den folgenden Link herunter laden.

Download: TinyGPSPlus

Nach dem erfolgreichen Download muss die Bibliothek noch der Arduino IDE hinzugefügt werden. Dazu einfach über das folgende Menü Sketch>>Include library>>Add .ZIP library die *.ZIP Datein laden.

Ardunio IDE add library as ZIP file

Das kleine Beispielprogramm geht davon aus, dass auch ein OLED Display am I2C Bus angeschlossen ist und wie im Artikel Roboter bauen mit dem ESP8266 Entwicklungsboard – OLED Display beschrieben die Bibliothek für das OLED Display vorhanden ist.

Sind soweit alle Voraussetzungen geschaffen, dann kann jetzt das nachfolgende Programm auf den ESP8266 NodeMCU übertragen werden.

Download: tinyGPS test program

Am besten jetzt den kleinen Roboter oder den Versuchsaufbau angeschlossen an eine Power-Bank in den Garten legen damit die kleine GPS Antenne eine freie Sicht zum Himmel hat.

Nach ca. 5 Minuten sollten dann die GPS Koordinaten auf dem OLED Display angezeigt werden. Die hinteren Stellen der GPS Information habe ich unleserlich gemacht.

ESP8266 NodeMCU robot car gps ublox neo 6m GPS fix

ESP8266 NodeMCU robot car gps ublox neo 6m GPS fix

Zusammenfassung

Der kleine und günstige GPS Empfänger funktioniert ohne Probleme zusammen mit dem ESP8266 NodeMCU über die serielle Software Schnittstelle. Jetzt ist es an der Zeit die NMEA Informationen auch für die Navigation zu verwenden. Allerdings ist hier noch das Problem offen, dass die Richtung zum Nordpol noch nicht bestimmt werden kann. Hierzu hatte ich im Beitrag Roboter bauen mit dem ESP8266 Entwicklungsboard – Magnetometer zu einem Magnetometer meine Erfahrungen bereits nieder geschrieben.


Artikel Übersicht ESP8266 NodeMCU Roboter Auto:

Roboter bauen mit dem ESP8266 Entwicklungsboard – Einleitung
Roboter bauen mit dem ESP8266 Entwicklungsboard – Stromversorgung
Roboter bauen mit dem ESP8266 Entwicklungsboard – Bauteile
Roboter bauen mit dem ESP8266 Entwicklungsboard – Chassis
Roboter bauen mit dem ESP8266 Entwicklungsboard – Verkabelung Teil 1
Roboter bauen mit dem ESP8266 Entwicklungsboard – Verkabelung Teil 2
Roboter bauen mit dem ESP8266 Entwicklungsboard – Arduino Entwicklungsumgebung einrichten
Roboter bauen mit dem ESP8266 Entwicklungsboard – Ultraschall Sensor und Motorensteuerung
Roboter bauen mit dem ESP8266 Entwicklungsboard – WIFI Fernsteuerung
Roboter bauen mit dem ESP8266 Entwicklungsboard – Servo Motor Steuerung
Roboter bauen mit dem ESP8266 Entwicklungsboard – OLED Display
Roboter bauen mit dem ESP8266 Entwicklungsboard – Magnetometer
Roboter bauen mit dem ESP8266 Entwicklungsboard – GPS Empfänger Einführung

Artikel Ausblick:

Roboter bauen mit dem ESP8266 Entwicklungsboard – Gyroskop
Roboter bauen mit dem ESP8266 Entwicklungsboard – GPS Wegpunkte
Roboter bauen mit dem ESP8266 Entwicklungsboard – Solarzelle
(Visited 118 times, 1 visits today)