极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8363|回复: 2

游戏摇杆模拟鼠标

[复制链接]
发表于 2014-3-29 22:39:50 | 显示全部楼层 |阅读模式
所谓游戏摇杆,其实它就是一电位器,x、y 维的数据输出就是模拟端口读出的电压值, 根据电压判断XY轴的偏移量。
Z轴其实就是开关,用数字口读取,高电位就表示按下。


先上代码:
  1. int JoyStick_X = 0; //x
  2. int JoyStick_Y = 1; //y
  3. int JoyStick_Z = 3; //key
  4. void setup()
  5. {
  6. pinMode(JoyStick_X, INPUT);
  7. pinMode(JoyStick_Y, INPUT);
  8. pinMode(JoyStick_Z, INPUT);
  9. Serial.begin(9600);
  10. Mouse.begin();

  11. }
  12. void loop()
  13. {
  14.      int x,y,z;
  15.      int offsetX, offsetY;
  16.      x=analogRead(JoyStick_X);
  17.      y=analogRead(JoyStick_Y);
  18.      z=digitalRead(JoyStick_Z);
  19.      
  20.      offsetX = x - 494;
  21.      offsetY = y - 485;
  22.      
  23.      
  24.      Mouse.move(offsetX/10, offsetY/10 );
  25.      
  26.      if(z==1)
  27.        Mouse.press();
  28.      
  29.      Serial.print(x ,DEC);
  30.      Serial.print(",");
  31.      Serial.print(y ,DEC);
  32.      Serial.print(",");
  33.      Serial.println(z ,DEC);
  34.      delay(100);
  35. }
复制代码


再上视频:


特别说明,必须用Leonardo或者Yun板,Uno板不支持Mouse和keyboard库。
回复

使用道具 举报

发表于 2014-3-30 02:22:20 | 显示全部楼层
{:soso_e120:} 挺会玩的,涂红了冒充ibm橡皮头吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-1 10:18:32 | 显示全部楼层
shihaipeng04 发表于 2014-3-30 02:22
挺会玩的,涂红了冒充ibm橡皮头吧。

说真的还是触摸屏好,什么橡皮头鼠标之类的迟早都是历史遗迹。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-28 17:49 , Processed in 0.045146 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表