相關(guān)商品























【奧松新品】基于Arduino、ADXL335與APC220的無(wú)線遙控器
編輯:Peter2013-08-29 130708050 瀏覽次數(shù):1020
Arduino
Arduino是一款便捷靈活、方便上手的開(kāi)源電子原型平臺(tái),包含硬件(各種型號(hào)的Arduino控制器)和軟件(Arduino IDE)。Arduino能通過(guò)各種各樣的傳感器來(lái)感知環(huán)境,通過(guò)控制燈光、馬達(dá)和其他的裝置來(lái)反饋、影響環(huán)境。對(duì)Arduino的編程是利用 Arduino編程語(yǔ)言(基于Wiring)和Arduino開(kāi)發(fā)環(huán)境(based on Processing)來(lái)實(shí)現(xiàn)的?;?span style="color:#FF0000;">Arduino的項(xiàng)目,可以只包含Arduino,也可以包含Arduino和其他一些在PC上運(yùn)行的軟件,它們之間進(jìn)行通信來(lái)實(shí)現(xiàn)。
ADXL335三軸加速度傳感器
ADXL335三軸加速度傳感器是一款小尺寸、薄型、低功耗的三軸加速度計(jì),提供經(jīng)過(guò)信號(hào)調(diào)制的電壓輸出,能以最大小±3g的滿量程范圍測(cè)量加速度。ADXL335可以測(cè)量?jī)A斜檢測(cè)應(yīng)用中的靜態(tài)重力加速度,以及運(yùn)動(dòng)、沖擊或振動(dòng)導(dǎo)致的動(dòng)態(tài)加速度。用戶可以使用ADXL335上的X、Y和Z引腳上的電容XOUT、YOUT和ZOUT根據(jù)具體的應(yīng)用選擇合適的帶寬,X軸和Y軸的帶寬范圍為0.5Hz至1600Hz,Z軸的帶寬范圍為0.5Hz至550Hz。ADXL335模塊可以直接與微處理器或其他邏輯電路相連接,適合各種開(kāi)發(fā)板、控制器等產(chǎn)品。
APC220無(wú)線數(shù)傳模塊
APC220無(wú)線數(shù)傳模塊是一款半雙工微功率無(wú)線數(shù)據(jù)傳輸模塊,提供多個(gè)頻道的選擇,具有豐富便捷的軟件編程設(shè)置功能,可設(shè)置7種速率和3種幾口校驗(yàn)方式,對(duì)外為UART/TTL接口,在開(kāi)闊地帶的傳輸距離可達(dá)1000米。模塊的設(shè)置通過(guò)本身的UART/TTL接口完成,所以通過(guò)計(jì)算機(jī)使用時(shí)需要連接USB to UART/TTL接口轉(zhuǎn)接板。模塊也可以直接與Arduino等控制器相連,實(shí)現(xiàn)數(shù)據(jù)傳輸,進(jìn)行遠(yuǎn)程遙控。
除了以上的主要器件以外,我們還需要Arduino傳感器擴(kuò)展板。
不啰嗦了,下面就來(lái)介紹一下制作過(guò)程,將傳感器擴(kuò)展板安插到Arduino控制器上,下載如下的程序:
const int X_pin = 0;
const int Y_pin = 1;
const int Z_pin = 2;
void setup()
{
Serial.begin (9600);
}
int count(int val)
{
float temp = val * 5 / 1024;
float number = ( temp - 1.65 ) * 1000 / 330;
return number;
}
void loop()
{
float x = count(analogRead(X_pin));
float y = count(analogRead(Y_pin));
float z = count(analogRead(Z_pin));
if((x>-0.5) && (x<0.5)) && (y>-0.5) && (y<0.5) && (z>0.5) && (z<1.5))
{
Serial.print("S");
}
else if((x>-0.5) && (x<0.5) && (y>-1.5) && (y<-0.5) && (z>-0.5) && (z<0.5))
{
Serial.print("W");
}
else if((x>-0.5) && (x<0.5) && (y>0.5) && (y<1.5) && (z>-0.5) && (z<0.5))
{
Serial.print("X");
}
else if((x>0.5) && (x<1.5) && (y>-0.5) && (y<0.5) && (z>-0.5) && (z<0.5))
{
Serial.print("A");
}
else if((x>-1.5) && (x<-0.5) && (y>-0.5) && (y<0.5) && (z>-0.5) && (z<0.5))
{
Serial.print("D");
}
}
再將ADXL335三軸加速度計(jì)和APC220無(wú)線輸出模塊連接到擴(kuò)展板相應(yīng)的接口上,這樣一個(gè)基于Arduino的無(wú)線遙控器就做好了,下面還需要做一個(gè)驗(yàn)證模塊,由于小編手中沒(méi)有小車,所以只能先用LED看看效果了,我們需要將另一個(gè)APC220連接到另一個(gè)帶有Arduino傳感器擴(kuò)展板的Arduino控制器上,然后選擇五個(gè)數(shù)字口連接LED用來(lái)觀察效果,程序很簡(jiǎn)單,在這里小編就不寫了,讀者們可以自己創(chuàng)作。
好了,一款基于Arduino控制器、ADXL335三軸加速度計(jì)和APC220無(wú)線數(shù)傳模塊的無(wú)線遙控器就做好了,動(dòng)心了么?如果是,那就趕快行動(dòng)吧!
資料鏈接:
Arduino UNO
http://lifestyle201.com/goods-141.html
ADXL335三軸加速度計(jì)
http://lifestyle201.com/goods-69.html
APC220無(wú)線輸出模塊
http://lifestyle201.com/goods-55.html
Arduino傳感器擴(kuò)展板
http://lifestyle201.com/goods-55.html
Arduino技術(shù)博客
用戶評(píng)價(jià)
暫時(shí)還沒(méi)有任何用戶評(píng)論