查看“Bingo游戏机05”的源代码
←
Bingo游戏机05
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{| style="width: 1000px;" |- | ==概述== [[File:anywhere_Bingo game 1.jpg|600px|center]] 完善游戏机,实现储存最高纪录的功能。 <br> ==模块清单== ===模块=== {|class="wikitable" |- |模块||数量||功能 |- |[[mCookie-Core/zh|mCookie-Core]]||1||核心板 |- |[[mCookie-Battery|电池盒]]||1||程序下载和供电模块 |- |[[mCookie-Hub/zh|mCookie-Hub]]||1||传感器转接板 |- |[[mCookie-OLED/zh|mCookie-OLED]]||1||显示 |- |[[Sensor-Potentiometer/zh|电位器]]||1||检测旋转 |- |[[Sensor-Buzzer/zh|Buzzer]]||1||发声 |- |[[Sensor-Color LED/zh|ColorLED]]||1||彩色灯 |- |[[Sensor-Joystick/zh|摇杆]]||1||相当于游戏手柄,输入控制 |} ===其他设备=== *USB数据线*1 *传感器连接线*4 *传感器外壳 *乐高或其它固定结构 [[File:anywhere_Bingo game 5-module.jpg|600px|center]] ==模块搭建== ===搭建=== [[File:anywhere_Bingo game 5-step.jpg|600px|center]] *将模块和传感器组装起来: **将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起; **将蜂鸣器连接在Hub的8/9管脚; **将旋转电位计连接在Hub的A0管脚; **将全彩LED连接在Hub的6/7管脚; **将摇杆连接在Hub的A2管脚。 **将USB连接线一端插入电池底座,另一端连接电脑。 ==编程== ===编程思路=== 其他程序思路与上堂课一样,需要加上最高纪录的存储和比较程序。游戏开始时显示最高纪录,当游戏结束后,判断是否打破最高纪录,如果是则更新最高纪录。 [[File:mixly-ctrl-Bingo game 5.jpg|600px|center]] ===使用的程序块=== *[[“彩灯准备”程序块]] *[[“彩灯控制”程序块]] *[[“OLED显示-打印”程序块]] *[[“变量声明”、“变量赋值”程序块]] *[[“文本”程序块]] *[[“随机数”程序块]] *[[“函数”程序块]] *[[“旋转电位器”程序块]] *[[“蜂鸣器开-频率”程序块]] *[[“计时器开始”程序块]] *[[“持续时间”程序块]] *[[“计算”程序块]] *[[“比较”程序块]] *[[“初始化”程序块]] *[[“EEPROM”程序块]] *[[“等待”程序块]] ===开始编程=== '''1、声明变量,存储数据''' <br> top变量用来储存最高纪录。 [[File:mixly-ctrl-mixly-ctrl-Bingo game5-code.jpg|600px|center]] <br> '''2、 初始化函数''' <br> 初始化函数改为:将EEPROM地址0中的值存入top。将top显示到OLED。 [[File:mixly-ctrl-Bingo game5-code1.jpg|600px|center]] '''3、win函数''' <br> win函数内容改为: 如果分数达到15,则将完成时间time和最高纪录top进行对比,如果time小于top(破纪录),则OLED屏幕显示“you are best”和成绩。 将time存入EEPROM的0地址中(刷新纪录),并播放音乐庆祝。 否则只显示成绩、绿灯亮1秒。 [[File:mixly-ctrl-Bingo game5-code2.jpg|600px|center]] <br> '''4、start函数无更改。''' <br> [[File:mixly-ctrl-Bingo game4-code2.jpg|600px|center]] '''5、display函数无更改。''' <br> [[File:mixly-ctrl-Bingo game4-code3.jpg|600px|center]] '''6、BINGO函数无更改。''' <br> [[File:mixly-ctrl-Bingo game4-code4.jpg|600px|center]] '''7、time_out函数无更改。''' <br> [[File:mixly-ctrl-Bingo game4-code5.jpg|600px|center]] <br> <br> '''测试结果''' <br> 上传成功后,OLED显示本机最高纪录,按下摇杆后游戏开始,OLED第一行显示随机数每隔3秒变一次,第二行显示“1 2 3 4 5 6”, 第三行显示SCORE:0。旋转电位计“1 2 3 4 5 6”移动,当对齐一段时间后才得分,第三行的显示得分会改变,当得分超过15时,如果用时更短(破纪录)则OLED屏幕显示“you are the best”和成绩,并播放音乐庆祝,否则只显示成绩、绿灯亮1秒。等待摇杆按下重新开始游戏。 <br> [[File:anywhere_Bingo game 1.jpg|600px|center]] <br> <br> '''Q:EEPROM里我们存储最高纪录的地址中,可能有很久以前存入的数据,我们还需要在游戏中加入直接清除最高纪录的功能。''' <br> '''A:我们可以写入一个时间比较大的值,替换时间最少的就可以。''' <br> <br> 其他程序思路与一样Bingo 04一样,需要加上清除最高纪录的程序。 [[File:mixly-ctrl2-Bingo game5.jpg|600px|center]] <br> '''增加clear函数''' <br> 如果摇杆左摇,在EEPROM的0地址中写入99(99秒,极慢的纪录。如果把纪录写为0,那么将再也不会被打破),在OLED屏幕上显示“clear top”, 蓝灯点亮1秒 [[File:mixly-ctrl-Bingo game5-code3.jpg|600px|center]] 执行函数。 [[File:mixly-ctrl-Bingo game5-code4.jpg|600px|center]] ==技术规范== *电位器详细参考[[Sensor-Potentiometer/zh|电位器]] *OLED显示屏详细参考[[mCookie-OLED/zh|mCookie-OLED]] *摇杆详细参考[[Sensor-Joystick/zh]] <br> <br> ==相关案例== *[[Bingo游戏机01]] *[[Bingo游戏机02]] *[[Bingo游戏机03]] *[[Bingo游戏机04]] ==Q&A== |}
返回至
Bingo游戏机05
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息