跳一跳一经推出,遍立即风靡朋友圈.网上也出现了很多辅助. Python,, 卡尺测量,, 按键精灵等等.
作为电工,一定得有一个电工自己的玩法..这里提供了 和网上不同的另一种思路.可以说是 卡尺测量版本的改进版.
具体是:
利用单片机驱动舵机 来模拟手指触摸. 单片机通过串口连接电脑.
然后在手机上方支一个摄像头.
编写上位机软件,具体操作是: 读取摄像头画面.然后用鼠标画出 游戏中两个方块之间的距离.
然后 软件自动发动命令到单片机. 单片机开始执行动作.~~~
-----------------------------------------------------------------------------
上位机运行界面,基于C#,VS2010.
下位机部分,没有制作....相信大家也都有知道怎么做. 我是懒得做了.也不指望能游戏达到多少分.
谢谢大家~
下面开源上位机
//////////////////////////////////////////////////////////////////////////////////////
补充:
看有回复要试,那我简单说下.有一个回复说的不错, 手机都有otc功能. 利用用usb鼠标模拟手指.. 继电器常开触点焊到鼠标左键上面. 这样单片机直接驱动继电器闭合就好了.
上位机每次松开鼠标会发送4个字节
发送格式: A5 dath datl 5A. 其中 dath*256+datl= 上位机像素距离*比例系数(手动调节,实测 1点多)
下位机示例:
很久不用51都忘记代码怎么写了. 随便描述下
//继电器引脚P1.0,高电平驱动
int main()
{
P10=0;
int count=0;
timer_init(1ms);
uart_init(9600/8/1);
while(1);
}
//timer interrupt
{
if(count>0)
{
count--;
P10=1;
}
else
{
P10=0;
}
}
//uart interrupt
int i=0;
{
revdat
=sbuf;
i++;
if(i>5) {i=0; return;}
if(revdat[0]==0xA5)
{
if(i==4)
{
if(revdat[3]==0x5A)
{
count=revdat[1]*256+revdat[2];
}
i=0;
}
}
}
[ 此帖被lyc613在2018-01-11 13:57重新编辑 ]