pdf-icon

Arduino 上手教程

2. 设备开发 & 案例程序

5. 拓展模块

6. 应用案例

Unit PoE-P4 IR 红外发送

Unit PoE-P4 IR 红外发送相关库与案例程序。

案例程序

编译要求

  • M5Stack 板管理版本 >= 3.2.6
  • 开发板选项 = M5UnitPoEP4
  • M5Unified 库版本 >= 0.2.13
  • IRremote 库版本 >= 4.5.0
cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#include <IRremote.hpp>
#include <M5Unified.h>

#define IR_SEND_PIN    14      

// Demo parameters for NEC protocol
uint16_t address = 0x0000;     // Starting device address
uint8_t  command = 0x55;       // Starting command value
uint8_t  repeats = 0;          // Number of repeat transmissions

void setup() {
    M5.begin();                // Initialize M5Stack device
    Serial.begin(115200);      // Start serial communication at 115200 baud
    delay(200);                // Wait for serial port to stabilize

    Serial.println("Unit PoE-P4 IRremote example");

    // Initialize IR communication
    IrSender.begin(DISABLE_LED_FEEDBACK);  // Initialize IR sender without LED feedback
    IrSender.setSendPin(IR_SEND_PIN);      // Assign transmitter pin

    Serial.printf("IR Send Pin: %d\n", IR_SEND_PIN);
    delay(500); // Wait for hardware components to stabilize
}

void loop() {
    // Send infrared signal using NEC protocol
    Serial.printf("Send NEC: addr=0x%04x, cmd=0x%02x\n", address, command);
    IrSender.sendNEC(address, command, repeats);

    // Update transmission parameters for next cycle
    address += 0x0001;  // Increment device address
    command += 0x01;     // Increment command code
    repeats  = 0;        // Disable repeat frames (set >0 to test repeats)

    delay(2000);
}

Unit PoE-P4 每两秒发送一次 NEC 红外信号,地址(Address)和命令(Command)分别从 0x0000 和 0x55 开始递增,可以使用支持 NEC 协议的红外接收设备进行接收验证。

驱动库

On This Page