Geschrieben

Arduino und Kompassmodul HM6352 0

Spannend, was es mittlerweile für eine Riesenauswahl kleiner Ein- und Ausgabeboards gibt, die an einen Arduino anschließbar sind. Mittlerweile sollte wirklich jede Form von Messwert für schmales Geld erfass- und anzeigbar sein und zufällig fiel mir neulich ein Kompassmodul in die Hände. Ein kleines, aber durchaus praxistaugliches Wochenendprojekt war geboren.

Das Kompassmodul HM6352 hat eine Auflösung von 0,5 Grad. Wenn ich mich gerade auf einer Weltumsegelung mitten im Pazifik befinde, mag eine hohe Auflösung durchaus von Belang sein, hier allerdings verzichte ich auch zugunsten eines einfacheren und damit in der Ausführung auch schnelleren Scripts auf alles hinter dem Komma. Als Board kommt ein Arduino Mini Pro zum Einsatz. Die gesamte Schaltung verbaucht bei 3,7 Volt ca. 50mA.

Die Verdrahtung ist im Sketch beschrieben, da Fritzing die erforderlichen Boards noch nicht in der Library hat. Wenn das der Fall sein wird, werde ich den Verdrahtungs- und den Schaltplan nachreichen. Allerdings sollte der Nachbau dem erfahrenenen Arduiner keine Probleme bereiten. Der Sketch findet sich hier.

So richtig glücklich bin ich mit dem Display (ST7735, 128×160 Pixel) nicht, denn zum Einen muss jeder Wert zuerst in ein CharArray umgewandelt werden, um dargestellt werden zu können und Zweitens verändere ich einen Wert, indem ich ihn in z.B. Weiß auf schwarzen Hintergrund schreibe und ihn vor der Aktualisierung auf einen neuen Wert mit Schwarz überschreibe, damit er nicht mehr sichtbar ist. Das aber ist der Grund dafür, warum ich Teile der Ausgabe wie die beiden Kreise und die Beschriftung nur einmal auf die Anzeige bringe und nur den sich drehenden Zeiger und die Winkelangabe in der Mitte jeweils neu zeichnen lasse. Aktualisiere ich die Anzeige zu schnell, flimmert sie, bei zu großen Werten aktualisiert sie sich nicht schnell genug. Hier kann jeder die Zeile delay(500) entsprechend seinen Vorstellungen anpassen. Vielleicht gibt es auch eine intelligentere Methode, die ich einfach noch nicht gefunden habe.

Nachtrag: Das Thema “Wie refreshe ich den Inhalt eines TFT” wird im Internet an vielen Stellen umfassend diskutiert und ist so alt und ungelöst wie das TFT selbst. Sei’s drum ….

Ich betreibe derartige 3,3 Volt-Projekte übrigens mit den 3.7 Volt-Akkus ausrangierter Handys, die ich mir an meinem Labornetzgerät auflade: Einfach auf 4.2 Volt einstellen und den Ladestrom auf 1/10tel des Nennstroms begrenzen (1500mAh Kapazität = 150mA Ladestrom). An anderer Stelle wird von dem Laden von Li-Ion-Akkus auf eine andere als die vom Hersteller gedachten Weise gewarnt. Nachmachen also auf eigene Gefahr …

Kommentare abonnieren

Es gibt noch keine Kommentare zu diesem Artikel

Schreiben Sie einen Kommentar!

* Erforderliche Angabe

Peter Hostermann is powered by WordPress and FREEmium Theme.