HS-S23-L 38K紅外遙控接收模組

HS-S23-L 38K紅外遙控接收模組

1、介紹

2、原理圖

3、模組參數

引腳名稱

描述

G

GND(電源輸入負極)

V

VCC(電源輸入正極)

S

數字信號引腳

  • 供電電壓:3.3V / 5V

  • 連接方式:PH2.0端子

  • 安裝方式:螺丝固定/樂高搭建

4、電路板尺寸

5、添加 Arduino 库檔案

不會使用庫文件的參考這裡:庫文件安裝使用

庫文件:點擊下載

6、Arduino IDE 示例程式

示例程式(UNO開發板):點擊下載

/***********************************************************
  文件名:17_IRremote.ino
  描述:红外遥控灯。
  作者:陈志强
  日期:2022.11.3
***********************************************************/
#include <IRremote.h>

volatile int red;
volatile int yellow;
volatile int green;
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_4(4);

void setup(){
  red = 11;
  yellow = 10;
  green = 9;
  Serial.begin(9600);
  irrecv_4.enableIRIn();
}

void loop(){
  if (irrecv_4.decode()) {
    struct IRData *pIrData = &irrecv_4.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_4.resume();
    Serial.println(ir_item,HEX);
    switch (ir_item) {
     case 0xF30CFF00:
      //按下遥控器“1”键编码值:F30CFF00。红灯亮。
      pinMode(red, OUTPUT);
      digitalWrite(red,HIGH);
      pinMode(yellow, OUTPUT);
      digitalWrite(yellow,LOW);
      pinMode(green, OUTPUT);
      digitalWrite(green,LOW);
      break;
     case 0xE718FF00:
      //按下遥控器“2”键编码值:E718FF00。黄灯亮。
      pinMode(yellow, OUTPUT);
      digitalWrite(yellow,HIGH);
      pinMode(red, OUTPUT);
      digitalWrite(red,LOW);
      pinMode(green, OUTPUT);
      digitalWrite(green,LOW);
      break;
     case 0xA15EFF00:
      //按下遥控器“3”键编码值:A15EFF00。绿灯亮。
      pinMode(green, OUTPUT);
      digitalWrite(green,HIGH);
      pinMode(red, OUTPUT);
      digitalWrite(red,LOW);
      pinMode(yellow, OUTPUT);
      digitalWrite(yellow,LOW);
      break;
     case 0xBA45FF00:
      //按下遥控器“A”键编码值:BA45FF00。所以灯熄灭。
      pinMode(red, OUTPUT);
      digitalWrite(red,LOW);
      pinMode(yellow, OUTPUT);
      digitalWrite(yellow,LOW);
      pinMode(green, OUTPUT);
      digitalWrite(green,LOW);
      break;
     default:
      break;
    }

  } else {

  }

}

示例程序(ESP32開發板—基於Python語言,不能用Arduino IDE上傳代碼):

6、米思齊Mixly示例程式(圖形化語言)

示例程式(UNO開發板):點擊下載

示例程式(ESP32開發板):點擊下載

7、測試環境搭建

Arduino UNO 測試環境搭建

準備配件:

  • HELLO STEM UNO R3 開發板 *1

  • HELLO STEM UNO R3 P 扩展板 *1

  • 交通信號燈模塊(HS-F05L)*1

  • 38K 紅外線接收模組(HS-S23L)*1

  • PH2.0 4P雙頭端子線 *1

  • PH2.0 3P雙頭端子線 *1

  • 紅外遙控器*1

電路接線圖:

Micropython環境搭建

準備配件:

電路接線圖:

8、視頻教學

視頻教學:點擊查看

9、測試結論