基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc

上传人:b****2 文档编号:14565729 上传时间:2022-10-23 格式:DOC 页数:23 大小:7.34MB
下载 相关 举报
基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc_第1页
第1页 / 共23页
基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc_第2页
第2页 / 共23页
基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc_第3页
第3页 / 共23页
基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc_第4页
第4页 / 共23页
基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc

《基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc》由会员分享,可在线阅读,更多相关《基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc(23页珍藏版)》请在冰豆网上搜索。

基于Arduino的校园作息时间控制系统-课程设计Word文档格式.doc

姓名学号

1.系统总体方案设计

校园作息时间控制系统主要用于学校,对一些以24小时为周期的开关量进行自动控制。

如上下课打铃、教学音响的定时开与关等。

该控制系统是采用Arduino_UNO微控制器来实现对上述开关量的控制,设有四位数码管、可以实时显示时间、系统还设有按键,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精确及系统体积小等优点。

该时钟控制系统有4位数码显示器,具有实时显示时钟(显示当前时间的小时、分钟)功能,可以实现多点、多电器设备的控制。

该控制系统可广泛用于学校、工厂和机关的自动打铃、音响及其他对象控制,也可用于家庭或学生寝室进行时间指示及多点时间提醒。

为方便仿真与测试,本系统以秒代分,日时间累计误差≤1分钟。

系统设有的按键电路,方便定期进行时间校准。

根据设计要求画出系统框图,如图1所示,原理见附录1。

该控制系统是由微处理器、蜂鸣器、数码显示部分以及按键输入部分所组成。

显示电路采用了74LS48芯片来完成驱动和译码的功能。

图1系统框图

根据实际情况对上下课打铃与教学音响的定时开关量在一天内的控制时间列表如下:

时间

事件

动作

7:

30

播放歌曲30分钟

LED1亮30分钟

8:

00

第一节课上课打铃

Bee响铃1分钟

45

第一节课下课铃响

9:

第二节课上课铃响

50

第二节课下课铃响

55

课间操开始,放音乐10分钟

LED2亮10分钟

10:

10

第三节上课铃响

11:

第三节下课铃响

第四节上课铃响

12:

第四节下课铃响

表1作息时间控制表

2.系统硬件设计

这个课程设计主要用到的硬件是PC机,Arduino入门套件。

将复位和校时将设定时间覆盖现在时间(T)的按钮依次并列排列在面包板上,并加上代表下课上课铃声的有源蜂鸣器和两个代表播放歌曲和课间操的LED。

将以上按照编程与四位数码管和Arduino板连接。

总体连接图如下图2所示:

图2总体连接图

这个电路图是由Fritzing(面包板)软件绘制,软件库中不含有四位数码管。

图中用一个同是12管教的显示器代替了。

按系统框图分三个部分设计如下:

2.1.按键输入电路

窗体底端

输入控制是由两个按键组成的,它是微型计算机最常用的输入设备,用户可以通过按键向计算机输入复位和校时指令。

本系统中采用独立式按键结构,如图3所示,各按键相互独立地接通一条输入数据线,当任何一个键按下时,与之相连的输入数据线即被置0,而平时该线置1。

独立式按键电路配置灵活,软件结构简单。

当功能键不很多时,采用该种方式比较合适。

图3按键连接图

2.2.输出电路

输出控制信号串口LED灯和蜂鸣器,串口各位所控制的对象见表2,输出部分原理图如图5所示。

串口的位控制,“LOW”控制截止、“HIGH”控制导通

串口

1

13

用电器

LED1

LED2

有源蜂鸣器

表2位控表

图4输出部分原理图

2.3.显示电路

4位LED显示器进行设计。

只有理解结构和内部接线图,读引脚图,以便正确连接电路,得到正确的实验结果的。

4位数码管:

图54位数码管俯视图

四位数码管有12个外部引脚,数码管的引脚标号为,左下角为1,按逆时针方向数,分别为1-12。

图64位数码管立体视图

共阴极发光二极管的内部接线图:

图7共阴极4位数码管内部接线图

发光二极管的引脚图:

图8共阴极4位数码管引脚图

以下是发光二极管的接线图:

图9共阴极4位数码管接线图

显然,连接LED需要占用Arduino的12个引脚(大部分的)。

所以添加一个显示系统74LS48芯片来减少引脚数的使用。

74LS48芯片是一种常用的七段数码管译码驱动,常用于各种数字电路和微控制器系统的显示系统,下面是一些参数的组件和应用技术及其他信息。

BCD-74LS48引脚图:

图10BCD-74LS48芯片引脚图

表3功能表-七段译码器74LS48驱动函数表

十进制数或函数

输入

BI/RBO

输出

备注

LT

RBI

DCBA

a

b

c

d

e

f

g

H

0000

x

0001

0010

0011

0100

0101

6

0110

7

0111

8

1000

1001

1010

11

1011

12

1100

1101

14

1110

1111

BI

xxxx

L

连接74LS48与LED显示器:

图11BCD-74LS48芯片与4位显示器连接图

在Proteus绘制的连接图:

图12BCD-74LS48芯片与4位显示器仿真连接图

3.软件设计(包括流程图)

软件设计以时钟显示、输出控制为主程序。

在设计中利用中断,中断子程序有时间复位,和时间校准。

下面是流程图:

图13编程流程图

设计程序:

首先定义显示器和译码器各个管脚,LED灯,蜂鸣器按钮在Arduino板上的对应管脚。

其次设置相应的管脚为输出管脚并设置2个按钮为输入管脚并加上内部change模式。

设置2个中断,设置中断引脚数为2和3,此部分程序如下图2所示。

接下来,定义需要在显示器上显示的字母和不同时期的数字,并用

然后运用if语句定义不同时间断的蜂鸣器运行与LED灯的亮灭。

中断程序设置2个按钮不同的功能。

以下是完整的4位显示器显示程序:

程序

注释

/*seg_a:

(11)->

74ls48p(13)

seg_b:

(7)->

74ls48p(12)

seg_c:

(4)->

74ls48p(11)

seg_d:

(2)->

74ls48p(10)

seg_e:

(1)->

74ls48p(9)

seg_f:

(10)->

74ls48p(15)

seg_g:

(5)->

74ls48p(14)

*/

#defineA4

#defineB5

#defineC6

#defineD7

#defineCOM19

#defineCOM210

#defineCOM311

#defineCOM412

unsignedchartable[10][4]=

{

{0,0,0,0},

{1,0,0,0},

{0,1,0,0},

{1,1,0,0},

{0,0,1,0},

{1,0,1,0},

{0,1,1,0},

{1,1,1,0},

{0,0,0,1},

{1,0,0,1}

};

voidsetup()

pinMode(A,OUTPUT);

pinMode(B,OUTPUT);

pinMode(C,OUTPUT);

pinMode(D,OUTPUT);

pinMode(COM1,OUTPUT);

pinMode(COM2,OUTPUT);

pinMode(COM3,OUTPUT);

pinMode(COM4,OUTPUT);

}

voidloop()

Display(1,0);

delay(500);

Display(2,1);

Display(3,2);

Display(4,3);

voidDisplay(unsignedcharcom,unsignedcharnum)

digitalWrite(A,LOW);

digitalWrite(B,LOW);

digitalWrite(C,LOW);

digitalWrite(D,LOW);

switch(com)

{

case1:

digitalWrite(COM1,LOW);

digitalWrite(COM2,HIGH);

digitalWrite(COM3,HIGH);

digitalWrite(COM4,HIGH);

break;

case2:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1