Arduino 連接ADXL330 三軸加速計(Three-Axis Accelerometer)

 

²        基本功:在學習本例題之前,您應該實習完以下練習:

1.     可變電阻接上5V電壓,產生0~5V類比電壓,利用Arduino的ADC 功能(10 bits),轉換成十進位 0~1023 數值

2.     可變電阻接上3.3V電壓,產生0~3.3V類比電壓,利用Arduino的ADC 功能(10 bits),結合AREF接腳設定,轉換成十進位 0~1023 數值。

 

 

本例開始

 

²        電路連接:

說明: Arduino UNO 板上的 3.3V接腳,接到ADXL330的 ‘+’ 腳,以及Arduino UNO 板上的AREF接腳。ADXL330的 ‘X’ ‘Y’ ‘Z’ 三軸輸出,分別接到Arduino UNO 板上的Analog In A1, A2, 及 A3 接腳。

圖1

 

 

²        程式:

int ADC_x, ADC_y, ADC_z;
int pin_A1=1;
int pin_A2=2;
int pin_A3=3;

void setup()
{
  Serial.begin(9600);
  analogReference(EXTERNAL);
}

void loop()
{
  ADC_x=analogRead(pin_A1);
  ADC_y=analogRead(pin_A2);
  ADC_z=analogRead(pin_A3);
 
   Serial.print(ADC_x);
   Serial.print("\t");
   Serial.print(ADC_y);
   Serial.print("\t");
   Serial.print(ADC_z);
   Serial.print("\t");
   Serial.print(ADC_x+ADC_y+ADC_z);
   Serial.println();
   delay(500);
}

 

²        執行結果:

 

Case 1: 圖1麵包板,水平置於桌上

圖2

 

 

 

 Case 2: 圖1麵包板左方抬高約30度,發現數值改變,茲列出一組數據:              402  478  514  1394

 

     Case 3: 圖1麵包板右方抬高約30度,發現數值改變,茲下列出一組數據:            399  554  532  1485

           

 Case 4: 圖1麵包板圖片上方那一端抬高約30度,發現數值改變,茲下列出一組數據:  401  518  478  1397

 

 Case 5: 圖1麵包板圖片下方那一端抬高約30度,發現數值改變,茲下列出一組數據:  401  518  542  1461