Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 5008|回復: 5
打印 上一主題 下一主題

ADXL330數值更精準

[複製鏈接]
跳轉到指定樓層
1#
發表於 2011-9-22 23:31:59 | 顯示全部樓層 回帖獎勵 |倒序瀏覽 |閱讀模式
最近剛碰ADXL330不久..
這是我的程式碼...有辦法讓他輸出來的值
更精準嗎...

還有如何用程式抓出他的數值出來做判別...

const int groundpin = 18;            
const int powerpin = 19;              
const int xpin = A3;                  
const int ypin = A2;                  
const int zpin = A1;                  

void setup()
{

  Serial.begin(9600);


  pinMode(groundpin, OUTPUT);
  pinMode(powerpin, OUTPUT);
  digitalWrite(groundpin, LOW);
  digitalWrite(powerpin, HIGH);
}

void loop()
{

   Serial.print("X = ");Serial.print(analogRead(xpin));


  Serial.print("Y = ");Serial.print(analogRead(ypin));


  Serial.println("Z = ");Serial.print(analogRead(zpin));

  Serial.println();

  delay(100);
}
2#
 樓主| 發表於 2011-9-24 23:22:58 | 顯示全部樓層
那如果要寫程式抓出裡面數值的話..
大概要重哪些方面下手 才能抓出serial monitor裡面的數值下來判別

=____=我是ARDUINO與三軸新手...
請各位大大指導我一下謝謝~
3#
 樓主| 發表於 2011-9-25 12:07:54 | 顯示全部樓層
//  變數設定
double X,Y,Z //轉到正確XYZ的G值
double SMA; // SMA = abs(x)+abs(y)+abs(z)
int Xread,Yread,Zread; //  讀入XYZ的值
int Xinput = 1; // X軸的腳point位子
int Yinput = 3; // Y軸的腳point位子
int Zinput = 5; // Z軸的腳point位子
int Xref = ; // X  軸的偏差校正參數
int Yref = ; // Y  軸的偏差校正參數
int Zref = ; // Z  軸的偏差校正參數
void setup()   //板子鮑率,指一秒傳送9600bits。
{   Serial.begin(9600); }
void loop()
{  //  將 XYZ 軸的值求得
Xread = analogRead(Xinput-Xref);
Yread = analogRead(Yinput-Yref);
Zread = analogRead(Zinput-Zref);
// SMA值計算
X=X*X; Y=Y*Y;   Z=Z*Z;
SMA = X+Y+Z;
//  設定SMA數據的型態,取到小數點後兩位。
printDouble(SMA,2);
delay(5); //  要等待5m秒後再執行。
}
這是我朋友給我的另一組程式碼
只是他也不清楚位啥double SMA; 老是出問題...
是語法錯誤還是怎樣...
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-6-11 23:43 , Processed in 0.194910 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表