站着也能控制电脑——基于Arduino Leonardo的脚步鼠标-Arduino中文社区 - Powered by Discuz! Archiver

TonyLianLong 发表于 2016-2-19 20:12

站着也能控制电脑——基于Arduino Leonardo的脚步鼠标

有一个创意叫做水果钢琴,就是把一个连接到电脑的控制器的引脚连接到水果上,控制者自己握着一个金属电极,然后用手摸水果,控制器就会模拟键盘向电脑发送信号,电脑上开着的钢琴软件就会发出声音。这个Makey Makey网上的一个创意,大家可以买一个Makey Makey板来实现,不过Makey Makey板比较贵,而且支持的功能比较少,我们可以用具有类似芯片的比较常用的Arduino Leonardo来做类似的事情。只不过这次我们可以来点新花样。
脚步鼠标的来源
坐在电脑前面久了,自然就会不舒服,这时候总是想站起来,然而站着使用鼠标也很难受,因此我就想开发一个设备,可以站着用手和脚来控制鼠标,这不仅解决了站着用鼠标难受的问题,而且还能同时活动身体,手也可以放下来。
使用方法
用脚踩在垫子上的电极,电脑就能识别并且转换成鼠标的移动操作、左键、右键、滚轮。手上还有一个按钮,按下相当于按左键,这样按左键就不需要再移动脚了。
原理
手上的按钮是一个微动开关,一边是Arduino Leonardo的12引脚,一边是GND,手在拿开关的时候会碰到GND,地上的电极接到A0-A5引脚,并且有内部上拉电阻,在踩的时候进行AD转换,读取出转换后的值,小于分界时就判断是按下了(踩到),然后通过USB向电脑发送数据。
电脑在接到数据以后就会执行所需要的操作。因为Arduino Leonardo具有USB模拟功能,所以我们可以使用Mouse类来作为鼠标直接控制电脑而不需要安装驱动和其他转换软件。
材料


1.铝箔胶带
2.杜邦线(两头没有胶壳的)
3.杜邦线(两头有胶壳的)
4.Arduino Leonardo
5.Micro USB线
6.透明胶
7.剪刀
8.微动开关(可以不用,图中没有)
制作
1.铺好垫子,往上面在需要的位置贴铝箔胶带。


2.把不带胶壳的杜邦线用铝箔胶带贴在刚才贴的铝箔胶带上,铝箔胶带反面不导电,所以要用另一条胶带贴在原来的胶带的正面,贴上去的胶带可以折一下,这样就会让贴上去的那一条胶带的正面和原来贴的正面接触。


3.把杜邦线通过带胶壳的杜邦线连接到Arduino Leonardo的A0-A5引脚上,可以用透明胶带在连接的地方加固一下,把连接处粘到垫子上,这样在脚移动的时候就不会弄断杜邦线,也同时固定杜邦线。


图5
4.连接一条长杜邦线,接到GND引脚,末端要是不带壳的杜邦线。
5.如果要用按键,则需要把按键的两个引脚分别连接到D12和GND上(可以通过刚才连接的长线),GND线的金属部分要露出来,连接到D12的线可以通过透明胶粘在微动开关上面。如果不用按键,可以直接用手拿刚才连接的长线。

6.把Arduino Leonardo连上电脑,打开mouse_test程序,上传。打开串口监视器,把每一个电极都踩一下,看看变化。7.根据上面的变化,调整mouse程序里的LOW_VALUE,根据引脚踩到电极之后会被拉低到多少来设置感应值。


8.上传mouse程序,测试看引脚串口监视器对应显示的操作是否正确。


9.根据表格和结果调整引脚的顺序。


功能引脚
鼠标向上A0
鼠标向下A3
鼠标向左A1
鼠标向右A2
左键A4
右键A5
10.开始使用
隐藏的功能
其实在计算机编程中,有很多不需要用到的功能组合被设计成特别的用途。这里我们也设置一个,如果你左脚踩在“左”右脚踩在“右”上面,你就会发现看的页面往下滚动了,如果一只脚踩在“上”上面,一只脚踩在“下”下面,页面就会往上滚动了。如果是在看网页,这会很有帮助。



吴雨龙 发表于 2016-2-19 20:39

这个创意真好!:D

吴雨龙 发表于 2016-2-19 20:40

支持你

tttt-top 发表于 2016-2-21 17:21

想看成品效果图:)

观雨楼 发表于 2016-2-22 10:32

小白想问一下,人踩电极,拉低感应值是什么原理?

吴雨龙 发表于 2016-2-22 14:15

问一下脚踩的是什么,是按钮吗?:handshake

吴雨龙 发表于 2016-2-22 14:17

那个是脚踩什么东西然后arduino能感应到
是按钮吗

DawnFly 发表于 2017-1-17 00:09

学习一下

pangpang92 发表于 2018-7-25 15:50

Mouse.h文件在哪下载呢?
页: [1]
查看完整版本: 站着也能控制电脑——基于Arduino Leonardo的脚步鼠标