1.2.3.6.1.24 HS0038(红外接收)

优质
小牛编辑
125浏览
2023-12-01

更新时间:2018-09-18 10:17:44

功能说明

红外接收传感器驱动程序。hs0038 是一款标准的红外接收头,这里我们会接收红外遥控发出的信号,并对其进行解析。

硬件资源

1.ESP32Kit 开发板
2.hs0038 模块

2.jpg | center | 462x558

3.接线

  • hs0038 GND 引脚接 esp32Kit GND 引脚;

  • hs0038 VCC 引脚接 esp32Kit 5V 引脚;

  • hs0038 S 引脚接 esp32Kit IO18 引脚;

软件设计

驱动配置

开发板板级管脚配置(board.json) 示范:</span>

  "ir":{
    "type":"GPIO",
    "port":18,
    "dir":2,
    "pull":1
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 hs0038。
  2. 编写测试 index.js 文件。
var hs0038 = require('hs0038');
var handle = new hs0038('ir');

function code_map(code){
    if (0xa25d == code){
        return '1';
    }
    if(0x629d == code){
        return '2';
    }
    if(0xe21d == code) {
        return '3';
    }

    if(0x22dd == code){
        return '4';
    }
    if(0x02fd == code) {
        return '5';
    }
    if(0xc23d == code){
        return '6';
    }
    if(0xe01f == code) {
        return '7';
    }
    if(0xa857 == code){
        return '8';
    }
    if(0x906f == code) {
        return '9';
    }
    if(0x9867 == code){
        return '0';
    }
    if(0x6897 == code) {
        return '*';
    }
    if(0xb04f == code){
        return '#';
    }
    if(0x18e7 == code) {
        return 'up';
    }
    if(0x4ab5 == code) {
        return 'down';
    }
    if(0x38c7 == code) {
        return 'ok';
    }
    if(0x10ef == code) {
        return 'left';
    }
    if(0x5aa5 == code) {
        return 'right';
    }
    return 'error';
}




handle.on(function(data){
    var code = code_map(data);
    if('error' == val){
        return;
    }
    console.log('code:'+code);
});

运行验证

更新代码后,按下遥控器上的对应按键,串口会显示对应的编码:

1.jpg | center | 299x444