(2014.8.25 作成)
LSM303DLHCを使用するソースコードを以下からダウンロードしていただけます。STM32F3Discoveryでの動作確認しかしていませんが、Arduinoを含む他のマイコンでも動作すると思います。
/* Copyright (c) 2014 DenshiKousakuSenka This software is released under the MIT License. http://opensource.org/licenses/mit-license.php */ #include "DKS_LSM303DLHC.h" #include "DKS_I2C_Discovery_F3.h" extern "C" { float temperature; float acc[3]; float mag[3]; int main(void) { DKS::I2C::I2C iic(I2C1, 1, 1, DKS::I2C::Frequency_400kHz); DKS::LSM303DLHC::LSM303DLHC lsm(&iic); int16_t i; while(1) { lsm.ReadAccData(acc); lsm.ReadMagData(mag); lsm.ReadTemperature(temperature); for (i=0; i<10000; i++) asm("NOP"); // delay for a while } } }
STM Studioによる動作例です。基板を動かすと図のように測定値が動いていることがわかります。加速度センサーについては仕様を見つけることが出来たのでほぼ正しい値を出していると思います。磁気センサーについては自信がまったくありません。