
1、介紹
2、原理圖

3、模組參數
引腳名稱 | 描述 |
|---|---|
G | GND(電源輸入負極) |
V | VCC(電源輸入正極) |
S | 數字信號引腳 |
供電電壓:3.3V / 5V
連接方式:PH2.0 端子線
安裝方式:雙螺絲固定
4、電路板尺寸

5、Arduino IDE示範程序
庫文件:點擊下載
1.紅外信號發送模組程式(相當於紅外遙控器)
Arduino UNO 示例(適用於Mixly IDE、Arduino IDE):點擊下載
#define IR_SEND_PIN 3
#include <IRremote.h>
IRsend irsend;
void setup(){
// 启动发送,并指定引脚;开启Arduino主板L灯反馈;
IrSender.begin(IR_SEND_PIN, DISABLE_LED_FEEDBACK);
pinMode(8, INPUT);
}
void loop(){
// 定义红外发射管脚.
if (!digitalRead(8)) {
while (!digitalRead(8)) {
delay(10);
}
// 发送红外编码值
IrSender.sendNEC(0xFF00,0x45,0 );
}
}2.雷達信號接收模組程式
Arduino UNO 示例(適用於Mixly IDE、Arduino IDE):點擊下載
#include <IRremote.h>
volatile int a;
const String IR_PROTOCOL_TYPE[] = {
"UNKNOWN",
"PULSE_DISTANCE",
"PULSE_WIDTH",
"DENON",
"DISH",
"JVC",
"LG",
"LG2",
"NEC",
"PANASONIC",
"KASEIKYO",
"KASEIKYO_JVC",
"KASEIKYO_DENON",
"KASEIKYO_SHARP",
"KASEIKYO_MITSUBISHI",
"RC5",
"RC6",
"SAMSUNG",
"SHARP",
"SONY",
"ONKYO",
"APPLE",
"BOSEWAVE",
"LEGO_PF",
"MAGIQUEST",
"WHYNTER"
};
IRrecv irrecv_11(11);
void setup(){
a = 0;
Serial.begin(9600);
pinMode(5, OUTPUT);
irrecv_11.enableIRIn();
}
void loop(){
if (irrecv_11.decode()) {
struct IRData *pIrData = &irrecv_11.decodedIRData;
long ir_item = pIrData->decodedRawData;
String irProtocol = IR_PROTOCOL_TYPE[pIrData->protocol];
Serial.print("IR TYPE:" + irProtocol + "\tVALUE:");
Serial.println(ir_item, HEX);
irrecv_11.resume();
Serial.println(ir_item,HEX);
//按下另一块控制板“D8”按键编码值:BA45FF00。控制开关灯。
if (0xBA45FF00 == ir_item && a == 0) {
digitalWrite(5,HIGH);
a = 1;
} else if (0xBA45FF00 == ir_item && a == 1) {
digitalWrite(5,LOW);
a = 0;
}
} else {
}
}1.紅外信號發送模組程式(相當於紅外遙控器)
示範程式(ESP32開發板—基於Python語言,不能用Arduino IDE上傳代碼)
import machine
import irremote
import time
pin13 = machine.Pin(13, machine.Pin.IN)
ir_tx = irremote.NEC_TX(4,False,100)
while True:
if not pin13.value():
while not pin13.value():
time.sleep_ms(10)
ir_tx.transmit(0x45,0xff00,0)
2.雷達信號接收模組程式
示範程式(ESP32開發板—基於Python語言,不能用Arduino IDE上傳代碼)
import machine
import irremote
pin15 = machine.Pin(15, machine.Pin.OUT)
value = 0
Mode = 0
ir_rx = irremote.NEC_RX(14,8)
while True:
if ir_rx.any():
value = hex(ir_rx.code[2])
if value == hex(0xba45ff00):
Mode = 1 - Mode
value = 0
if Mode == 0:
pin15.value(0)
if Mode == 1:
pin15.value(1)
6、米思齊Mixly示例程式(圖形化語言)
ArduinoUNO圖形化示例程式:點擊下載
1.紅外信號發送模組程式(相當於紅外遙控器)

2.雷達信號接收模組程式

示範程序(ESP32 Python):點擊下載
1.紅外信號發送模組程式(相當於紅外遙控器)

2.雷達信號接收模組程式

7、測試環境搭建
Arduino UNO 測試環境搭建
準備配件:
HELLO STEM UNO R3 開發板 *2
HELLO STEM UNO R3 P 扩展板*2
USB type-c 資料線*2
LED燈模塊(HS-F08L)*1
紅外信號發送模塊(HS-S29L)*1
按鍵開關模塊(HS-KEY1L)*1
紅外接收模塊(HS-S23L)*1
PH2.0雙頭端子線 *4條
電路接線圖:


ESP32 Python 測試環境搭建
準備配件:
ESP32EA MOC開發板 *2
ESP32-EXP1擴展板 *2
USB type-c 資料線*2
LED燈模塊(HS-F08L)*1
紅外信號發送模塊(HS-S29L)*1
按鍵開關模塊(HS-KEY1L)*1
紅外接收模塊(HS-S23L)*1
PH2.0雙頭端子線 *4條
電路接線圖:
8、視頻教學
Arduino UNO視頻教學:點擊查看
ESP32 Python視頻教學:
9、測試結論
Arduino UNO測試結論:

器件連接好線之後,將上述程序燒錄到Arduino UNO 開發板之後,再將紅外信號發送實驗按照文件描述接線 ,並用另一塊Arduino UNO 開發板燒錄紅外接收程序,上電就可以看到發射和接收的效應。
ESP32 Python測試結論: