第八章 数字温度计-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2114|回复: 0

第八章 数字温度计

[复制链接]
发表于 2022-2-8 17:27 | 显示全部楼层 |阅读模式
本帖最后由 OpenJumper 于 2022-2-8 17:27 编辑

[md]## 液晶显示屏
Arduino可用的显示模块众多,最常见的就是1602字符型液晶显示器了。1602显示器是一种常见的字符液晶显示器,因其能显示16\*2个字符而得名。而IIC1602是在1602液晶基础上,再集成了一个IIC(一种通信协议)总线的芯片,这使得arduino可以通过两个IO口就可以控制液晶显示。在mixly中提供了IIC1602的的库文件,我们点击显示器模块,就可以看到我们要用到的操作液晶的函数。这样,我们就可以很方便的使用1602 LCD显示英文字母与一些符号。
01.jpg
本节我们利用IIC1602液晶显示器来制作一个可以显示实际温度的数字温度计。

+ **硬件介绍**: OpenJumper IIC LCD1602模块集成了IIC I/O扩展芯片PCA8574,使LCD 1602的使用更为简单。通过两线制的IIC总线(串行时钟线SCL,串行数据线SDA),可使Arduino实现控制LCD 1602显示的目的。既简化了电路,又节省了I/O口,使Arduino能实现更多的功能。通过模块上的电位器还可以调节LCD显示器的对比度。
02.jpg
+ **硬件连接**

液晶显示屏 —— I2C 4P接口
03.jpg
+ **软件编写**
04.jpg
0x27是液晶的默认的通信地址,初始化的时候先将屏幕清屏。随后让液晶第一行显示hello,第二行显示 12345。

## 数字显示温度计

制作数字式温度计,我们还需要用到一个温度传感器模块,这里我们添加一个LM35温度传感器,我们将读取到的温度显示在LCD上。

+ **硬件连接**

LM35传感器 —— A0  液晶显示屏 —— I2C
05.jpg
+ **程序编写**
06.jpg
程序初始化中首先初始化屏幕,并清屏处理。

读取A0口上的LM35温度传感器的数据。温度传感器输出的是一个0到1V的电压,传感器的输出电压与摄氏温度呈线性关系,0℃时输出为0V,每升高1℃,输出电压增加10mv。

我们知道A0接口上读取到的模拟值是0~1023的一个整数。由于温度每升高一度,输出电压便会加大10mv,而我们模拟传感器平时使用的单位是V,1V=1000mv ,所以将电压值转换成V。所以上升1度的电压是10/1000V。

1℃ / (10/1000)V = 实际温度/实际电压

实际电压/5 = “Value of sensor AnalogA2”/1024

所以实际温度=“Value of sensor AnalogA2”* 500/1024

用程序表达就是:
07.jpg
将程序下载至arduinoUNO中,观察液晶显示器中温度的读数。我们可以用手捏住测温探头时,观察温度是否随检测到的温度发声变化。

## 发散思维大课堂

上边我们讲了利用液晶显示屏和温度传感器制作的数字式温度计,那么我们再想想办法,这个温度计可以测其他的东西吗?能不能做到以下的功能呢?

+ 加一个触摸传感器或者按钮模块来控制温度计的开关。[/md]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 14:30 , Processed in 0.079718 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表