Posts

Posts mit dem Label "3 Achsen Magnet Sensor" werden angezeigt.

HMC5883L Sensor auslesen mit dem Netduino

Bild
HMC5883L Magnet Sensor auf dem Breadboard Shield und PullUp-Widerständen. Was mit dem Arduino geht, geht auch mit Netduino. Auch hier konnte ich ein funktionales Beispiel für den 3 Achsen Magnet Sensor HMC5883L als Klasse schreiben. public class HMC5883L {     /// Klasse für die I²C Verbindung     private I2CDevice _i2CDevice;     /// Die Variabeln zum Speichern der Ergebnisse nach der Messung.     private byte [] _Data = new byte [6];     /// Ruft die Achse X ab oder legt diese fest.     public int AxisX { get ; set ; }     /// Ruft die Achse Y ab oder legt diese fest.     public int AxisY { get ; set ; }     /// Ruft die Achse Z ab oder legt diese fest.     public int AxisZ { get ; set ; }     /// Der Konstruktor Initialisiert die Verbindung her und     /// stellt den Sensor mit einer Standard Konfiguration ein.     public HMC5883L()     {        // I²C Bus verbindung herstellen mit 100kHz         _i2CDevice = new I2CDevice ( new I2CDevice . Configuration (0x1E, 10

HMC5883L Sensor ohne (externe) Library auslesen mit dem Arduino

Bild
HMC5883 Magnet Sensor auf dem Breadboard Shield. Letztes Jahr habe ich bereits darüber geschrieben, allerdings keinen Code dazu gepostet. Ich habe nur beschrieben, was mit der Library verändert werden musste, damit diese funktioniert. Diesmal hatte ich Zeit, um mich etwas näher damit zu befassen und konnte nun endlich ein funktionales Beispiel schreiben. Um den Code fürs erste übersichtlich zu halten, habe ich das Skalieren und das Berechnen nach Norden ausgelassen. // Wird für die I²C Verbindung verwendet. #include < Wire .h> // Adresse des Sensors #define sensor_address 0x1E // Variabelen die für den Lese Vorgang benötigt werden byte data[6]; int axisX; int axisY; int axisZ; // Konfiguration der Seriellen Verbindung und Initialisierung des Sensors. void setup () {   Serial . begin (9600);   Serial . println ( "Init Sensor" );   // I²C Verbindung starten.   Wire . begin ();   // Operating Mode (0x02):   // Continuous-Measurement Mode (0x00)   SetConfigu

Daten vom Arduino verarbeiten und visualisieren

Bild
Arduino Nano 3.0 und der Magnet Sensor HMC5883L. Gelb=SDA (Pin4), Orange=SCL (Pin5), Rot=+5V und Schwarz=GND Wenn ich keine Lösung für dem Netduino habe, dann finde ich eine für Arduino. Eines meiner ersten Programme war eines zum Lesen der Sensordaten. Zunächst verwendete ich den Arduino Monitor, der allerdings nichts anderes tat, als eine serielle Verbindung herzustellen. Mit ein “wenig” C# und .NET Framework Kenntnis kann auch ein eigenes Programm geschrieben werden, das die Daten ebenfalls lesen kann. Mein neues Bespiel zeigt die magnetischen Einflüsse auf 3 Achsen an, was ich mit Hilfe von Windows Forms visualisiere. Windows Forms mit analoger Anzeige Warum Windows Forms? Die GUI ist schon etwas in die Jahre gekommen und bietet kaum Neuerungen, dennoch kann man grafisch immer noch etwas an Ergebnissen erreichen. Also wäre es doch schön, eine analoge Anzeige auf digitalem Boden zu schaffen. Aber erstmal eins nach dem anderen. Auf der Seite Gihub stellt der Entwickler

Den HMC5883L 3 Achsen Magnet Sensor auslesen

Bild
Der Sensor am Arduino Nano 3.0 Zuerst habe ich gedacht, dass der Sensor nicht funktioniert, bis ich den Beispielcode angepasst habe. In der Wiki zu diesem Sensor ist leider noch ein veralteter Code zu einer frühen Version vom Arduino Compiler. Nach einem Hinweis stellte sich heraus, dass sich die Bibliothek vom Arduino 1.0 gegenüber seiner älteren Version geändert hat. Im Quellcode der Datei HMC5883L.cpp war es notwendig, den Eintrag “#include <WProgram.h>” in “#include <Arduino.h>” abzuändern und die Einträge “wire.send” in “wire.write”. Anschließend ließ sich der Code auf den Arduino Nano 3.0 beschreiben und daraufhin auch erfolgreich auslesen. Ausgabe der Daten, die vom Sensor gemessen werden. Aus den drei Achsenwerten kann dann über das Gauß-Verfahren der Nordpol gemessen werden. Jetzt fehlt mir noch eine Portierung auf den Netduino. Einfache Verkabelung des Sensors Ich denke, das dürfte die Sache erleichtern, wenn ich zu den Beispielen auch