Forum: Projekte & Code Magnetfeld-Sensor QMC5883L


von Manfred L. (manni)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe heute einen 3er-Pack der Magnetfeld-Sensoren QMC5883L auf dem 
GY-271 board von AZ-Delivery erhalten. In den Foren bin ich immer wieder 
darauf gestoßen, dass manche die Dinger mit dem I2C I/F nicht richtig 
auslesen können.

Anbei ein plain C Programm für den ATmega32 (zwar overkill, lag aber 
grad auf'm Tisch rum) was auf Anhieb funktioniert hat. Ich verwende hier 
meine eigenen TWI (I2C Master) Funktionen aus dem post: 
Beitrag "AVR TWI Master und Slave Funtionen in C"

Im zip file Anhang die .c und .h files und die AZ-Delivery Dokumente.

Einfach alle .c und .h files in das Projekt schmeißen (z.B. Atmel 
Studio), kompiliern und dann flashen. Dann druckt er via der seriellen 
Schnittstelle mit 9600 baud folgendes im Endlos-Loop aus:

Heading = 204 Deg, (158, 139)

Der Anschluss an den ATmega32 ist wie folgt:
+5V  --> Pin 10
GND  --> Pin 11
SDA  --> to TWI PORT PC1 (SDA), Pin 23
SCL  --> to TWI PORT PC0 (SCL), Pin 22

Es sind keine I2C Pull-up Widerstände notwendig, da diese schon mit 4K7 
auf dem Board vorhanden sind.

Das gemessene und berechnete Magnetfeld-Heading (in der Horizontalen) 
wird richtig gemessen, wenn die Platine horizontal um die senkrechte 
Achse gedreht wird.

Viel Spaß beim Messen und Anwenden !

Gruß
Manni

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.