查看(SKU:RB-03T001)紅外無線遙控套件的源代碼
←
(SKU:RB-03T001)紅外無線遙控套件
跳轉(zhuǎn)至:
導航
、
搜索
因為以下原因,你沒有權(quán)限編輯本頁:
您剛才請求的操作只有這個用戶組中的用戶才能使用:
用戶
您可以查看并復制此頁面的源代碼:
<br/> [[文件:sdfa1.jpg|500px|有框|右]] ==概況== :紅外線遙控接收傳感器模塊,它采用了 HS 0038 一體化紅外接收頭作為信號接收元 件,確保了產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。HS 0038 是一個集成度很高的 元器件。紅外接收電路一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形 集于一身,并且輸出可以讓單片機識別的 TTL 信號,這樣大大簡化了接收電路的復雜 程度和電路的設(shè)計工作,方便使用。在產(chǎn)品中我們采用紅外一體化接收頭 HS0038,外 觀如封面圖片所示。HS0038 黑色環(huán)氧樹脂封裝,不受日光、熒光燈等光源干擾。HS 0038 為直立側(cè)面收光型。它接收紅外信號頻率為 38 kHz,周期約 26 μs,能同時對信號進行 放大、檢波、整形,得到 TTL 電平的編碼信號。因此該款產(chǎn)品具有品質(zhì)卓越、超快響 應、抗干擾能力強、性價比高等優(yōu)點。 :應用領(lǐng)域:家電產(chǎn)品、人機互動平臺、教學儀器儀表、PC遙控器等。 ==規(guī)格參數(shù) == # 供電電壓:4.5~5.5V # 輸出信號:TTL; # 接收信號距離半徑:不大于7m(根據(jù)遙控器發(fā)射功率而定,此參數(shù)為本套遙控器測試結(jié)果); # 模塊尺寸:13.5mm×38.3mm # 模塊重量:2g ==使用方 法== 步驟一:接線 S 端口連接到控制器的 I/O 口。+、- 分別接到電源的+5V 和 GND。 步驟二:安裝固定 根據(jù)需要通過直徑 φ3 的連接件(銅柱、螺釘、螺栓等)進行固定。 ==紅外遙 控接收 傳感 器的測試 == 我們使用 Arduino 控制器來做個測試,要用到硬件設(shè)備如下: # Arduino 控制器×1 # Arduino LCD1602 字符液晶擴展板×1 # 紅外遙控接收傳感器模塊×1 # 蜂鳴器發(fā)聲模塊×1 # 超薄紅外遙控器×1 # 通用 3P 傳感器連接線×2 # USB 數(shù)據(jù)通信線×1 [[文件:sdfa2.jpg|500px|有框|居中]] :如圖所示,使用傳感器連接線將紅外遙控接收傳感器連接到 LCD1602 字符液晶擴 展板的模擬口 1 上,如需聲音提示可把本公司的蜂鳴器發(fā)聲模塊連接到模擬口 2 上, 這里要說明下,我們是把模擬接口當做數(shù)字接口用,這樣比較方便,參見例子程序中 接口定義。連接好硬件后,再把測試源程序庫文件解壓縮到你的 Arduino 安裝目錄下的 hardware\ libraries 里面(如需紅外遙控接收傳感器庫文件請聯(lián)系我們的技術(shù)客服)。然 后將代碼編譯后下載到 Arduino 里,就可以進行鍵值讀取試驗了,同時在軟件里的串口 監(jiān)視窗口上可以看見同步的鍵值顯示(注:軟件串口波特率設(shè)置為 9600)。 # Arduino 實驗代碼如下: <pre style='color:blue'>#include <LCD4Bit_mod.h> LCD4Bit_mod lcd = LCD4Bit_mod(2); #define TIMER_RESET TCNT1 = 0 #define SAMP LE_S IZE 68 int BUZZER = 16;// 設(shè)置模擬口 2 為蜂鳴器信號輸出引腳 int IRpin = 15; //設(shè)置模擬口 1 為信號接收引腳 unsigned int TimerValue[SAMPLE_SIZE]; char direction[SAMPLE_SIZE]; byte change_count; long t ime1, t ime2; unsigned long data; char a,b,c,d,e; unsigned long irc; char tab[12]={"0123456789"}; void setup() { pinMode(IRpin, INPUT); pinMode(13, OUTPUT); pinMode(BUZZER,OUTPUT);// 設(shè)置與蜂鳴器連接的引腳為輸出模式 lcd.init(); lcd.clear( ); lcd.printIn("www.robotbase.cn"); lcd.cursorTo(2, 0); lcd.printIn("IR_CODE:"); TCCR1B = 0x03; TCCR1A = 0x00; a=0;b=0;c=0;d=0;e=0; Serial.begin(9600); bee(); void loop() { lcd.cursorTo(2, 9); lcd.print(tab[a]); lcd.cursorTo(2, 10); lcd.print(tab[b]); lcd.cursorTo(2, 11); lcd.print(tab[c]); lcd.cursorTo(2, 12); lcd.print(tab[d]); lcd.cursorTo(2, 13); lcd.print(tab[e]); ir_code(); Serial.println(irc); } void bee() { digitalWrite(BUZZER,LOW);//蜂鳴器響 delay(300); digitalWrite(BUZZER,HIGH);//蜂鳴器響 delay(300); } void ir_code() { change_count = 0; while(digitalRead(IRpin) == HIGH) {} // 等待起始位 TIMER_RES ET; TimerValue[change_count] = TCNT1; direct ion[change_count++] = '0'; while (change_count < S AMP LE_SIZE) { if (direction[change_count-1] == '0') { while(digitalRead(IRpin) == LOW) {} // 等待電平上升沿出現(xiàn) TimerValue[change_count] = TCNT1; direct ion[change_count++] = '1'; // 保持信號狀態(tài) } else { while(d igit alRead(IRpin) == HIGH) {} // 等待電平信號的下降沿 TimerValue[change_count] = TCNT1; direct ion[change_count++] = '0'; // 保持信號狀態(tài) } } change_count = 0; data = 0; time1 = (long) TimerValue[change_count] * 4; change_count += 2; while (change_count < SAMPLE_SIZE) { time2 = (long) TimerValue[change_count] * 4; if ((t ime2 - time1) > 8000) { else if ((time2 - t ime1) > 1680) { data = data << 1; // 左移一位 data |= 1; else { data = data << 1; change_count += 2; time1 = time2; irc=data%100000; a=irc/10000; b=irc%10000/1000; c=irc%1000/100; d=irc%100/10; e=irc%10; bee(); }</pre> # 配套遙控器鍵值表: Arduino 平 臺下全碼鍵值 [[文件:sdfa3.jpg|500px|有框|居中]] 51 單片機平臺下全碼鍵值 [[文件:sdfa4.jpg|500px|有框|居中]]
返回
(SKU:RB-03T001)紅外無線遙控套件
。
來自“
http://lifestyle201.com/wiki/index.php/(SKU:RB-03T001)紅外無線遙控套件
”
導航菜單
個人工具
登錄
名字空間
頁面
討論
變換
查看
閱讀
查看源代碼
查看歷史
操作
搜索
導航
首頁
社區(qū)專頁
新聞動態(tài)
最近更改
隨機頁面
工具箱
鏈入頁面
相關(guān)更改
特殊頁面
頁面信息
隱私政策
關(guān)于ALSROBOT WiKi
免責聲明