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)为清除单击事件;

4、鼠标单击函数执行后,设置合适的延时,可以实现双击。

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

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

  1. C#模拟鼠标键盘控制其他窗口(一)

    编写程序模拟鼠标和键盘操作可以方便的实现你需要的功能,而不需要对方程序为你开放接口.比如,操作飞信定时发送短信等.我之前开发过飞信耗子,用的是对飞信协议进行抓包,然后分析协议,进而模拟协议的执行,开发 ...

  2. C# 模拟鼠标移动与点击

    我们需要用到的mouse_event函数,位于user32.dll这个库文件里面,所以我们要先声明引用. [System.Runtime.InteropServices.DllImport(" ...

  3. C# 模拟鼠标(mouse_event)

    想必有很多人在项目开发中可能遇见需要做模拟鼠标点击的小功能,很多人会在 百度过后采用mouse_event这个函数,不过我并不想讨论如何去使用mouse_event 函数怎么去使用,因为那没有多大意义 ...

  4. Selenium2学习-027-WebUI自动化实战实例-025-JavaScript 在 Selenium 自动化中的应用实例之三(页面滚屏,模拟鼠标拖动滚动条)

    日常的 Web UI 自动化测试过程中,get 或 navigate 到指定的页面后,若想截图的元素或者指定区域范围不在浏览器的显示区域内,则通过截屏则无法获取相应的信息,反而浪费了无畏的图片服务器资 ...

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

    好久没有写文章,发一篇顶顶博客访问量.别人建议转一些比较好的代码也贴过来,但是我打算这里主要发自己原创的代码,所以么..流量该多少就多少吧... 回到主题,在webbrowser中点击某链接网上几乎都 ...

  6. Linux 模拟 鼠标 键盘 事件

    /************************************************************************ * Linux 模拟 鼠标 键盘 事件 * 说明: ...

  7. selenium webdriver(4)---模拟鼠标键盘操作

    webdriver提供Actions来模拟鼠标悬浮.拖拽和键盘输入等操作,详细代码见org.openqa.selenium.interactions.Actions.本文通过几个实例来说明Action ...

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

    0.关键实现:程序窗口前置 python 通过js控制滚动条拉取全文 通过psutil获取pid窗口句柄,通过win32gui使程序窗口前置 通过pyauto实现右键菜单和另存为操作 1.参考 aut ...

  9. 可以用py库: pyautogui (自动测试模块,模拟鼠标、键盘动作)来代替pyuserinput

    PyAutoGUI 是一个人性化的跨平台 GUI 自动测试模块 pyUserInput模块安装前需要安装pywin32和pyHook模块.(想要装的看https://www.cnblogs.com/m ...

随机推荐

  1. 文件系统--fs(读)--fs.read

    var fs = require('fs');var buf=new Buffer(1024);//fs.open(); //fs.open(path,flags,mode,callback);/* ...

  2. Python学习笔记第二十周

    目录: 一.ORM 1.查询补充 备注:forloop.counter介绍 二.Ajax 三.ORM多对多操作 内容: 一.ORM 1.查询补充: 1.models.USR.objects.all() ...

  3. BT原理分析

    BT全名為BitTorrent,是一個p2p軟件,你在下載download的同時,也在為其他用戶提供上傳upload,因為大家是「互相幫助」,所以不會隨著用戶數的增加而降低下載速度. 其實跟ED也十分 ...

  4. PHPweb应用攻击总结(转)

    XSS跨站脚本 概念:恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的. 危害: 盗取用户COOKIE信息. 跳转 ...

  5. Java IntelliJ IDEA 不能显示项目里的文件结构

    方法一: 关闭IDEA, 然后删除项目文件夹下的.idea文件夹 重新用IDEA工具打开项目 方法二: 菜单:File -> Invalidate Caches / Restart

  6. Unity等待写入数据

    EasyTouch中QuickGesture的用法 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Qu ...

  7. python三大框架之一flask中cookie和session的相关操作

    状态保持 Cookie cookie 是指某些网站为了 辨别  用户身份,进行会话跟踪而储存在用户本地的数据(通常会经过加密),复数形式是 coolies. cookie是由服务器端生成,发送给客户端 ...

  8. HDU2021发工资咯:)

    Problem Description 作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵 但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处 ...

  9. D. The Fair Nut and the Best Path 树形dp (终于会了)

    #include<bits/stdc++.h> #define int long long using namespace std; ; int a[maxn]; int dp[maxn] ...

  10. python------模块定义、导入、优化 ------->Shelve模块

    1. shelve模块 是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. import shelve import datetime d = ...