感谢楼主,已成功实现功能。
并添加了按钮功能。
通道三和四对应按钮1和按钮2。- #include
- void setup() {
- pinMode(3, INPUT);
- pinMode(5, INPUT);
- pinMode(6, INPUT);
- pinMode(9, INPUT);
- Gamepad.begin();
- }
- void loop() {
- long ch1 = pulseIn(3, HIGH, 50000);//白
- long ch2 = pulseIn(5, HIGH, 50000);//黑
- long ch3 = pulseIn(6, HIGH, 50000);//绿
- long ch4 = pulseIn(9, HIGH, 50000);//橙
- if(ch1>1490 and ch1<1515) ch1=1500; //使油门中点在一定范围内固定不再漂动
- if(ch2>1490 and ch2<1515) ch2=1500; //使方向中点在一定范围内固定不再漂动
-
- int16_t x = map(ch1, 1000, 2000, 0, 32768);
- int16_t y = map(ch2, 1000, 2000, 0, 32768);
- if(ch3 >1500){ //通道3被触发
- Gamepad.press(1); //按下按钮1
- }else{
- Gamepad.release(1); //释放按钮1
- }
- if(ch4 >1500){ //通道4被触发
- Gamepad.press(2); //按下按钮2
- }else{
- Gamepad.release(2); //释放按钮2
- }
- Gamepad.xAxis(x);
- Gamepad.yAxis(y);
- Gamepad.write();
- }
复制代码
可用枪控玩PS2模拟器,第3通道的按钮功能实现倒车,第4通道的按钮实现例如 start键的功能。
|