1.2.3.6.2.6 PS2(PS2摇杆)

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

更新时间:2018-09-17 11:39:05

功能说明

PS2摇杆传感器驱动程序。ps2 模块读取xyz三轴的数据,其中xy轴是以模拟量进行输出的,z轴是以数字量进行输出。

硬件资源

1.esp32Kit 开发板
2.PS2 模块

2.png | center | 561x490

3.接线

  • PS2 GND 引脚接 ESP32Kit GND 引脚

  • PS2 +5V 引脚接 ESP32Kit 5V 引脚

  • PS2 VRX 引脚接 ESP32Kit IO34 引脚

  • PS2 VRY 引脚接 ESP32Kit IO35 引脚

  • PS2 MS 引脚接 ESP32Kit IO12 引脚

软件设计

我们可以从 ps2 模块读取 xyz 三轴的数据,其中 xy 轴是以模拟量进行输出的,z 轴是以数字量进行输出的,在软件设计上,xy 对应的引脚连接 ESP32 的 AD 模块,z轴连接 ESP32 的 GPIO 模块,以中断的形式进行监控。

驱动配置

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

 "ps2x":{
    "type":"ADC",
    "port":34,
    "sampling":12000000
  },
  "ps2y":{
    "type":"ADC",
    "port":35,
    "sampling":12000000
  },
  "ps2z":{
    "type":"GPIO",
    "port":12,
    "dir":2,
    "pull":1
  }

应用示例

  1. 在嵌入式 JS 开发工作台上,创建测试工程并导入驱动模块 ps2。
  2. 编写测试 index.js 文件。
var ps2 = require('ps2');
var handle = new ps2('ps2x','ps2y','ps2z');
function  zhandle_on(value){
    console.log('press z down!');
}
handle.onz(zhandle_on);

setInterval(function() {
    var tmp_val = handle.get_xy();
    console.log('x:'+tmp_val[0] + '  y:'+tmp_val[1]);
}, 100);

运行验证

更新代码后,操作 ps2 模块,能在终端中看到数据的变化:

1.png | center | 747x443