Arduino從模型遙控接收機(jī)獲取PPM控制信號_第1頁
Arduino從模型遙控接收機(jī)獲取PPM控制信號_第2頁
Arduino從模型遙控接收機(jī)獲取PPM控制信號_第3頁
Arduino從模型遙控接收機(jī)獲取PPM控制信號_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Arduino 從模型遙控接收機(jī)獲取 PPM控制信號無線遙控就是利用高頻無線電波實現(xiàn)對模型的控制。如天地飛的的6通道2.4 GHz遙控器,一套200多塊,具有自動跳頻抗干擾能力,從理論上講可以讓上百人在同一場地同時遙控自己的模型而不會相互干擾。而且在遙控距離方面也頗具優(yōu)勢,2. 4 GHz遙控系統(tǒng)的功率僅僅在100 mW以下,而它的遙控距離可以達(dá)到 1km以上。發(fā)射機(jī)接收機(jī)圖1遙控器工作原理每個通道信號脈寬 02ms,變化范圍為12ms之間。1幀PPM信號長度為20ms,可以容納9個通道。PPM Frame Decoder Qutpu啟Output閥血3)圖2. PPM格式圖3.接收機(jī)通道3(

2、油門)連接到arduino的數(shù)字腳3/read PPM sig nals from 2 cha nn els of an RC recieverhttp:ardui no.cc/forum/i ndex.php/topic,42286.0.html/把需要處理的接收機(jī)的兩個通道分別接arduino的數(shù)字口 2、3腳/Most Arduino boards have two exter nal in terrupts: n umbers 0 (on digital pin 2) and 1 (on digital pin 3)./The Ardu ino Mega has an additi o

3、nal four: n umbers 2 (pin 21), 3 (pin 20), 4 (pin 19), and 5 (pin 18).int ppm1 = 2;int ppm2 = 3;unsignedlong rc1_PulseStartTicks,rc2_PulseStartTicks;volatile int rc1_val, rc2_val;void setup() Serial.begi n(9600);/PPM in puts from RC receiverpi nMode(ppm1, INPUT);pi nM ode(ppm2, INPUT);/電平變化即觸發(fā)中斷atta

4、chInterrupt(0, rc1, CHANGE);attachInterrupt(1, rc2, CHANGE); void rc1()II did the pin change to high or low?II store the current micros() valueif (digitalRead( ppml ) = HIGH) rc1_PulseStartTicks = micros();elserc1_val = micros。- rc1_PulseStartTicks;void rc2()/ did the pin cha nge to high or low?if (

5、digitalRead( ppm2 ) = HIGH) rc2_PulseStartTicks = micros();elserc2_val = micros() - rc2_PulseStartTicks;void loop() I/pri nt valuesSerial.pr int(cha nnel 1:);Serial.pr in t(rc1_val);Serial.pri nt();Serial.pr int(cha nnel 2:);Serial.pri ntl n(rc2_val);還有一種方式需要打開接收機(jī),把解碼前的PPM信號取出來。使用一個數(shù)字接口就可以取得全部通道數(shù)據(jù)。參

6、考 http:diydro nes.eom/profiles/blogs/705844:BlogPost:38393圖 4. 截取 PPM 信號打開接收機(jī)后,尋找 PPM 信號接口有幾種辦法:1. 查芯片資料,如Futaba接收機(jī)使用BU4015BF移位寄存器芯片,管腳1或9焊一根 線引出即可。2. 使用示波器3. 使用 arduino ,寫入測量脈寬的程序,在電路板上找吧,知道出現(xiàn)一些隨機(jī)數(shù)估計 就是了。找到以后使用下面代碼進(jìn)行解碼。 此段代碼使用查詢方式, 效率較低。 更有效率的辦法 是使用兩個中斷。一個中斷檢測同步信號,另一個中斷處理 PPM 信號。 /#define channumbe

7、r 4 /How many channels have your radio?int valuechannumber;voidsetup()Serial.begin(57600);/Serial BeginpinMode(3, INPUT);/Pin 3 as input voidloop()while (pulseIn(3, LOW) 5000)/Wait for the beginning of the framefor( int x=0; x=channumber-1; x+)/Loop to store all the channel positionvaluex=pulseIn(3, LOW); for( int x=0; x=channumber-1; x+)/Loop to print and clear all the channelreadingsSerial.print(value

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論