PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : cmps 03 dig. Kompass Erfahrungswerte



JensB
03.10.2004, 16:07
Hallo Zusammen,
ich habe an meinem Robby bereits PCF´s zur Sensorikauswertung und 2 Motoren, die von 2 L293d getrieben werden, alles funzt super.

Jetzt will ich dem Robby noch einen digitalen Kompass CMPS03 spendieren, habe mich bereits in diesem Forum danach umgesehen und auf der Herstellerseite, die Ansteuerung erfolgt ja über I²C-Bus, aber ich habe auf der Herstellerseite etwas über die Kalibrierung gelesen, was ich nicht verstehe. Dort steht, daß man dafür bei jeder Himmelsrichtung die Zahl "255" in das Register 15 schreiben muß. Wie man eine Ausgabe von 255 an die Slaveadresse realisiert verstehe ich, allerdings verstehe ich nicht, wie ich diesen Wert in ein Register schreiben soll.


PS: Mein verwendeter µC ist die C-Control I(wie so oft).......


Wer hat infos für mich?

Gruß Jens

Matthias
03.10.2004, 17:50
Hi,
Ich hab mir vor kurzem nen CMP zugelegt, aber bisher noch nicht angesteuert gekriegt (was aber nur am I²C der M-Unit 2.o liegt). Wenn ich den Frequenz-ausgang an mein multimeter hänge funtzt das teil supi. Kalibrieren muss man nicht, ausser man will's genauer haben.

Joerg
05.10.2004, 10:40
Hallo Jens,

Folgender Ablauf beim I2C-Schreiben:

-Startbedingung
-Adresse (RW=0)
-Registeradresse
-Wert
-Stopbedingung

HTH und Viele Grüße
Jörg

BlueNature
27.12.2004, 03:04
Hallo Jörg und RCO!

Ich habe es wie folgt gemacht mit der CC2.0 und BASIC++



Function KalibKompass()
' Kmopass kalibrieren
Define Antwort As Byte
Print "Kompass kalibrieren"
#DoN
Print "Auf N drehen"
Input Antwort
IIC.Init
IIC.Start
IIC.Send DevWR_CMPS03
IIC.Send 15
IIC.Send 255
IIC.Stop
IIC.Off
#DoO
Print "Auf O drehen"
Input Antwort
IIC.Init
IIC.Start
IIC.Send DevWR_CMPS03
IIC.Send 15
IIC.Send 255
IIC.Stop
IIC.Off
#DoS
Print "Auf S drehen"
Input Antwort
IIC.Init
IIC.Start
IIC.Send DevWR_CMPS03
IIC.Send 15
IIC.Send 255
IIC.Stop
IIC.Off
#DoW
Print "Auf W drehen"
Input Antwort
IIC.Init
IIC.Start
IIC.Send DevWR_CMPS03
IIC.Send 15
IIC.Send 255
IIC.Stop
IIC.Off
#DoW
' Kalibrierung flashen
IIC.Init
IIC.Start
IIC.Send DevWR_CMPS03
IIC.Send 15
IIC.Send 0
IIC.Stop
IIC.Off
Print "Kalibrierung beendet"
End Function


Grüsse Wolfgang