江西理工大学2014届本科生毕业设计(论文)
VCVOM:液晶显示对比度调节端,电压范围在0-5V之间。 RS:单片机写入指令或数据接口。 R/W:读写控制接口。
E:LCD模块使能信号控制接口。
DB0-DB7:8位数据总线,同时有三态双向的特点。 BLA+: LED背光正极端。 BLA-: LED背光接地端。 (二)显示地址
LCD1602字符液晶显示分上行16字符下行16字符,不同位置字符的显示地址如下表所示:
显示字符 第一行地址 第二行地址 显示字符 第一行地址 第二行地址
1 00H 40H 8 07H 47H 2 01H 41H 9 08H 48H 3 02H 42H 10 09H 49H 4 03H 43H 11 0AH 4AH 5 04H 44H 12 BH 4BH 6 05H 45H 7 06H 46H ··· ··· ··· 2、1602液晶显示原理
LCD液晶的显示是利用液晶的物理特性原理, 通过电压的变化对其显示区域的对比度进行控制,接通电源就可以正常显示,他不仅可以显示图形而且也可显示不同的符号等。
图3-13 1602显示模块原理图
液晶显示器适用于大规模集成电路直接驱动、具有厚度薄、易于实现全彩
17
江西理工大学2014届本科生毕业设计(论文)
色显示等众多优点,目前已经被广泛应用在工业领域例如数字摄像机、便携式电脑、移动通信工具等[33]。
为了方便调节液晶的显示亮度使液晶显示在最佳的状态,在第三个引脚Vo脚加上一个10000欧的滑动变阻器,通过调节滑动变阻器的电阻阻值不断改变Vo脚的电压值[34]。
3.2.4 报警模块
(一) 蜂鸣器介绍
1. 蜂鸣器是一种采用直流电压供电的一体化结构的电子讯响设备,被广泛应用于各种常用电子器件中作发声元件。
2. 蜂鸣器主要有两个类型:电磁式和压电式。 3. 蜂鸣器在电路中用字母“HA”或“H”表示。 (二) 蜂鸣器的结构原理
1.压电式蜂鸣器原件主要包括多谐振荡器、阻抗匹配原件及音箱、外壳等。有些压电式蜂鸣器外壳上还装有发光二极管[35]。
多谐振荡器由主要集成电路组成。当开启后,多谐振荡器就会起振,产生1.5~2.5kHZ的音频波动信号,阻抗匹配器驱动压电蜂鸣片振动进而发出声音。
铌镁酸铅压电陶瓷材料是压电蜂鸣片的主要材料。另外分别在陶瓷片的正反面镀上银电极,然后经过老化和极化处理后,再同不锈钢片粘接在一起[36]。
2.磁式蜂鸣器组件主要包括磁铁、电磁线圈、振荡器、振动膜片及外壳等
[37]
。
常见的一种小型蜂鸣器因其比较小巧、结构牢靠,而被大量应用在一些需要
(三)有源蜂鸣器和无源蜂鸣器
发声鸣响的电器设备、电子制作设计等电路中。常用蜂鸣器被分为无源蜂鸣器和有源蜂鸣器。有源蜂鸣器接通电源就可连续发出声音;而无源蜂鸣器则必须接在音频输出电路中才能发出声音。
图3-14 蜂鸣器原理图
18
江西理工大学2014届本科生毕业设计(论文)
本系统在设计时候采用的是无源蜂鸣器,只要给蜂鸣器一定的电流值,蜂鸣器就可以按照给定的一定的频率发声,但是Arduino控制器引脚的电流相对较小,不足以驱动蜂鸣器工作,因此采用了一个NPN的三极管来驱动。
3.2.5 原理总图及器件清单
经过以上分析,将传感器、无源蜂鸣器和LCD1602等与Arduino相连接,便构成了本系统的电路原理图,如图3-15所示。
图3-15 系统总电路图
原件列表清单如下表: 原件 Arduino uno扩展版 LCD1602显示屏 DHT11传感器 无源蜂鸣器 LED 电阻 导线 面包板 扩展版 数据线 数量 1(块) 1(块) 1(个) 1(个) 1(个) 2(个) 若干 2(块) 1(块) 1(条)
3.3 系统软件设计
19
江西理工大学2014届本科生毕业设计(论文)
本系统软件设计以功能需求为根本目标,利用简单易懂的C语言,采取模块化编程,结构清晰,通俗易懂。
3.3.1 总体程序流程图
在对我们所选专题的研究方向有了大致的总体认识后,我们就需要先设计一个整体的程序工作流程图,将整个大系统系统划分为多个不同功能的小模块,然后再逐个对各个功能小模块所需要实现的功能进行分析,最后再把各个功能模块的程序合有效的连接一个整体的程序。程序流程如图3-16所示。
开始初始化N 延时温湿度监测并传回数据到Arduino1602显示数据定时监测判定温湿度是否超过阀值Y报警装置启动
图 3-16 主程序流程图
3.3.2 液晶显示模块程序
LCD1602显示器是一个慢显示元件,在运行任何一条命令以前要保证显示模块的忙标志表示不忙为低电平,如果不是那么这条命令不可用,如果想显示字符或图像则必须先输入字符会图像的地址[38]。LCD1602显示模块可直接与Arduino控制板接口相连,不需要再加任何额外的驱动程序。软件流程图如图3-17所示及调试结果如图3-18所示:
开始液晶1602初始化延时一次发送指令和数据控制液晶显示字符 图3-17 1602液晶显示模块程序流程图
20
江西理工大学2014届本科生毕业设计(论文)
图3-18 液晶调试结果显示
显示程序如下:
int DI = 12; int RW = 11;
int DB[] = {3, 4, 5, 6, 7, 8, 9, 10};/ int Enable = 2;
void LcdCommandWrite(int value) { int i = 0;
for (i=DB[0]; i <= DI; i++) {
digitalWrite(i,value & 01); value >>= 1; }
digitalWrite(Enable,LOW); delayMicroseconds(1); digitalWrite(Enable,HIGH); delayMicroseconds(1); digitalWrite(Enable,LOW); delayMicroseconds(1); }
void LcdDataWrite(int value) {
21
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Arduino的温湿度系统设计(5)在线全文阅读。
相关推荐: