“Bingo游戏机01”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(创建页面,内容为“{| style="width: 1000px;" |- | ==概述== 600px|center 做一个电子秒表,可以精确计时,一个触摸传感器控制...”)
 
 
(未显示同一用户的1个中间版本)
第6行: 第6行:
 
[[File:anywhere_Bingo game 1.jpg|600px|center]]
 
[[File:anywhere_Bingo game 1.jpg|600px|center]]
  
做一个电子秒表,可以精确计时,一个触摸传感器控制计时开始,另一个触摸传感器控制计时器停止,同时把时间显示在OLED屏幕上。
+
完成游戏机基础显示功能:在屏幕第1行显示随机数;第二行显示数字1-6,通过电位计可控制1-6数字滚动;第三行显示分数。
 
<br>
 
<br>
  
 +
'''规则'''
 +
[[File:anywhere_Bingo game 1 rule.jpg|600px|center]]
  
 
==模块清单==
 
==模块清单==

2016年10月24日 (一) 04:41的最新版本

概述

完成游戏机基础显示功能:在屏幕第1行显示随机数;第二行显示数字1-6,通过电位计可控制1-6数字滚动;第三行显示分数。

规则

模块清单

模块

模块 数量 功能
mCookie-Core 1 核心板
电池盒 1 程序下载和供电模块
mCookie-Hub 1 传感器转接板
mCookie-OLED 1 显示
电位器 1 检测旋转

其他设备

  • USB数据线*1
  • 传感器连接线*1
  • 传感器外壳
  • 乐高或其它固定结构

模块搭建

搭建

  • 将模块和传感器组装起来:
    • 将红色的核心模块,电池底座、OLED与绿色的扩展模块吸在一起;
    • 将旋转电位计连接在Hub的A0管脚;
    • 将USB连接线一端插入电池底座,另一端连接电脑。

编程

使用的程序块

编程思路

声明变量存数据,编写生成随机数的start函数,每次生成一个随机数;编写屏幕显示的display函数,在屏幕上显示游戏界面。最后运行所有函数。

开始编程

1、声明变量存储随机数和分数
a变量用来存储随机数,score变量用来储存分数。


2、编写生成随机数的start函数
生成一个1-6的随机数,存入a。

3、编写屏幕显示的display函数
OLED第一行显示a随机数。 第二行显示“1 2 3 4 5 6”横坐标为旋转电位计的值。 第三行显示SCORE:score(分数变量)。


4、执行函数
执行“start”和“display”两个函数。注意函数要放在声明下面。




测试结果
上传成功后,OLED第一行显示随机数一直在变,第二行显示“1 2 3 4 5 6”, 第三行显示SCORE:0。旋转电位计“1 2 3 4 5 6”飞快移动。



Q:“1 2 3 4 5 6”的宽度只有90个像素,旋转电位计的值为0-1023,在对准数字的过程中很难控制,如何解决呢?
A:可以用映射限制移动的范围。

  • 将旋转电位计的值从1023-0映射到0-90(向左拧到头为90,向右拧到头为0),将结果存入b。
  • 第二行数字横坐标设为60-b(因为第一行随机数的横坐标为60,所以当旋转电位计左拧到头时第二行数字6对齐随机数,右拧到头时第二行数字的横坐标也为60,正好对齐数字1)。


b变量用来存储随机数。 start函数无更改。 更改display函数内容。 将旋转电位计的值从1023-0映射到0-90(向左拧到头为0,向右拧到头为90),将结果存入b。 第二行数字横坐标设为60-b(因为第一行随机数的横坐标为60,当b为0时,第二行数字的横坐标也为60,正好对齐数字1)。

技术规范

相关案例

Bingo游戏机02 Bingo游戏机03 Bingo游戏机04 Bingo游戏机05

Q&A