本帖最后由 Stduino 于 2020-8-19 12:16 編輯
說明:紅外遙控是一種無線,非接觸控制技術,具有抗干擾能力強,信息傳輸可靠,可以降低,成本低,易于實現等顯著優點,被眾多電子設備采用。 紅外接收頭的工作原理為:接收內置管將紅外發射管發射出來的光信號轉換為微弱的電 信號,此信號經由 IC內部放大器進行放大,然后通過自動增益控制,帶通濾波,解調,波形整形后還原為遙控器發射出的原始編碼,通過接收頭的信號輸出腳輸出到電器上的編碼識別電路。
31-紅外接收展示圖.jpg (106.16 KB, 下載次數: 114)
下載附件
2020-8-19 12:06 上傳
HS0038 是經常常用到的紅外接收電子元件,幾乎可以接收市面所有紅外遙控器的信號,因此我們采用它作為本實驗的接收裝置。 紅外接收發射需要數據遵守一定的規則,常見的有 NEC 協議,飛利浦RC5 協議,索尼SIRC 協議,ITT ,JVC等。以NEC 協議為例,我們可以大致了解無線通信協議的規則。 首先, NEC 協議規定,邏輯1 和邏輯0 有嚴格的時間與電平對應關系,如下圖:邏輯1 :560 μs高電平,1690 μs低電平;邏輯0 :560 μs高電平,560 μs小號低電平。
31-紅外接收原理圖1.png (36.81 KB, 下載次數: 121)
下載附件
2020-8-19 12:09 上傳
實際上,一次傳輸的內容包括起始位(引導碼), 8 位地址和8 位命令,其中為了保證數據的有效性,有效數據是這樣構成的:地址+ 地址反碼+ 命令+ 命令反碼。反碼即把0 置為1 ,把1 置為0 ,從而兩次檢驗保證了數據的可靠性。因此,一次傳輸內容的構成如下:
31-紅外接收原理圖2.png (34.76 KB, 下載次數: 125)
下載附件
2020-8-19 12:10 上傳
其中起始位為 9ms高電平和4.5ms 低電平。 最后,當按鍵長按時,這樣是發送一個 110ms 的重復碼:
31-紅外接收原理圖3.png (22.99 KB, 下載次數: 107)
下載附件
2020-8-19 12:10 上傳
通過編寫對應的程序,還可以利用紅外發射可以模擬紅外遙控器實現遙控功能,該部分見下分段內容。
實驗目的:在本例中,我們將利用紅外接收模塊,接收遙控器發出的信號,并利用窗口顯示出來。
器材:Stduino UNO / Nano; 杜邦線;紅外接收(HS0038 )模塊
電路連接:
31-紅外接收電路圖.png (116.96 KB, 下載次數: 122)
下載附件
2020-8-19 12:11 上傳
代碼展示: #define IRMP_INPUT_PIN 11 //定義紅外接收I/O引腳
#define IRMP_PROTOCOL_NAMES 1
#include <irmpSelectMain15Protocols.h>//使用15個主要的IR協議
#include <irmp.c.h>
IRMP_DATA irmp_data[1];//數據儲存
void setup()
{
Serial.begin(115200);
irmp_init();//初始化紅外通信
irmp_irsnd_LEDFeedback(true); //開始接收紅外通信
irmp_print_active_protocols(&Serial);//打印支持的IR協議
}
void loop() {
if (irmp_get_data(&irmp_data[0]))
{
irmp_result_print(&irmp_data[0]); //輸出接收到的信息
}
delay(100);
}
實驗效果:如串口監視器所示,其中 P 表示采用的RC6 協議,C 表示指令為0x05 ,R 為長按重復。
30-效果圖.png (37.55 KB, 下載次數: 127)
下載附件
2020-8-19 12:14 上傳
Stduino IDE是一款面向32位處理器快速入門學習的集成開發平臺,目前已經支持Arduino_Core_STM32框架,集聚快捷、高效、免費、開源、易得于一身,軟件還集成了GDB調試功能。IDE當前支持的功能有:
GDB調試
封裝庫下載安裝
代碼自動補全提示
中英文模式
UTF-8\GBK編碼格式
代碼快速格式化
SWD\串口程序下載&調試(已驗證)
DFU程序下載方式(待驗證)
USB HID程序下載方式(待驗證)
maple DFU程序下載方式(待驗證)
maple DFU2程序下載方式(待驗證)
MassStorage程序下載方式(待驗證)
更多功能細節請點擊圖片上水印顯示的網址進行了解
已經支持的芯片&板型列表:
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
更多功能集成正在進行中~
|