RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>用于Arduino的ADXL335加速度計

用于Arduino的ADXL335加速度計

2022-07-04 | zip | 0.03 MB | 次下載 | 免費

資料介紹

PCB圖如下:
pYYBAGKxrhaABX1QAAAolszwfo4713.png
poYBAGKxrhiADxAoAAAYmban80Q347.png

成分

?

ADXL335BCPZ-RL
模擬設(shè)備
× 1
741C083510JP
CTS電阻器產(chǎn)品
× 1
227CKS035M
伊利諾伊電容器
× 1
16針公頭 × 1

?

描述

用于 Arduino 的 ADXL335 加速度計

這個加速度計模塊基于流行的 ADXL335 三軸模擬加速度計 IC,它將 X、Y 和 Z 加速度讀取為模擬電壓。通過測量重力引起的加速度,加速度計可以計算出它相對于地球的傾斜角度。通過感測動態(tài)加速度的量,加速度計可以了解設(shè)備移動的速度和方向。使用這兩個屬性,您可以制作各種很酷的項目,從樂器(想象演奏并將傾斜連接到失真水平或彎音)到汽車(或您孩子的汽車)上的速度監(jiān)視器。加速度計是使用 3 個模擬輸入引腳連接到 Arduino 微控制器的非常簡單的接口,并且可以與大多數(shù)其他微控制器一起使用,例如 PIC 或 AVR。

poYBAGKxriGAbiNVAAAkySaNmXc514.jpg

對于大多數(shù)加速度計,操作所需的基本連接是電源通信線路。具有模擬接口的加速度計通過不同的電壓水平顯示加速度。這些值通常在接地和電源電壓電平之間波動。然后可以使用微控制器上的 ADC 讀取該值。這些通常比數(shù)字加速度計便宜。?

ADXL335 是 3 軸加速度計,帶有板載穩(wěn)壓器 IC 和信號調(diào)理模擬電壓輸出。該模塊由 Analog Devices 的 ADXL335 組成。該產(chǎn)品以 ±3 g 的最小滿量程范圍測量加速度。它可以測量傾斜感應(yīng)應(yīng)用中的靜態(tài)重力加速度,以及運動、沖擊或振動產(chǎn)生的動態(tài)加速度。

用戶使用 XOUT、YOUT 和 ZOUT 引腳上的 CX、CY 和 CZ 電容器選擇加速度計的帶寬??梢赃x擇適合應(yīng)用的帶寬,X 軸和 Y 軸的范圍為 0.5 Hz 至 1600 Hz,Z 軸的范圍為 0.5 Hz 至 550 Hz。這是經(jīng)過驗證的長期系列中的最新產(chǎn)品模擬傳感器——加速度計的圣杯。加速度計通常是低功耗設(shè)備。所需電流通常在微 (μ) 或毫安范圍內(nèi) ADXL335 是一款三軸加速度計,具有極低的噪聲和功耗——僅 320uA!該傳感器具有 +/-3g 的完整感應(yīng)范圍。

有一個板載電壓調(diào)節(jié)器,可讓您使用 3V 至 6V DC 為電路板供電。電路板已完全組裝并經(jīng)過安裝外部組件的測試。隨附的 0.1uF 電容器將每個軸的帶寬設(shè)置為 50Hz。

pYYBAGKxriOAfTYgAACIGPIi-nQ664.jpg

特征:poYBAGKxriaAa3D5AAA1OqGTUcU140.jpg

3V-6V 直流電源電壓

板載 LDO 穩(wěn)壓器

可與 3V3 或 5V 微控制器接口。

所有必要的組件都已填充。

超低功耗:測量模式40uA,待機0.1uA@2.5V

點擊/雙擊檢測

自由落體檢測

模擬輸出

規(guī)格poYBAGKxriaAa3D5AAA1OqGTUcU140.jpg
pYYBAGKxriuAGVJdAAA12MpUc3E177.jpg

帶調(diào)節(jié)器的 3 軸加速度計的描述 – ADXL335 如下所示
poYBAGKxri6Adq2NAABEdQcRsS8589.jpg

poYBAGKxriaAa3D5AAA1OqGTUcU140.jpg

輸入電壓范圍 (VCC) = 3V3- 6V

如何測試poYBAGKxriaAa3D5AAA1OqGTUcU140.jpg1. 帶調(diào)節(jié)器的 3 軸加速度計 – 使用 Arduino 的 ADXL335

這是說明如何將 Arduino 連接到 ADXL335 三軸加速度計的指南。下圖描述了 Arduino 上的哪些引腳應(yīng)連接到加速度計上的引腳:

poYBAGKxrjiAFEaLAACiCRkLSpg702.png

使用 Arduino 板進行測試,示例程序如下所示。使用這個程序,我們在振動期間讀取 X、Y 和 Z 軸的輸出。

詮釋 x; // x 軸變量

整數(shù)y; // y軸變量

詮釋z; // z 軸變量

/************************************************* *************************************

功能:設(shè)置()

描述:用它來初始化變量、引腳模式、開始使用庫等。

設(shè)置功能只會在每次上電或重啟 Arduino 板后運行一次。

****************************************************** *************************************/

無效設(shè)置()

{

序列號.開始(9600);// 打開串口,設(shè)置數(shù)據(jù)速率為 9600 bps

}

/************************************************* *************************************

功能:循環(huán)()

描述:連續(xù)循環(huán),允許您的程序更改和響應(yīng)。

用它來主動控制 Arduino 板。

****************************************************** *************************************/

無效循環(huán)()

{

x = 模擬讀?。?);//讀取第0個模擬輸入引腳

y = 模擬讀取(1);//讀取第一個模擬輸入引腳

z = 模擬讀?。?);//讀取第二個模擬輸入引腳

Serial.print("X = "); // 打印 x adc 值

序列號.println(x);

Serial.print("Y = "); // 打印 y adc 值

序列號.println(y);

Serial.print("Z = "); // 打印 z adc 值

序列號.println(z);

延遲(100);

}

將 ADXL335 模塊與 Arduino 連接并上傳 Arduino 示例代碼。然后打開串口監(jiān)視器,ADXL335會輸出加速度

pYYBAGKxrjuARAIzAABTCC6ZWOw981.jpg

2. 使用調(diào)節(jié)器測試 3 軸加速度計——使用 PIC16F877A 的 ADXL335?

當(dāng)將 3 軸加速度計與調(diào)節(jié)器 - ADXL335 與 PIC16F877A 微控制器連接時,傳感器的 X、Y、Z 引腳連接到微控制器的端口 A。這里 X、Y、Z 引腳分別連接到 RA1、RA2、RA3。連接圖如下所示pYYBAGKxrj6AXtkiAAF6cy1txHE903.jpg

使用調(diào)節(jié)器測試 3 軸加速度計 – ADXL335 和 PIC16F877A,示例程序如下所示。使用這個程序,我們

#include

#include“延遲.c”

詮釋 X_Value=0;

int Y_Value=0;

int Z_Value=0;

無效 ADC_init() ;

無效發(fā)送(字符);

int adc_conv(int);

無效的 SerialPortInit() ;

無效發(fā)送數(shù)據(jù)(字符);

無效顯示(整數(shù)值);

無效 MSdelay(無符號整數(shù));

靜態(tài)無效 Send2USART(const char *CPtr1);

無效的主要()

{

TRISC=0X80;

TRISE=0X07;

串行端口初始化();

ADC_init();

而(1)

{

Send2USART("X軸:");

X_Value=adc_conv(1);

顯示(X_Value);

發(fā)送數(shù)據(jù)(' ');

Send2USART("Y軸:");

Y_Value=adc_conv(2);

顯示(Y_值);

發(fā)送數(shù)據(jù)(' ');

Send2USART("Z軸:");

Z_Value=adc_conv(3);

顯示(Z_Value);

發(fā)送數(shù)據(jù)('\n');

發(fā)送數(shù)據(jù)('\r');

}

}

/************************************************* ******************************

* 功能:發(fā)送2USART

* 描述:串行發(fā)送的一組數(shù)據(jù)??

****************************************************** ******************************/

靜態(tài)無效 Send2USART(const char *Cptr1)

{

while(*Cptr1 != '\0')

{

發(fā)送數(shù)據(jù)(*Cptr1);

cptr1++;

}

}

/************************************************* ******************************

* 功能:顯示

* 說明:顯示adc值功能

****************************************************** ******************************/

無效顯示(整數(shù)值)

{

字符 k=1;

字符數(shù)組[4];

for(k=1;k<=4;k++)

{

數(shù)組[k]=值%10;

價值=價值/10;

}

for(k=4;k>=1;k--)

{

發(fā)送數(shù)據(jù)(數(shù)組[k]+'0');

}

}

/************************************************* ******************************

* 功能:SerialPortInit

* 描述:Usart 初始化函數(shù) - 波特率 9600

****************************************************** ******************************/

無效的 SerialPortInit()

{

GIE=1;

同步=0;

TXEN=1;

BRGH=1;

SPEN=1;

CREN=1;

PEIE=1;

RCIE=1;

SPBRG=129;

}

/************************************************* ******************************

* 功能:ADC_init

* 說明:Adc 初始化函數(shù)

****************************************************** ******************************/

無效 ADC_init()

{

ADFM=1;

PCFG3=0;

PCFG2=0;

PCFG1=0;

PCFG0=0;

}

/************************************************* ******************************

* 功能:adc_conv

* 說明:Adc 轉(zhuǎn)換功能

****************************************************** ******************************/

int adc_conv(int 通道)

{

詮釋AB;

ADCON0=0x81|通道<<4; //通道選擇

延遲Ms(1);

ADGO=1;//開始AD轉(zhuǎn)換

而(ADGO!= 0);//等待AD轉(zhuǎn)換的競爭

ab=地址;//將2bit值A(chǔ)DRSH寄存器賦給變量ab

ab=ADRESH<<8; //8次移位變量ab值

ab=ab|ADRESL; //結(jié)合ADRESL和ab值

返回(ab);

}

/************************************************* ******************************

* 功能:發(fā)送數(shù)據(jù)

* 描述:串行發(fā)送數(shù)據(jù)

****************************************************** ******************************/

無效發(fā)送數(shù)據(jù)(字符數(shù)據(jù))

{

TXREG=sdata;

而(TRMT!= 1);

}

/************************************************* ******************************

* 功能:MSdelay

* 描述:產(chǎn)生1ms延遲

****************************************************** ******************************/

無效 MSdelay(無符號整數(shù) val)

{

無符號整數(shù)德爾,德爾1;

for(del=1;del<=val;del++)

{

for(del1=0;del1<=331;del1++);

}????

}

當(dāng) PIC16F877A 微控制器接收到帶調(diào)節(jié)器的 3 軸加速度計 – ADXL335 數(shù)據(jù)并在串行監(jiān)視器上顯示為

. poYBAGKxrkKAGqm5AAFb56q7c9s209.jpg

將 ADXL335 輸出轉(zhuǎn)換為加速度 (g)

?

下面的代碼片段是程序中最重要的部分。它將來自傳感器的模擬輸出電壓映射并轉(zhuǎn)換為重力加速度 (G)。

IDE 的內(nèi)置 map() 函數(shù)執(zhí)行實際映射。因此,當(dāng)我們調(diào)用 map(xRaw, RawMin, RawMax, -3000, 3000) 時,RawMin 的值將映射到 -3000,RawMax 的值映射到 3000,中間值映射到中間值。

值 -3000 和 3000 不是任意的。它們實際上代表由傳感器測量的重力加速度(以毫克為單位,即 1/1000 ag),即 ±3g(-3000 毫克到 3000 毫克)。

例如,

當(dāng)傳感器在 x 軸上輸出 0 伏即 xRaw=0 時,map() 函數(shù)將返回 -3000 表示 -3g。

當(dāng)傳感器在 x 軸上輸出 3.3 伏特時,即 xRaw=1023,map() 函數(shù)將返回 3000,表示 +3g。

當(dāng)傳感器在 x 軸上輸出 1.65 伏特時,即 xRaw=511,map() 函數(shù)將返回 0 表示 0g。

現(xiàn)在,隨著輸出電壓隨加速度在該范圍內(nèi)線性增加,比率這個術(shù)語現(xiàn)在將更有意義。

// 將原始值轉(zhuǎn)換為“milli-Gs”

long xScaled = map(xRaw, RawMin, RawMax, -3000, 3000);

long yScaled = map(yRaw, RawMin, RawMax, -3000, 3000);

長 zScaled = map(zRaw, RawMin, RawMax, -3000, 3000);

最后,傳感器的輸出通過將其除以 1000 縮小到小數(shù) Gs 并顯示在串行監(jiān)視器上。

// 重新縮放到小數(shù) Gs

浮動 xAccel = xScaled / 1000.0;

浮動 yAccel = yScaled / 1000.0;

浮動 zAccel = zScaled / 1000.0;

Serial.print("X, Y, Z :: ");

串行打印(xRaw);

序列號.print(", ");

Serial.print(yRaw);

序列號.print(", ");

串行打印(zRaw);

Serial.print(" :: ");

Serial.print(xAccel,0);

Serial.print("G, ");

Serial.print(yAccel,0);

Serial.print("G, ");

Serial.print(zAccel,0);

序列號.println("G");

代碼

adxl335 的測試代碼

adxl335_test_code.ino

下載

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
RM新时代网站-首页