0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino篇—电子骰子

冬至子 来源:X的创客课堂 作者:MRXY 2023-11-01 10:15 次阅读

课程目标

  • 按键控制数码管电路的搭建
  • 随机数的应用

相关知识

Arduino中,random()函数用来产生伪随机数,可以传入一个区间,产生此区间内的随机数。

random()

  • 描述:生成伪随机数。
  • 函数原型:
    • random(max)
    • random(min,max)
  • 参数
    • min: 随机数区间下限值,且包括在内。此参数可选,省略则从0开始。
    • max: 随机数区间上限值,且不包括在内。
  • 返回值:min和max-1之间的随机数。

randomSeed()

  • 描述:初始化随机数生成器。
  • 函数原型:randomSeed(seed)
  • 参数:用于初始化伪随机序列的数字,随机数种子。
  • 返回值:没有。

电路搭建

所需材料

Arduino UNO * 1
共阳极数码管 * 1
按键 * 1
杜邦线若干

*接线方式
*
参考前几期课程,进行综合接线。

图片

程序流程分析

图片

程序编写

练习:随机数显示

根据要求,编写程序实现按键数码管显示0~9随机数功能。

图形化方式:

图片

代码方式:

/* 项目名称:电子骰子
   项目时间:2022.02.17
   项目作者:MRX
*/
int Pin[8] = {2,3,4,5,6,7,8};//定义引脚数组
int num;
unsigned char Num[10][7] =
//a  b  c  d  e  f  g
{{0, 0, 0, 0, 0, 0, 1},   //0
 {1, 0, 0, 1, 1, 1, 1},   //1
 {0, 0, 1, 0, 0, 1, 0},   //2
 {0, 0, 0, 0, 1, 1, 0},   //3
 {1, 0, 0, 1, 1, 0, 0},   //4
 {0, 1, 0, 0, 1, 0, 0},   //5
 {0, 1, 0, 0, 0, 0, 0},   //6
 {0, 0, 0, 1, 1, 1, 1},   //7
 {0, 0, 0, 0, 0, 0, 0},   //8
 {0, 0, 0, 0, 1, 0, 0},   //9
};




void setup()
{
  for (int i = 2; i <= 8; i++)
  {
    pinMode(i, OUTPUT); //设置2~8引脚为输出模式
  }
  pinMode(10,INPUT);
  randomSeed(analogRead(0));
}


//根据索引显示数字
void showNum(int index)
{
  digitalWrite(2, Num[index][0]); //设置a 引脚的电平
  digitalWrite(3, Num[index][1]); //设置b 引脚的电平
  digitalWrite(4, Num[index][2]); //设置c 引脚的电平
  digitalWrite(5, Num[index][3]); //设置d 引脚的电平
  digitalWrite(6, Num[index][4]); //设置e 引脚的电平
  digitalWrite(7, Num[index][5]); //设置f 引脚的电平
  digitalWrite(8, Num[index][6]); //设置g 引脚的电平
}


void loop()
{
  if(digitalRead(10)){
  num = random(10); //每0.5秒产生随机数
  delay(500);
  }
  showNum(num); //显示随机数

}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数码管
    +关注

    关注

    31

    文章

    1827

    浏览量

    89951
  • 生成器
    +关注

    关注

    7

    文章

    302

    浏览量

    20242
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184858
  • 随机数
    +关注

    关注

    0

    文章

    17

    浏览量

    11940
收藏 人收藏

    评论

    相关推荐

    arduino学习笔记8 - 数字骰子实验

    前几次做了数码管实验和按键控制LED的实验,通过实验大家已经学会了两种器件的基本用法。这次使用数码管与按键进行组合,做一个简易数字骰子。数字筛子的基本原理是数码管快速在1-8之间循环跳动,当按下按键
    发表于 10-23 17:38

    Arduino开发实战指南 AVR

    的产品,目前,国内关注Arduino的人越来越多,所以本书以实际应用为纽带将各个章节联系起来。 作者: 程晨 出版社: 机械工业出版社副标题: AVRISBN: 9787111370055图书
    发表于 08-03 16:14

    电子骰子的设计方案分享

    描述电子骰子它是电子骰子,用于生成随机数,通常作为桌面游戏的一部分,包括骰子游戏、棋盘游戏、角色扮演游戏和机会游戏。
    发表于 06-30 06:20

    电子骰子电路图

    电子骰子电路图
    发表于 03-31 10:18 3167次阅读
    <b class='flag-5'>电子</b><b class='flag-5'>骰子</b>电路图

    基于Arduino的7段显示数字骰子

    电子发烧友网站提供《基于Arduino的7段显示数字骰子.zip》资料免费下载
    发表于 11-14 09:28 0次下载
    基于<b class='flag-5'>Arduino</b>的7段显示数字<b class='flag-5'>骰子</b>

    使用Arduino板载的骰子项目

    电子发烧友网站提供《使用Arduino板载的骰子项目.zip》资料免费下载
    发表于 11-15 10:09 0次下载
    使用<b class='flag-5'>Arduino</b>板载的<b class='flag-5'>骰子</b>项目

    Arduino骰子开源案例

    电子发烧友网站提供《Arduino骰子开源案例.zip》资料免费下载
    发表于 12-14 10:06 0次下载
    <b class='flag-5'>Arduino</b><b class='flag-5'>骰子</b>开源案例

    使用FPGA的电子骰子

    电子骰子或1至6(3位)的随机数生成器。使用FPGA将随机数显示在共阳极7段显示屏上。硬件组件:MINI_SP6-SPARTAN 6 FPGA开发板×1个USB-A至Mini-USB电缆×1个共阳极
    发表于 01-04 16:24 5次下载

    Arduino LED骰子

    电子发烧友网站提供《Arduino LED骰子.zip》资料免费下载
    发表于 01-05 10:08 0次下载
    <b class='flag-5'>Arduino</b> LED<b class='flag-5'>骰子</b>

    使用Arduino Nano点亮骰子头骨

    电子发烧友网站提供《使用Arduino Nano点亮骰子头骨.zip》资料免费下载
    发表于 02-09 10:14 0次下载
    使用<b class='flag-5'>Arduino</b> Nano点亮<b class='flag-5'>骰子</b>头骨

    分享一个棋盘游戏电子骰子电路

    在享受我们的棋盘游戏时,电子骰子可以成为传统骰子的良好而有趣的替代品。我们设计了一个电子骰子电路,它将生成从0到6的随机数。该电路的特点是,
    的头像 发表于 05-13 14:41 1706次阅读
    分享一个棋盘游戏<b class='flag-5'>电子</b><b class='flag-5'>骰子</b>电路

    FPGA上的电子骰子

    电子发烧友网站提供《FPGA上的电子骰子.zip》资料免费下载
    发表于 06-15 11:03 1次下载
    FPGA上的<b class='flag-5'>电子</b><b class='flag-5'>骰子</b>

    Arduino电子骰子系统

    电子发烧友网站提供《Arduino电子骰子系统.zip》资料免费下载
    发表于 06-29 09:23 0次下载
    <b class='flag-5'>Arduino</b><b class='flag-5'>电子</b><b class='flag-5'>骰子</b>系统

    Arduino二进制骰子

    电子发烧友网站提供《Arduino二进制骰子.zip》资料免费下载
    发表于 07-04 10:13 0次下载
    <b class='flag-5'>Arduino</b>二进制<b class='flag-5'>骰子</b>

    Arduino动画矩阵骰子

    电子发烧友网站提供《Arduino动画矩阵骰子.zip》资料免费下载
    发表于 07-06 09:05 0次下载
    <b class='flag-5'>Arduino</b>动画矩阵<b class='flag-5'>骰子</b>