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