4570|5

1

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

景思伟,付云,蒲卓石——跳一跳物理外挂 [复制链接]

本帖最后由 bqgup 于 2018-9-11 12:06 编辑

    基于51单片机的跳一跳物理外挂
                                              景思伟、付云、蒲卓石                                                         

作为一个手残党,一直以来都被微信跳一跳虐的很惨,看了别人写的帖子,做了一个玩微信跳一跳的程序,然后辅助自己玩游戏,然后刚好借预选赛这个机会自己也做了一个。

  

                                           系统硬件选择与设计
1.51最小系统板

2.舵机
3
.电容笔

这个作品需要的元器件比较少

下面我们再来看看程序吧

#include
#define uint unsigned int
#define uchar unsigned char
typedef unsigned int u16;   
typedef unsigned char u8;
#define GPIO_KEY P1
sbit pwm=P0^1;
sbit led=P2^0;
int i=0;
int x=87;
uchar y;
u8 code time[]={40,47,50,55,60,63,71,77,79,82,85,90,95,97,100,103};


void delay(unsigned char i)//延时
{
unsigned char j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}


void Time0_Init()  //定时器0初始化  发pwm波
{
TMOD|=0x01;
TH0=0xFF;
TL0=0x38;
EA=1;
ET0=1;
TR0=1;
}


void Time1_Init()  //定时器1初始化  改变占空比
{
TMOD|=0x10;
TH1=0xD8;
TL1=0xF0;
EA=1;
ET1=1;
TR1=0;
}

void KeyDown(void)//矩阵按键
{
char a=0;
GPIO_KEY=0x0f;
if(GPIO_KEY!=0x0f)//读取按键是否按下
{
  delay(10);//消抖
  if(GPIO_KEY!=0x0f)//再次确认
  {
   //测试列
   GPIO_KEY=0X0f;
   switch(GPIO_KEY)
   {
    case(0X07): y=0;break;
    case(0X0b): y=1;break;
    case(0X0d): y=2;break;
    case(0X0e): y=3;break;
   }
   //测试行
   GPIO_KEY=0Xf0;
   switch(GPIO_KEY)
   {
    case(0X70): y=y;  x=89;TR1=1;break;
    case(0Xb0): y=y+4;x=89;TR1=1;break;
    case(0Xd0): y=y+8;x=89;TR1=1;break;
    case(0Xe0): y=y+12;x=89;TR1=1;break;
   }
   while((a<50)&&(GPIO_KEY!=0xf0))  //检测按键释放
   {
    delay(10);
    a++;
   }
  }
}
}



void Time0_Int()interrupt 1 //中断0
{

TH0=0xFF;
TL0=0x38;
i++;
if(i==100)
  i=0;
if(i>x)
  pwm=1;
else
  pwm=0;
led=0;
}


void Time1_Int()interrupt 3 //中断1
{
static int u=0;
TH1=0xD8;
TL1=0xF0;
u++;
if(u==time[y])
{
  u=0;
  x=87;
  TR1=0;
}
}


void main()
{

Time0_Init();
Time1_Init();
while(1)
{
   KeyDown();
}
}

我们需要用尺子去测量两个箱子之间的间距,然后通过单片机的矩阵按键将数据输入给单片机,然后控制电容笔,从而达到控制跳跃的目的。

这也是这个作品不够智能化的地方所在,期待能有大神将这个作品进一步完善。

下面我们来看看效果吧

跳一跳视频.mp4 (5.39 MB, 下载次数: 21)






跳一跳.jpg (2.38 MB, 下载次数: 0)

跳一跳.jpg
此帖出自创意市集论坛

最新回复

厉害了  详情 回复 发表于 2019-3-1 18:35
点赞 关注(1)
 
 

回复
举报

693

帖子

7

TA的资源

版主

沙发
 
很棒哦,帖子写的不错,加油加油,以后可以多发这种帖子,对自己也很有帮助,不光能加深自己对知识的理解,还能提高自己的表达能力
此帖出自创意市集论坛
 
 
 

回复

1万

帖子

2853

TA的资源

管理员

板凳
 
哈哈,不错,跳一跳最高记录16分的我。😂我可能也很需要这么一个外挂
此帖出自创意市集论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复

2002

帖子

24

TA的资源

五彩晶圆(高级)

4
 
USB摄像头+OpenVC识别距离+串口传输到单片机+驱动私服马达点击=全自动
此帖出自创意市集论坛
 
 
 

回复

19

帖子

0

TA的资源

一粒金砂(中级)

5
 
很棒哦,帖子写的不错,加油加油,以后可以多发这种帖子,对自己也很有帮助,不光能加深自己对知识的理解,还能提高自己的表达能力。
此帖出自创意市集论坛
个人签名好好学习,天天向上
 
 
 

回复

1371

帖子

6

TA的资源

版主

6
 
厉害了
此帖出自创意市集论坛
个人签名专注智能产品的研究与开发,专注于电子电路的生产与制造……QQ:2912615383,电子爱好者群: void
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表