FiFiWiki2

FiFiWikiの第2版

ユーザ用ツール

サイト用ツール


arduino_-_加速度センサ

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
arduino_-_加速度センサ [2017/11/23 06:41]
fifi 作成
arduino_-_加速度センサ [2017/11/23 22:30] (現在)
fifi
ライン 14: ライン 14:
  - Arduino Due 20/​21番ピンソケット  - Arduino Due 20/​21番ピンソケット
  
 +### はまりポイント
 +
 + - Arduino DUE は int が2バイト(16bit)
 + - Arduino UNO は int が1バイト(8bit)
 +
 +```c
 +#include <​Wire.h>​
 + 
 +#define DEVICE_ADDR (0x53) // スレーブデバイスのアドレス
 +byte axis_buff[6];​
 + 
 +void setup()
 +{
 +  Serial.begin(9600);​ // シリアルの開始デバック用
 +  Wire.begin(); ​      // I2Cの開始
 + 
 +  Serial.write("​init"​);​
 + 
 +  // DATA_FORMAT
 +  // https://​sites.google.com/​a/​gclue.jp/​fab-zang-docs/​ni-yinkiiot/​adxl345-i2c
 +  //​writeI2c(0x31,​ 0b00001011);​
 +  writeI2c(0x31,​ 0b00000011);​
 +  // POWER_TCL
 +  writeI2c(0x2d,​ 0b00001000);​
 +}
 + 
 +void loop()
 +
 +  uint8_t length = 6;
 +  readI2c(0x32,​ length, axis_buff); //​レジスターアドレス 0x32から6バイト読む
 +  ​
 +  int16_t x = (((int16_t)axis_buff[1]) << 8) | axis_buff[0]; ​  
 +  int16_t y = (((int16_t)axis_buff[3]) << 8) | axis_buff[2];​
 +  int16_t z = (((int16_t)axis_buff[5]) << 8) | axis_buff[4];​
 +  ​
 +  Serial.print( x);
 +  Serial.print(","​);​
 +  Serial.print( y  );
 +  Serial.print(","​);​
 +  Serial.println( z  );
 + 
 +//  delay(100);
 +}
 + 
 +// I2Cへの書き込み
 +void writeI2c(byte register_addr,​ byte value) {
 +  Wire.beginTransmission(DEVICE_ADDR);  ​
 +  Wire.write(register_addr); ​        
 +  Wire.write(value); ​                
 +  Wire.endTransmission(); ​       ​
 +}
 + 
 +// I2Cへの読み込み
 +void readI2c(byte register_addr,​ int num, byte buffer[]) {
 +  Wire.beginTransmission(DEVICE_ADDR); ​
 +  Wire.write(register_addr); ​          
 +  Wire.endTransmission(); ​        
 + 
 +  Wire.beginTransmission(DEVICE_ADDR); ​
 +  Wire.requestFrom(DEVICE_ADDR,​ num);   
 + 
 +  int i = 0;
 +  while(Wire.available()) ​       ​
 +  { 
 +    buffer[i] = Wire.read(); ​  
 +    i++;
 +  }
 +  Wire.endTransmission(); ​        
 +}
 +```
arduino_-_加速度センサ.1511419270.txt.gz · 最終更新: 2017/11/23 06:41 by fifi