所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
探索者D1系列教程二 数码管
Ski 2018-12-27 18:52:10
1
0
简单

                                                        电子骰子

      结合Romeo与数码管制作一个简单的电子骰子,让大家学习数码管的使用方法。

学习目标

        掌握连接数码管与Romeo的方法,知道数码管中各LED所连接的数字针脚;

        理解并能够正确使用随机数,理解选择结构及选择执行思想;

        能够使用数码管制作简单的电子骰子。

器材清单

       Romeo、USB数据线、共阴极数码管

实验现象

       数码管随机显示1、2、3中的一个数,循环10次之后停止,显示最终的数字。

知识点

        共阴极数码管及其LED段位与针脚的关系

          数码管是由多个发光二极管封装在一起组成的“8”字型半导体发光器件。按发光二极管单元连接方式进行分类,数码管可分为共阳极数码管和共阴极数码管;按段数(发光二极管的个数)进行分类,数码管可分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,即多一个小数点显示;按能显示多少个“8”分类,数码管又可分为一位、二位、三位等。如下图所示,从左到右依次为七段数码管、八段数码管和二位数码管。

projectImage

       原始的发光二极管有阳极和阴极两根针脚,共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM,Common Cathode的简写)的数码管,在使用时应将公共阴极接到GND(Ground,电线接地端,代表地线或0线)。当某一段位发光二极管的阳极为高电平时,它就会被点亮;当其阳极为低电平时则熄灭。共阳极数码管的工作原理则与共阴极数码管是相反的。

       如下图所示为共阴极数码管中LED段位与针脚的对应关系。上下两侧a、b、c、d、e、f、g针脚分别连接组成“8”字的a、b、c、d、e、f、g段LED,右下角的dp针脚连接数码管上的小数点(dp段LED),上下两侧中间的针脚互通,为公共极COM。

projectImage

本课使用的数码管是集成模块(本教材配套器材中提供的是共阴极数码管),如下图所示,从右到左的9个针脚依次对应公共极COM(这里的公共极是共阴极GND)、a~g8段LED及小数点dp。这个模块可以直接连接Romeo,避免了接线的麻烦,连接后,数码管从右到左9个针脚分别连接的Romeo的GND、13、12、11、10、9、8、7、6号针脚。

projectImage

拓展阅读:共阳极数码管

       共阳极数码管和共阴极数码管的外观是一样的,只是内部接线连接方式不同,从而导致电源极性不同。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM,Common Anode)的数码管,使用时应将公共极COM接到5V(或VCC,即Volt Current Condenser),当某一段位发光二极管的阴极为低电平时,它就会被点亮,当其阴极为高电平时则熄灭。

Mind+中控制共阴极数码管

         对共阴极数码管的控制实际也就是对各个段位的LED的控制,Mind+中用如下图所示的模块来实现对数码管显示的控制,该模块可输出0-9之间的数字,也可显示A-E之间的字母。以让数码管显示数字1为例,在下拉框中选择数字“1”即可,程序如下图所示。

projectImage
projectImage

随机数

       制作电子骰子,最重要的一点是能够让骰子产生随机数,可以通过Mind+中的“随机数模块”来实现。该模块位于“运算符”中,可根据需要设定最小值和最大值,以下图为例,将随机数的最小值设为1,最大值设为3,则变量m可能的取值有1、2、3三个数。

projectImage

选择结构

        使数码管随机显示数字10次,可以使用for循环来实现。for循环位于“控制”模块中,如下图。for循环每执行一次,都要判断该次显示的随机数的数字是多少,以便执行显示相应数字的程序代码,此时需要使用选择结构。

       

projectImage

       选择结构即通过判断给定条件是否成立来控制程序的执行流程,由条件语句和执行语句两部分组成。条件语句的取值为逻辑值(也称布尔值),即真或假。若条件语句为真(即条件满足)时,则运行执行语句;若条件语句为假时(即条件不满足),则顺序运行后面的语句。

projectImage

实现过程

       (一)连接数码管与Romeo

         将数码管与Romeo连接起来(注意不能连接数字针脚0和1),同时记下连接的针脚编号。

       (二)编写程序

         按照设计方案,数码管循环显示随机数字10次后停止,可通过for循环来控制循环次数,通过选择结构对随机数k进行判断,并将k的值显示在数码管上,每次显示一次随机数之前先清空一下数码管的显示,如下图所示。

projectImage

在数码管一共显示过10次随机数字后,第10次显示的数字会停留在数码管上,参考程序如下图所示

projectImage

测试效果

       上传程序,观察数码管的效果是否符合预期,如有问题逐一排查解决。

拓展提升

        日常生活中我们常见的骰子是六面骰,结合这节课学过的知识,尝试模拟六面骰掷骰子的效果——随机显示1~6的数。

Makelog作者原创文章,未经授权禁止转载。
1
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]