HS-S23B 38K 紅外遙控接收模塊

HS-S23B 38K 紅外遙控接收模塊

1、介紹

2、原理圖

38K紅外解碼接收-HS-S23B 圖說圖點擊查看

3、模組參數

引腳名稱

描述

G

GND(電源輸入負極)

V

VCC(電源輸入正極)

S

數字信號引腳

  • 供電電壓:3.3V / 5V

  • 連接方式:3P杜邦線

  • 安裝方式:螺絲固定

4、電路板尺寸

5、Arduino IDE示範程序

注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
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 {

  }

}

6、ESP32 Python 示例(適用於Mixly IDE /米思齊)

開發板選擇 Python ESP32 【ESP32 Generic(4MB)】切換為代碼模式上傳

注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE ESP32庫檔案下載及匯入教學:
點擊查看

示例程式(ESP32-Python):

待更新...

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

示範程序(UNO開發板):點擊下載
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE Arduino 圖庫檔案下載及匯入教學:點擊查看

示範程序(ESP32開發板):點擊下載
注意:程式上傳時如果提示庫文件報錯,請先導入庫文件!
米思齊(Mixly)IDE ESP32庫檔案下載及匯入教學:
點擊查看

圖片待更新...

8、測試環境搭建

Arduino UNO 測試環境搭建

準備配件:

  • HELLO STEM UNO R3 開發板 *1

  • HELLO STEM UNO R3 P 扩展板 *1

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

  • 38K紅外接收模塊(HS-S23B)*1

  • 4P杜邦線 *1

  • 3P杜邦線線 *1

  • 紅外遙控器*1

電路接線圖:

ESP32 測試環境搭建

準備配件:等更新...

電路接線圖:等更新...

9、視頻教學

視頻教學:點擊查看

10、測試結論

Arduino UNO 混试结果:

ESP32 測試結果:

等更新...