[問題] Arduino 三軸加速度計
小弟新手想學學看Arduino 連接三軸加速度計讀出數值
用的是MMA8652FC 3-Axis 12-bit Digital Accelerometer Module DIP-12 size
這塊板子,但網路上找不到用這塊板子的範例 所以我試者用別人的教學範例CODE
下去修改,但改了後數值都一直跑出-1的狀態,也不清楚是哪出了問題
想請教人我是哪裡出錯了不知是CODE的問題還是接腳的問題
SDA連結A4腳位
SCL連A5腳位
下面是CODE
#include <Wire.h>
int I2C_Address = 0x1D >> 1;
int X0, X1, Y0, Y1, Z1, Z0;
float X,Y,Z;
void setup(){
Serial.begin(9600);
Serial.println("Start : \n------------------------------------");
Wire.begin();
setReg(0x2B, 0x09);
}
void loop(){
X0 = getData(0x01);
X1 = getData(0x02);
X = ((X1 << 8) + X0) / 256.0;
Y0 = getData(0x03);
Y1 = getData(0x04);
Y = ((Y1 << 8) + Y0) / 256.0;
Z0 = getData(0x05);
Z1 = getData(0x06);
Z = ((Z1 << 8) + Z0) / 256.0;
Serial.print("X= ");
Serial.print(X);
Serial.print(" Y= ");
Serial.print(Y);
Serial.print(" Z= ");
Serial.println(Z);
delay(500);
}
void setReg(int reg, int data){
Wire.beginTransmission(I2C_Address);
Wire.write(reg);
Wire.write(data);
Wire.endTransmission();
}
int getData(int reg){
Wire.beginTransmission(I2C_Address);
Wire.write(reg);
Wire.endTransmission();
Wire.requestFrom(I2C_Address,1);
if(Wire.available()<=1){
return Wire.read();
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.114.140.253
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1446642233.A.766.html
※ 編輯: ks89213 (120.114.140.253), 11/04/2015 21:05:05
推
11/05 00:55, , 1F
11/05 00:55, 1F
三個軸都是-1
※ 編輯: ks89213 (120.114.140.253), 11/05/2015 11:06:11
→
11/06 17:18, , 2F
11/06 17:18, 2F
→
11/06 17:18, , 3F
11/06 17:18, 3F
→
11/06 17:22, , 4F
11/06 17:22, 4F
→
11/06 17:22, , 5F
11/06 17:22, 5F
一樣沒有辦法
※ 編輯: ks89213 (120.114.140.55), 11/16/2015 20:07:32
→
11/25 21:05, , 6F
11/25 21:05, 6F
請問是甚麼意思
※ 編輯: ks89213 (120.114.140.253), 11/26/2015 10:33:53
推
12/04 11:23, , 7F
12/04 11:23, 7F
→
12/04 11:23, , 8F
12/04 11:23, 8F
推
12/04 11:25, , 9F
12/04 11:25, 9F
推
12/04 11:27, , 10F
12/04 11:27, 10F
→
12/04 11:27, , 11F
12/04 11:27, 11F
ASM 近期熱門文章
PTT數位生活區 即時熱門文章