HS0038(红外接收)
更新时间:2018-09-18 10:17:44
功能说明
红外接收传感器驱动程序。hs0038 是一款标准的红外接收头,这里我们会接收红外遥控发出的信号,并对其进行解析。
硬件资源
1.ESP32Kit 开发板
2.hs0038 模块
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
}
应用示例
- 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 hs0038。
- 编写测试 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);
});
运行验证
更新代码后,按下遥控器上的对应按键,串口会显示对应的编码: