(SKU:RB-03T001)紅外無線遙控套件
目錄 |
產(chǎn)品概述
紅外線遙控接收傳感器模塊,它采用了 HS 0038 一體化紅外接收頭作為信號接收元件,確保了產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。HS 0038 是一個集成度很高的元器件。紅外接收電路一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機識別的 TTL 信號,這樣大大簡化了接收電路的復雜程度和電路的設計工作,方便使用。在產(chǎn)品中我們采用紅外一體化接收頭 HS0038,外觀如封面圖片所示。HS0038 黑色環(huán)氧樹脂封裝,不受日光、熒光燈等光源干擾。HS 0038 為直立側(cè)面收光型。它接收紅外信號頻率為 38 kHz,周期約 26 μs,能同時對信號進行放大、檢波、整形,得到 TTL 電平的編碼信號。因此該款產(chǎn)品具有品質(zhì)卓越、超快響應、抗干擾能力強、性價比高等優(yōu)點。 應用領域:家電產(chǎn)品、人機互動平臺、教學儀器儀表、PC遙控器等。
規(guī)格參數(shù)
- 供電電壓:4.5-5.5V
- 輸出信號:TTL
- 接收信號距離半徑:不大于7m(根據(jù)遙控器發(fā)射功率而定,此參數(shù)為本套遙控器測試結(jié)果);
- 模塊尺寸:13.5mm×38.3mm
- 模塊重量:2g
產(chǎn)品清單
1.無線紅外遙控器*1個
2.3P傳感器連接線*1個
3.紅外接收傳感器*1個
使用方法
步驟一:接線 S端口連接到控制器的 I/O 口。+、- 分別接到電源的+5V 和 GND。
步驟二:安裝固定 根據(jù)需要通過直徑 φ3 的連接件(銅柱、螺釘、螺栓等)進行固定。
紅外遙控接收傳感器的測試
我們使用 Arduino 控制器來做個測試,要用到硬件設備如下:
- Arduino 控制器×1
- Arduino LCD1602 字符液晶擴展板×1
- 紅外遙控接收傳感器模塊×1
- 蜂鳴器發(fā)聲模塊×1
- 超薄紅外遙控器×1
- 通用 3P 傳感器連接線×2
- USB 數(shù)據(jù)通信線×1
- 如圖所示,使用傳感器連接線將紅外遙控接收傳感器連接到 LCD1602 字符液晶擴
展板的模擬口 1 上,如需聲音提示可把本公司的蜂鳴器發(fā)聲模塊連接到模擬口 2 上, 這里要說明下,我們是把模擬接口當做數(shù)字接口用,這樣比較方便,參見例子程序中 接口定義。連接好硬件后,再把測試源程序庫文件解壓縮到你的 Arduino 安裝目錄下的 hardware\ libraries 里面(如需紅外遙控接收傳感器庫文件請聯(lián)系我們的技術(shù)客服)。然 后將代碼編譯后下載到 Arduino 里,就可以進行鍵值讀取試驗了,同時在軟件里的串口 監(jiān)視窗口上可以看見同步的鍵值顯示(注:軟件串口波特率設置為 9600)。
- Arduino 實驗代碼如下:
#include <LCD4Bit_mod.h> LCD4Bit_mod lcd = LCD4Bit_mod(2); #define TIMER_RESET TCNT1 = 0 #define SAMP LE_S IZE 68 int BUZZER = 16;// 設置模擬口 2 為蜂鳴器信號輸出引腳 int IRpin = 15; //設置模擬口 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);// 設置與蜂鳴器連接的引腳為輸出模式 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(); }
Arduino平臺下鍵值表
產(chǎn)品相關(guān)推薦
購買地址:紅外無線遙控套件
論壇地址:奧松機器人技術(shù)論壇