Digispark kickstarter + JoyStick 模拟鼠标

IDE:Arduino 1.0.4

一、线路连接

S-Y ——> P5(A0)

S-X ——> P2(A1)

S-K ——> P0

VCC ——> VCC

GND ——> GND

二、Arduino代码

//from A0 start,the max is 1023 ,the max Vol is 5V
//A0 ==> P5 //from 470 begin ,less this can‘t working
//A1 ==> P2
//A2 ==> P4 but the value is smaller and can‘t read VCC ,maybe beacause it is used by USB conmunication

//#include "DigiKeyboard.h"
#include "DigiMouse.h"
const int buttonPin = 0;
const int ledPin =  1;
int buttonState = 1; 

void setup() {
}

void loop() {
  int x = analogRead(A1);
  int y = analogRead(A0);
  /*DigiKeyboard.sendKeyStroke(0);// prevent missing the first character after a delay:
  DigiKeyboard.print("(");
  DigiKeyboard.print(x);
  DigiKeyboard.print(",");
  DigiKeyboard.print(y);
  DigiKeyboard.println(")");
  DigiKeyboard.delay(1000);*/

  DigiMouse.moveY(y-537); //down 10
  DigiMouse.delay(100);
  DigiMouse.moveX(x-521); //right 20
  DigiMouse.delay(100);
  //DigiMouse.scroll(5);//pg up
  //DigiMouse.delay(500);
  buttonState = digitalRead(buttonPin);
  if (buttonState == LOW) {     //the JoyStick button down is low level
    digitalWrite(ledPin, HIGH);
    // three buttons are the three LSBs of an unsigned char
    DigiMouse.setButtons(1<<0); //1<<0 left click;1<<1 right click
    DigiMouse.delay(500);
    DigiMouse.setButtons(0); //unclick all
    //DigiMouse.delay(500);
  }
  else {
    digitalWrite(ledPin, LOW);
  }
}

说明:

1、DigiMouse.moveX(char deltaX)、DigiMouse.moveY(char deltaY)函数是相对当前位置进行移动;

2、DigiMouse.scroll(5);为向上翻页;

3、DigiMouse.setButtons(1<<0) 为鼠标左键单击,DigiMouse.setButtons(1<<1) 为鼠标右键单击,DigiMouse.setButtons(0)为清除单击事件。

ps:该Digispark kickstarter似乎存在一点问题,P5脚,即A0脚模拟量无法读取全部模拟量,只能从约470的AD值开始读(最大AD值为1023)。

时间: 2024-12-20 01:20:43

Digispark kickstarter + JoyStick 模拟鼠标的相关文章

转:WebDriver(Selenium2)模拟鼠标经过事件

在自动化测试过程中,由于javascript的使用,我们常常需要点击一些鼠标经过显示的菜单等元素,这时需要触发该元素的鼠标经过事件.使用WebDriver有以下两种实现. 1.使用Action Java代码   public void moveToElement(WebDriver driver, By locator) { Actions builder = new Actions(driver); builder.moveToElement(driver.findElement(locato

python模拟鼠标键盘操作 GhostMouse tinytask 调用外部脚本或程序 autopy右键另存为

1.参考 autopy (实践见最后一章节) 用Python制作游戏外挂(上) AutoPy Introduction and Tutorial autopy.mouse.smooth_move(1, 1) 可以实现平滑移动 autopy - API Reference pip install PyUserInput SavinaRoja/PyUserInput [python3.5][PyUserInput]模拟鼠标和键盘模拟 Python-模拟鼠标键盘动作 autoit selenium借助

WEBBROWSER中模拟鼠标点击(SendMessage/PostMessage)

好久没有写文章,发一篇顶顶博客访问量.别人建议转一些比较好的代码也贴过来,但是我打算这里主要发自己原创的代码,所以么..流量该多少就多少吧... 回到主题,在webbrowser中点击某链接网上几乎都是用document对象模拟点击,这个方法基本能应对一般的情况,但是例如广告联盟的点击XXX就有检测机制(不多解释,你们懂的).所以完全模拟鼠标的点击事件就比较完美.于是我用了最常见的SendMessage. 接下来就要解决一个问题,webbrowser的句柄问题.从控件本身得到的句柄不是真正的浏览

selenium webdriver模拟鼠标键盘操作

在测试使用Selenium webdriver测试WEB系统的时候,用到了模拟鼠标.键盘的一些输入操作. 1.鼠标的左键点击.双击.拖拽.右键点击等: 2.键盘的回车.回退.空格.ctrl.alt.shift等: 在webdriver中,有专门的一个类,是用来进行鼠标.键盘的模拟操作的,那就是Actions类,该类使用时,又会涉及到Keyboard.Mouse.CompositeAction(复合动作),先对Mouse的方法做简单罗列,然后再用代码说明: 1.鼠标左键点击: Actions ac

python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题

Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其他操作 前期尝试过很多种方法,比如send_keys("path"),但是都无法解决 虽然Webdriver无法对底层进行操作,但是Python的扩展是可以的 通过模拟鼠标.键盘的操作,可以解决这个问题,但是这个方法比较笨,而且不怎么理想,如果有好的方法,请留言给我,谢谢! 解决方法: 1

C++模拟鼠标移动

下面是C++模拟鼠标移动的函数: void MouseMove(int x, int y){ double fScreenWidth = ::GetSystemMetrics(SM_CXSCREEN) - 1; double fScreenHeight = ::GetSystemMetrics(SM_CYSCREEN) - 1; double fx = x*(65535.0f / fScreenWidth); double fy = y*(65535.0f / fScreenHeight); I

Linux 模拟 鼠标 键盘 事件

/************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: * 以前看到有些软件能够控制鼠标移动,键盘操作等功能,总想知道这些到底 * 是怎么做到的,好像是2年前也尝试去做这件事,但那时候对知识的匮乏直接导致 * 无法进行,早上突然想到这件事,于是又搜索了一下,鉴于目前经常接触Linux * 驱动,对这些东西的理解也就很容易. * * 2016-2-27 深

使用powershell/vbs自动化模拟鼠标点击操作

今天想做windows上的自动化,所以才有了模拟鼠标点击的需求,先考虑用powershell实现: 首先先安装一个名为“WASP”免费可用的Powershell扩展程序,下载地址:http://wasp.codeplex.com/ 下载解压之后放到C:\Windows\System32\WindowsPowerShell\v1.0\Modules\下,如图: 之后,在开始->运行处输入powershell,以管理员方式运行, 执行Import-Module WASP,则引入了扩展程序, 假如有个

Delphi下利用WinIo模拟鼠标键盘详解

http://www.cnblogs.com/rogee/archive/2010/09/14/1827248.html 本文最早在编程论坛上发表,文章地址:http://programbbs.com/bbs/view12-17207-1.htm,相关文件可以在上述地址的页面中下载.转载时请注明出处. 前言 一日发现SendInput对某程序居然无效,无奈只好开始研究WinIo.上网查了很多资料,发现关于WinIo模拟鼠标键盘的资料很少,有的也只是支言片语讲的不是很详细,而且大部分都是关于模拟键