arduino骰子程序

arduino骰子程序,第1张

1. 实验材料

Uno R3开发板

配套USB数据线

面包板及配套连接线

共阴极数码管

1个220Ω限流电阻

2. 实验步骤

1. 根据原理图搭建电路。

数码管的A,B,C,D,E,F,G,DP引脚分别接入开发板的数字管脚7,6,5,10,11,8,9,4。数码管公共端接限流电阻,电阻另一端接GND。

实验原理图如下图所拍埋示:

实验原理图

实物连接图如下图所示:

实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

/*

  Random

  通过Random随机显示0到9的数字

*///设置空悔控制各段的数字IO脚,具体几号引脚对应哪一段,来源为数码管官方引脚图。int pin_a = 7int pin_b = 6int pin_c = 5int pin_d = 10int pin_e = 11int pin_f = 8int pin_g = 9int pin_p = 4int num//根据共阴极数码管段码表定义0~9显示的各段开关状态int numTable[10][8] = {  //1为点亮,0为关闭

 //a  b  c  d  e  f  g  dp

 {1, 1, 1, 1, 1, 1, 0, 0},     //0

 {0, 1, 1, 0, 0, 0, 0, 0},     //1

 {1, 1, 0, 1, 1, 0, 1, 0},     //2

 {1, 1, 1, 1, 0, 0, 1, 0},     //3

 {0, 1, 1, 0, 0, 1, 1, 0},     //4

 {1, 0, 1, 1, 0, 1, 1, 0},     //5

 {1, 0, 1, 1, 1, 1, 1, 0},     //6

 {1, 1, 1, 0, 0, 0, 0, 0},     //7

 {1, 1, 1, 1, 1, 1, 1, 0},     //8

 {1, 1, 1, 1, 0, 1, 1, 0},     //9}void setup(){  for (int i = 4i <= 11i++)

 {

   pinMode(i, OUTPUT)//设置4~11引脚为输出模式

 }

 randomSeed(analogRead(0))

}//根据索引显示数字void showNum(int index){

 digitalWrite(pin_a, numTable[index][0])//设置a 引脚的电平

 digitalWrite(pin_b, numTable[index][1])//设置b 引脚的电平

 digitalWrite(pin_c, numTable[index][2])//设置c 引脚的电平

 digitalWrite(pin_d, numTable[index][3])//设置d 引脚的电平

 digitalWrite(pin_e, numTable[index][4])//设置e 引脚的电平

 digitalWrite(pin_f, numTable[index][5])//设置f 引脚的电平

 digitalWrite(pin_g, numTable[index][6])//设置g 引脚的电平

 digitalWrite(pin_p, numTable[index][7])//设置dp引脚的电平}void loop(){

 num = random(10)//产生随机数

 showNum(num)//显示随机数

 delay(500)

}

3. 连接袭亏蚂开发板,设置好对应端口号和开发板类型,进行程序下载。

1、tarWars(星球大战)2、CokePiano(可乐钢琴)3、LedTable(LED桌面游戏)包含俄罗斯方块、贪吃蛇等4、ArduinoBall(平衡球)。

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬碧此件(各种型号的Arduino板)和软件(ArduinoIDE)。

由一个欧洲开发团队于2005年悔毁迅冬季开发。其成员包括MassimoBanzi、DavidCuartielles、TomIgoe、GianlucaMartino、NicholasZambetti和DavidMellis等。Arduino构建于开放原始码simpleI/O介面版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。主要包含两个的部分:硬件部分是可以用来做电路连接的Arduino电路板;另外一个余姿则是ArduinoIDE,计算机中的程序开发环境。只要在IDE中编写程序代码,将程序上传到Arduino电路板后,程序便会告诉Arduino电路板要做些什么。

一、工作原理

生活中的升降电梯组成比较复杂,包含轿厢系统、导向系统等等,如下图1所示。但是功能却相对好 *** 作,就是按下对汪渣应的楼层时,轿厢系统就可以达到对应的楼层。

图1升降电梯的组成

那么这一简单的 *** 作,背后的原因是怎样的?我们以三层楼为例,为了实现楼梯准确智能的切换,可以引入两个变量实现。开始设定一个变量a数值为0,电梯在1层;当按下3层时,变量b设为3。程序执行“b-a”的数值乘以运动一层的时间,即可到达闭纤3层的位置,并让b的值赋予a。同样如果此时再按下2层时,则变量b的值设为2,当“b-a”小于0时,则反转,乘以一层运动的时间,就可以到达2层啦。

二、硬件装置

那么如何控制电梯的升降?需要开源硬件Arduino、按钮、电机驱动板和电机等材料。

制作本作品所需要的材料和说明如表 1所示:

表 1 实验材料

名称

数量

说明

Arduino UNO 主板

1个

控制器

Arduino 扩展板

1个

扩展接口

按钮

3个

控制楼层

电机驱动板

1个

控制电机的运困态悄动

楼梯模型

1个

骨架材料

小电机

1个

驱动轿厢移动

三、L298N电机驱动板的使用

可能大部分老师同学对Arduino的使用比较熟练,但是对于电机驱动板的使用还不是熟悉。L298N电机驱动板具体的功能,如下图2和3所示。

图2 L298N电机驱动板的功能图

图3 针脚的功能

在这里需要提醒的是:1.当IN1和IN2的电平不一样时,才能控制输出A电机的方向;同样,IN3和IN4也是一样的;2.ENA和ENB针脚分别控制M1和M2的PWM,也就是电机的转速;

四、代码编写

原理清晰了,代码就比较简单书写,本案例我们使用Mixly编程软件。具体如图4和5所示。

图4 主程序

图5 控制上升下降的函数

程序介绍:刚开始设置两个变量a和b,分别赋值为1和0。如果按下2楼时,则b赋值为2,执行“控制上升下降的函数”。在这个函数中,通过两者差值的大小乘以一层楼运行的时间,来控制到达的楼层;如果b>a,则向上运动;如果b<a,则改变管脚2和3的高电平和低电平,改变运动方向;待执行完之后,将b的值赋予给a。如果按下3层时,b的值为3,同样通过判断a和b的值,执行“控制上升下降的函数””,来执行电梯移动到指定的位置,不断循环。

五、运行效果

根据要求,将各硬件材料组装测试,如下图6所示。正如生活中的电梯一样,当按下对应的楼层按钮时,则电梯的轿厢可以到达对应的楼层


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8223859.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存