Moin!

Da mehrere Leute nach einer Bauanleitung gefragt haben, kommt diese hier 🙂 eigentlich wollte ich mit der Anleitung warten, bis ich die zweite, deutlich kleinere Version gebaut habe, aber da ich es bis jetzt nicht geschafft habe den Programmcode auf 4kB zu schrumpfen für den Attiny45 Mikrocontroller, plane ich nun einen WLAN Mikrocontroller für die zweite Version (Esp8266).

Als erstes die benötigen Bauteile:

Der Preis ist somit unter 10€.

Die Verkabelung ist nicht so kompliziert, also versuche ich es zu erklären, anstatt einen Anschlussplan zu machen.

Der Arduino liest das GPS Modul per UART aus. Dafür benutze ich SoftwareSerial, da der Arduino nur einen „echten“ UART Anschluss hat, über den er auch programmiert wird. Würde man das GPS dort anschließen, müsste man es bei jeder Code Änderung wieder anlöten. Nervig, also SoftwareSerial benutzen.

Die Arduino Bibliothek „TinyGPS++“ kümmert sich um die Auswertung der GPS Daten und gibt einem direkt Variablen wie Satelliten-Anzahl, Geschwindigkeit, Zeit und Co. Komfortabel 😛

Das OLED Display hat einen ssd1306 Controller. Mit der sparkfun Arduino Bibliothek schreibe ich dann die Werte per i2c Schnittstelle auf das Display.

Der Code schaut sich einfach bei jeder neuen Messung die Geschwindigkeit an, schaut ob es schneller ist als die Maximalgeschwindigkeit bisher und wenn dies so ist, dann wird die momentane Geschwindigkeit in die Variable für die Maximalgeschwindigkeit eingetragen.

Zusätzlich messe ich die Spannung. Mir wurde ein Arduino pro mini mit 3.3v statt 5v geschickt. Funktioniert auch, aber da ein lipo mehr als 3.3v hat, musste ich einen Spannungsteiler mit 2 Widerständen bauen, um die Spannung des Lipos an einem AnalogPort des Arduinos messen zu können. Mit einem 5v Arduino braucht ihr das nicht (INPUT_PULLUP dann verwenden!!).

Die Verkabelung ist nicht allzu komplex.

An dem Lipo Lademodul wird der Lipo angeschlossen. Die Lipo Pins schließt man dann auch an den Step Up an (USB Buchse vom Step Up ablöten). Der Step Up versorgt dann das Display, den Arduino und das GPS Modul mit Strom. Da ich SoftwareSerial benutze, schließt man TX vom GPS an Pin6 des Arduinos an und RX an Pin5. SDA vom Display wird an Pin A4 vom Arduino angeschlossen und SCL an Pin A5.

Nun schließt ihr nurnoch die Lipo Spannung an A0 vom Arduino an, damit die Lipo Spannung angezeigt wird.

Man lädt den Code auf den Arduino, indem man ihn an den USB/Serial anschließt und dann in der Arduino IDE den richtigen Port auswählt.

Das war es eigentlich auch schon.

Problem ist nun aber, dass aliexpress GPS module nicht immer die gleiche Baud Rate haben (UART Übertragungsgeschwindigkeit). Typisch sind hier 4800, 9600, 19200 und 38400. Wenn es nicht läuft, dann die verschiedenen Baud Raten ausprobieren.

Ublox GPS Module kann man übrigens mit dem USB/Serial Adapter einstellen, indem man RX an TX, TX an RX, Masse an Masse und 5v an VCC anschließt (also das GPS Modul direkt an den USB/Serial Adapter anschließt ohne den restlichen Kram).

Mit dem U-Center von ublox verbindet man sich dann mit dem GPS Modul und kann es im Fenster, welches durch drücken von F9 erscheint, einstellen. Wichtige Einstellungen sind eigentlich nur die Baud Rate, Bewegungsmodus (von portable auf automotive einstellen) und die Update Frequenz. Bei der Update Frequenz muss man rumprobieren. Neure (und teurere) Module schaffen bis zu 10Hz. Günstige sollen bis zu 5Hz schaffen. Man muss dann aber auch die baud rate beachten, den Arduino Code ändern, und ausprobieren ob es Stabil läuft. Deswegen bin ich momentan noch bei 2Hz. Ich versuche aber noch auf 5Hz zu gehen, bis jetzt hatte ich aber kleine Probleme damit. Das GPS Modul einzustellen (optional) ist also etwas komplizierter, also sollte man sich da genauer einlesen („ublox GPS u-center Tutorial“ oder sowas googlen).

Das war es eigentlich auch schon. Wenn etwas noch zu unausführlich ist, dann lasst es mich einfach in den Kommentaren wissen 🙂 Auch generell bei Fragen (hierzu oder generell) oder Anregungen einfach einen Kommentar schreiben.

Code Download

(wird vielleicht kleine Modifikationen benötigen bei euch (Baud Rate, Spannungsmessung etc) (Adafruit SSD1306, Adafruit SSD1306 und TinyGPS++ Bibliotheken werden benötigt)


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Verwandte Beiträge

Arduino

LiPo Entlader!

Moin! Lipos mögen es garnicht geladen rumzuliegen und es passiert ja öfter mal, dass man nachm fliegen noch ein paar volle Akkus hat. Vielleicht wegen dem Wetter, oder der Spotter hat kurzfristig abgesagt. Nunja, die Weiterlesen …

3D Drucker

3D Drucker Firmware kaputt? Vielleicht hilft der USBasp!

Moin! Falls ihr in der unglücklichen Lage seid, dass beim Firmware Update das Kabel von eurem Hamster gefressen wurde und ihr nichtmehr auf den Drucker zugreifen könnt und auch nicht die Firmware über USB neu Weiterlesen …

3D Drucker

JGAURORA A5 – 3D Drucker Review

Moin, Mein JGAURORA A5 3D-Drucker ist angekommen und nun kann ich Objekte mit einer Maximalgröße von 305x305x320mm drucken. Aber erstmal zu meiner 3D Druck Vergangenheit, bevor ich genauer auf den A5 zu sprechen komme, welcher Weiterlesen …