Kompass-Anwendung

vor 3 years 4 weeks


Kleine Kompass-Anwendung, mit Benutzersteuerung und Kursvorgabe

Ich habe meine LCD-Library mit einer Kompass-Anwendung kombiniert. Einzelne Teile können auch in anderen Zusammenhängen angewendet werden, z.B. die Kompass-, LCD- oder Benutzersteuerungsfunktion. Alle bnötigten Dateien(*) befinden sich im Dateianhang dieses Beitrags. Demnächst werde ich die einzelnen Teile beschreiben.

Die Library Hmc6352 stammt von arduino.cc. Die Datei dort hatte einen Fehler beim Einbinden der Library Wire.h. Ich habe noch eine neue Kalibrierungsfunktion hinzgefügt.

Dieser Artikel wurde geschrieben von:

gatonero - hat Artikel auf Freeduino geschrieben.


Blog des Autors

9 Antworten auf “Kompass-Anwendung”


  1. mazer sagt:

    Sehr nett, gefällt mir. Obwohl ich die Benutzersteuerungsfunktion etwas gewöhnungsbedürftig finde ;)
    Vllt. wäre ein Drehimpulsgeber mit Taster intressant dafür -> http://www.reichelt.de/?;ARTICLE=73923

    Aber sonst, sehr nett gemacht :)

    Login or register to post comments

  1. gatonero sagt:

    @mazer
    Danke für die Blumen :-). Ich beschäftige mich erst seit ein paar Wochen mit dem Arduino, der C-Programmierung und Elektronik, deshalb freue ich mich um so mehr über Deine anerkennenden Worte.

    Die Benutzersteuerung ist tatsächlich gewöhnungsbedürftig. Vom Segeln kenne ich aber tatsächlich Instrumente, die ähnlich bedient werden. Tut sich da ein neues Feld auf? ;-)

    Im übrigen zeigt das, wie sinnvoll es ist, Dinge auch auf Anfängerniveau vorstellen zu können, ohne gleich von oben herab abgebügelt zu werden, wie das anderenorts nicht unüblich ist, ala "lerne erst mal Assembler" und so,

    Einen Drehimpulsgeber kannte ich bisher noch gar nicht. Hört sich aber interessant an. http://de.wikipedia.org/wiki/Drehimpulsgeber Danke für den Hinweis, so habe ich wirklich etwas davon. :-D

    Login or register to post comments

  1. mazer sagt:

    Ok, so eine Steuerung war mir bis jetzt echt nicht bekannt ;) Hab vom Segeln nicht die leiseste Ahnung.
    Das mit den Drehimpulsgebern ist ne schöne Sache, aber den Code dafür zu schreiben ist etwas aufwändig, du kannst aber mal im Arduino Playground gucken, da gibt es schon eine kleine Anleitung -> http://www.arduino.cc/playground/Main/RotaryEncoders , jedoch hab ich es damit nicht hinbekommen (ok, hatte auch nur schnell testen wollen :))

    Aber sonst wäre noch ein Link interessant, wo du den Kompass Chip bekommen hast, oder wie in deinem "Hello LCD" Post eine Liste der verwendeten Teile (Bilder sind immer schön :P)

    gruß
    Matthias

    Login or register to post comments

  1. gatonero sagt:

    Nicht dass ich darauf scharf war, genau soetwas wie beim Segeln nachzubauen, ich habe nach irgendetwas gesucht, wie ich den Arduino interaktiv steuern kann. Da kam mir das gerade recht http://www.arduino.cc/playground/Code/HoldButton.

    Der Grund warum solche Bedienungen bei Instrumenten im Decksbereich beim Segeln verwendet werden scheint mir zu sein, dass Taster hinter wasserdichten Folien montiert werden können. Ein Drehimpulsgeber hätte dort immer eine Schwachstelle für Wassereintritt. ;-)

    Aber Dein Vorschlag mit dem Drehimpulsgeber ist genial. Das werde ich mir mal anschauen. Bin schon ganz scharf drauf, mich mit Interupts zu beschäftigen.

    Bilder und Beschreibungen werde ich zu dem Artikel nachreichen. Den Arduino zu erforschen und zu dokumentieren kostet Zeit.

    Gruß
    Christoph

    Login or register to post comments

  1. gatonero sagt:

    Da hast Du mir was angetan ;-). Das Problem mit den Drehgebern scheint zu sein, dass die günstigen Exemplare alle mechanisch arbeiten und es erhebliche Probleme mit dem Debouncing gibt, siehe http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1205879808.

    Solange der Drehimpulsgeber in einer loop()-Schleife abgefragt wird, geht bei mir alles in Ordnung. Aber wehe es kommen Interrupts ins Spiel ...

    Ich habe Blut geleckt und bleibe da am Ball ;-)

    Login or register to post comments

  1. mazer sagt:

    ich hab mir den aus meinem ersten post von reichelt gekauft.
    der hat soweit auch funktioniert denk ich ^^

    wenn du irgendwann mal nen funktionierenden codeschnippsel hast, dann las es mich wissen ;)

    bin leider arbeitstechnisch mit meinem projekt noch nicht soweit, aber ich wollte auch rotary encode benutzen, da könnte ich mir ja ein bisschen abgucken

    Login or register to post comments

  1. gatonero sagt:

    Ich werde dazu dann mal einen Thread im Forum eröffnen.

    Login or register to post comments

  1. gatonero sagt:

    Ich habe auf arduino.cc im thread max with a rotary encoder eine Anfrage gestellt. Dort hat SunboX eine viel versprechende Library vorgestellt, die so ausssieht, dass sie mit dem debouncing zurecht kommt. Ich kann ein RotaryEncoder Objekt erstellen, bekomme aber keinen Output von meinem Sketch. Ich hoffe, da wird mir geholfen.

    Login or register to post comments

  1. Thloth sagt:

    Hallo gatonero,
    was ist aus dem Projekt geworden?
    ich bin auf der Suche nach eineem solchen Projekt um es zum Steuern unseres Bootes auszubauen.
    Können wir dazu mal in Kontakt treten? Ich bin leider noch blutiger Anfänger.
    Grüße aus Jena
    Thorsten

    Login or register to post comments