HS0038 是經(jīng)常常用到的紅外接收電子元件,幾乎可以接收市面所有紅外遙控器的信號(hào),因此我們采用它作為本實(shí)驗(yàn)的接收裝置。
紅外接收發(fā)射需要數(shù)據(jù)遵守一定的規(guī)則,常見的有 NEC 協(xié)議,飛利浦RC5 協(xié)議,索尼SIRC 協(xié)議,ITT ,JVC等。以NEC 協(xié)議為例,我們可以大致了解無(wú)線通信協(xié)議的規(guī)則。
首先, NEC 協(xié)議規(guī)定,邏輯1 和邏輯0 有嚴(yán)格的時(shí)間與電平對(duì)應(yīng)關(guān)系,如下圖:邏輯1 :560 μs高電平,1690 μs低電平;邏輯0 :560 μs高電平,560 μs小號(hào)低電平。
31-紅外接收原理圖1.png (36.81 KB, 下載次數(shù): 121)
下載附件
2020-8-19 12:09 上傳
實(shí)際上,一次傳輸?shù)膬?nèi)容包括起始位(引導(dǎo)碼), 8 位地址和8 位命令,其中為了保證數(shù)據(jù)的有效性,有效數(shù)據(jù)是這樣構(gòu)成的:地址+ 地址反碼+ 命令+ 命令反碼。反碼即把0 置為1 ,把1 置為0 ,從而兩次檢驗(yàn)保證了數(shù)據(jù)的可靠性。因此,一次傳輸內(nèi)容的構(gòu)成如下:
31-紅外接收原理圖2.png (34.76 KB, 下載次數(shù): 125)
下載附件
2020-8-19 12:10 上傳
其中起始位為 9ms高電平和4.5ms 低電平。
最后,當(dāng)按鍵長(zhǎng)按時(shí),這樣是發(fā)送一個(gè) 110ms 的重復(fù)碼:
31-紅外接收原理圖3.png (22.99 KB, 下載次數(shù): 107)
下載附件
2020-8-19 12:10 上傳
通過(guò)編寫對(duì)應(yīng)的程序,還可以利用紅外發(fā)射可以模擬紅外遙控器實(shí)現(xiàn)遙控功能,該部分見下分段內(nèi)容。
實(shí)驗(yàn)?zāi)康模?/strong>在本例中,我們將利用紅外接收模塊,接收遙控器發(fā)出的信號(hào),并利用窗口顯示出來(lái)。
器材:Stduino UNO / Nano; 杜邦線;紅外接收(HS0038 )模塊
電路連接:
31-紅外接收電路圖.png (116.96 KB, 下載次數(shù): 122)
下載附件
2020-8-19 12:11 上傳
代碼展示:
#define IRMP_INPUT_PIN 11 //定義紅外接收I/O引腳
#define IRMP_PROTOCOL_NAMES 1
#include <irmpSelectMain15Protocols.h>//使用15個(gè)主要的IR協(xié)議
#include <irmp.c.h>
IRMP_DATA irmp_data[1];//數(shù)據(jù)儲(chǔ)存
void setup()
{
Serial.begin(115200);
irmp_init();//初始化紅外通信
irmp_irsnd_LEDFeedback(true); //開始接收紅外通信
irmp_print_active_protocols(&Serial);//打印支持的IR協(xié)議
}
void loop() {
if (irmp_get_data(&irmp_data[0]))
{
irmp_result_print(&irmp_data[0]); //輸出接收到的信息
}
delay(100);
}
實(shí)驗(yàn)效果:如串口監(jiān)視器所示,其中 P 表示采用的RC6 協(xié)議,C 表示指令為0x05 ,R 為長(zhǎng)按重復(fù)。
30-效果圖.png (37.55 KB, 下載次數(shù): 127)
下載附件
2020-8-19 12:14 上傳
Stduino IDE是一款面向32位處理器快速入門學(xué)習(xí)的集成開發(fā)平臺(tái),目前已經(jīng)支持Arduino_Core_STM32框架,集聚快捷、高效、免費(fèi)、開源、易得于一身,軟件還集成了GDB調(diào)試功能。IDE當(dāng)前支持的功能有:
GDB調(diào)試
封裝庫(kù)下載安裝
代碼自動(dòng)補(bǔ)全提示
中英文模式
UTF-8\GBK編碼格式
代碼快速格式化
SWD\串口程序下載&調(diào)試(已驗(yàn)證)
DFU程序下載方式(待驗(yàn)證)
USB HID程序下載方式(待驗(yàn)證)
maple DFU程序下載方式(待驗(yàn)證)
maple DFU2程序下載方式(待驗(yàn)證)
MassStorage程序下載方式(待驗(yàn)證)
更多功能細(xì)節(jié)請(qǐng)點(diǎn)擊圖片上水印顯示的網(wǎng)址進(jìn)行了解
已經(jīng)支持的芯片&板型列表:
Stduino UNO&Nano
Nucleo 144 boards
Nucleo 64 boards
Nucleo 32 boards
Discovery boards
Eval boards
STM32MP1 series coprocessor boards
Generic STM32F0 boards
Generic STM32F1 boards
Generic STM32F3 boards
Generic STM32F4 boards
Generic STM32H7 boards
Generic STM32L0 boards
3D printer boards
LoRa boards
Electronic Speed Controller boards
Generic flight controllers
Garatronics boards
Midatronics boards
更多功能集成正在進(jìn)行中~