3 Achsen Magnetkompass EMC5843 (Auslaufmodell) NEU ---> EMC5883L

Bildergalarie

(Quelle:SparkFun Electronics ®)

Datenblatt

hmc5843.pdf

Modul

hmc5843-v11-schematic.pdf

Anschaltung an Propeller

Softwaremodule
' Der i2c-Treiber ist hier im anhang einzufügen.

CON 'All the I2C registers for the HMC5843 mag I2C address maximum bus speed is ???kHz.
  HMC5843                       = %0011_1100
  HMC5843_CONFIG_A              = $00
  HMC5843_CONFIG_B              = $01
  HMC5843_MODE                  = $02
  HMC5843_DATA_X_MSB            = $03
  HMC5843_DATA_X_LSB            = $04
  HMC5843_DATA_Y_MSB            = $05
  HMC5843_DATA_Y_LSB            = $06
  HMC5843_DATA_Z_MSB            = $07
  HMC5843_DATA_Z_LSB            = $08
  HMC5843_STATUS                = $09
  HMC5843_ID_A                  = $0A
  HMC5843_ID_B                  = $0B
  HMC5843_ID_C                  = $0C

VAR
  long XC, YC, ZC                        'Compass

PUB start
    waitcnt(clkfreq + cnt)                                  'start-up delay
    writeValue(HMC5843, HMC5843_ID_A)
    if readValue24(HMC5843) == $00483433                    '"H43"
      ' OK
      writeLocation(HMC5843, HMC5843_CONFIG_A, $3C)
      writeLocation(HMC5843, HMC5843_CONFIG_B, $02)
      writeLocation(HMC5843, HMC5843_MODE, $00)
      repeat
        emc
    else
      ' nOK

PRI emc
  XC := readLocation16(HMC5843, HMC5843_DATA_X_MSB)
  YC := readLocation16(HMC5843, HMC5843_DATA_Y_MSB)
  ZC := readLocation16(HMC5843, HMC5843_DATA_Z_MSB)

i2c.spin

Funktionsbeispiel

Demoprogramm zum Sensortest

Tip's

zum Testen angelöteter 100µF Elko