所谓游戏摇杆,其实它就是一电位器,x、y 维的数据输出就是模拟端口读出的电压值, 根据电压判断XY轴的偏移量。
Z轴其实就是开关,用数字口读取,高电位就表示按下。
先上代码: - int JoyStick_X = 0; //x
- int JoyStick_Y = 1; //y
- int JoyStick_Z = 3; //key
- void setup()
- {
- pinMode(JoyStick_X, INPUT);
- pinMode(JoyStick_Y, INPUT);
- pinMode(JoyStick_Z, INPUT);
- Serial.begin(9600);
- Mouse.begin();
-
- }
- void loop()
- {
- int x,y,z;
- int offsetX, offsetY;
- x=analogRead(JoyStick_X);
- y=analogRead(JoyStick_Y);
- z=digitalRead(JoyStick_Z);
-
- offsetX = x - 494;
- offsetY = y - 485;
-
-
- Mouse.move(offsetX/10, offsetY/10 );
-
- if(z==1)
- Mouse.press();
-
- Serial.print(x ,DEC);
- Serial.print(",");
- Serial.print(y ,DEC);
- Serial.print(",");
- Serial.println(z ,DEC);
- delay(100);
- }
复制代码
再上视频:
特别说明,必须用Leonardo或者Yun板,Uno板不支持Mouse和keyboard库。 |