arduino教程- 15. LCD液晶屏与数字温湿度传感器

内容提示:

  • LCD液晶屏
  • 接线和程控方式
  • 作为温湿度传感器以及超声波传感器的显示接口

15.1 认识文本型LCD显示模块

  1. 分成“文本模式”和“图形模式”,
  • 文本模式:只能显示文本、数字和符号,文本通常是英文
  • 图形模式:显示文本和图像
  1. LCD的控制芯片通常是日立公司生产的HD44780。
  2. 液晶本身不会发光,因此需要通过反射光源,或者背光模块提供光源,才能显示清楚。
    液晶显示模块LCD1602的内部结构可以分成三部分:一为LCD控制器,二为LCD驱动器,三为LCD显示装备。

lcd1602接线图

在了解LCD1602接线图之前,我们先看看LCD1602的引脚定义图引脚定义图

1脚:VSS为接地;

2脚:VDD接5V电源VCC;

3脚:VO为液晶显示器对比度调整;VO是液晶显示的偏压信号,可接10K的3296精密电位器。或同样阻值的RM065/RM063蓝白可调电阻。

4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;

5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;

6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;

7~14脚:D0~D7为8位双向数据线;

15脚:背光电源正极;

16脚:背光电源负极。
 关于lcd1602的详细介绍
 10分钟理解LCD1602液晶显示模块

任务15-1 制作数字温湿度显示器

实验说明:
  • 读取DHT11感测模块的输出值,显示在“串口监视器” 或者LCD液晶屏。
  • DHT11英文介绍
实验材料
元器件数量规格
温湿度感测模块1DHT11
液晶屏模块1lcd 1602
电阻1330欧姆
可变电阻110k欧姆
实验电路
实验程序

编写程序之前,请把DHT11扩展库文件夹复制到Arduino项目文件夹的libraries文件夹下。
DHT11组件在通电后,数据输出脚将不停地以序列格式输出温度和湿度值。本单元采用DHT11扩展库来读取、解析此组件的数据。
DHT11扩展库的指令语法

#include <dht11.h>
dht11 DHT11;
int chk = DHT11.read(2); //读取2#引脚的DHT11数据,如果传回0,代表读取成功
float temp = DHT11.temperature;
float humi = DHT11.humidity;

其中,read()函数将返回三种可能值。

  • 0:代表读取成功
  • -1:数据验证错误(checksum error)
  • -2:超过读取时间(timeout)
#include <dht11.h>
dht11 DHT11;
const byte dataPin = 2;
void setup(){
	Serial.begin(9600);
}

void loop(){
	int chk = DHT11.read(dataPin);
	if (chk == 0) {
		Serial.print("Humidity(%): ");
		Serial.println((float)DHT.humidity, 2);
		Serial.print("Temperature(℃): ");
		Serial.println((float)DHT11.trmperature, 2);
	} else {
		Serial.println("Sensor error");
	}
	delay(2000);
}
这是一款带有DHT11度/湿度传感器Arduino Uno,并带有由电源供电的LCD屏幕。 这个项目需要以下内容: 所有零件都可以在sparkfun或adafruit购买。或者你可以像我一样做,并尽可能地从旧设备中拯救。 Arduino(我使用了UNO R3,但任何5V都可以工作) 面包板 DHT11温湿度传感器 10k欧姆电位器 16x2液晶屏幕 触觉按钮 USB AB电缆 充电宝 跳线 现在是把所有电线连接到设备的时候了。请参阅Fritzing原理图(请注意,我在面包板上的两个电源导轨之间没有跳线,如果同时使用这两个电源导轨,您将需要它们): 我使用的LCD显示器是从一个旧的火灾报警器面板中恢复的。引脚15和16位于引脚1之前,而引脚16不是Gnd,实际上是5v,引脚15是Gnd。请仔细检查你自己的显示器,并确保你的引脚是正确的。由于我的显示器引脚排列几乎与其他人不同,所以我使用“标准”显示屏制作了Fritzing原理图,而不是我的确切引脚。 Gnd - >面包板上的负电源 5v - >面包板上的正轨 DTH11 Pin1 - > 5v和10k欧姆电阻 Pin2 - > Arduino Pin8和10k欧姆电阻 Pin3 - >无连接 Pin4 - > Gnd 16x2液晶屏幕 Pin1 - > Gnd Pin2 - > 5v Pin3 - > 10k欧姆电位器刮水器针(中间针,POT上的另外两个针变为5v和Gnd) Pin4 - > Arduino Pin12 Pin5 - > Gnd Pin6 - > Arduino Pin11 Pin7 - >没有连接 Pin8 - >没有连接 Pin9 - >没有连接 Pin10 - >没有连接 Pin11 - > Arduino Pin5 Pin12 - > Arduino Pin4 Pin13 - > Arduino Pin3 Pin14 - > Arduino Pin2 Pin15 - > 5v Pin16 - >触觉按钮(另一侧的按钮去Gnd) 完成所有接线后,将电源插入Arduino。 您的液晶显示器和DHT11应该启动。按下圆润按钮,LCD背光应该点亮。 现在你有一个带有实时显示的便携式度和湿度传感器。 这帮助我确定了我家中最有野味的窗户,以及如何最好地设置房屋通风。
该项目将展示如何设置16 x 2 LCD屏幕并显示多个传感器值。 我一直在与Arduino进行修补一段时间,主要是使用LED和东西,最后买了我的第一块LCD并决定用一个工作正常的传感器对其进行测试,但是我发现很少有项目显示使用多个传感器,所以我决定建立这个。 该项目使用2个电位计,这些电位计在面包板上连接到ArduinoLCD。最终结果是,在调节两个电位器的值时,LCD应当指示它们的值。 在开始配置之前,让我们仔细查看LCD并查看16针的用途: GND-接地 VCC- + 5V连接 VO-用于屏幕亮度的模拟引脚,连接到电位计。 RS-告诉LCD将要写入的内容。 R / W-读/写引脚(通常硬接地)。 E-告诉LCD数据已准备好写入。 D0至D7 -LCD的总线,这是您的数据从Arduino传递到LCD的地方。 A- + 5V连接LCD的背光。 K -LCD背光的接地引脚。 现在,我们可以开始在面包板上建立连接。以下是分步指南: 连接10K欧姆电位器(该电位器用于控制LCD的对比度)。电位器的中间引脚连接到VO引脚,另外两根导线连接到+ 5V并在面包板上接地。 连接销-A到+ 5V和销-K到地面上的线路板。 将D7引脚连接到数字引脚12,D6引脚连接到数字引脚11,D5引脚连接到数字引脚10,D4引脚连接到数字引脚9。(Arduino上的数字引脚)。 将Pin-RS连接到Arduino上的数字引脚7。 连接销-RW到地面上的线路板。 连接引脚VSS到地面上的线路板。 连接引脚VDD到+ 5V的线路板。 将引脚E连接到Arduino上的数字引脚8。 将第一个电位计放在板上,并将中心引脚连接到Arduino上的Analog Pin 1,将其他引脚接地并在面包板上+ 5V。 放置在板上的第二电位器和连接中心销对模拟引脚2上Arduino的和其他引脚到地和+ 5V的线路板。
好的,这是一个常见的物联网实验,需要使用Arduino开发板、DTH11温湿度传感器和液晶显示屏。下面是具体步骤: 1. 连接DTH11传感器到Arduino开发板,将传感器的VCC引脚连接到Arduino的5V电源引脚,将GND引脚连接到Arduino的GND引脚,将DTH11传感器的DATA引脚连接到Arduino数字引脚2号。 2. 连接液晶显示屏到Arduino开发板,根据液晶显示屏的引脚图,将其VCC引脚连接到Arduino的5V电源引脚,将GND引脚连接到Arduino的GND引脚,将液晶显示屏的SCL引脚连接到Arduino数字引脚A5,将液晶显示屏的SDA引脚连接到Arduino数字引脚A4,将液晶显示屏的RES引脚连接到Arduino数字引脚8,将液晶显示屏的DC引脚连接到Arduino数字引脚9,将液晶显示屏的CS引脚连接到Arduino数字引脚10。 3. 编写Arduino代码,读取DTH11传感器的温湿度数据,并将其显示在液晶显示屏上。代码示例: ``` #include <LiquidCrystal.h> // 引入液晶显示屏库 #include <DHT.h> // 引入DHT11传感器库 #define DHTPIN 2 // 设置DHT11传感器的数据引脚 #define DHTTYPE DHT11 // 设置DHT11传感器的型号 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal lcd(8, 9, 10, A5, A4,); // 设置液晶显示屏引脚 void setup() { lcd.begin(16, 2); // 初始化液晶显示屏 dht.begin(); // 初始化DHT11传感器 } void loop() { float temperature = dht.readTemperature(); // 读取度数据 float humidity = dht.readHumidity(); // 读取湿度数据 lcd.setCursor(0, 0); // 设置光标位置 lcd.print("Temp: "); // 显示“Temp: ” lcd.print(temperature); // 显示度数据 lcd.print("C"); // 显示“C” lcd.setCursor(0, 1); // 设置光标位置 lcd.print("Humidity: "); // 显示“Humidity: ” lcd.print(humidity); // 显示湿度数据 lcd.print("%"); // 显示“%” delay(2000); // 延迟2秒钟 } ``` 4. 将代码上传到Arduino开发板,观察液晶显示屏上的温湿度数据。 希望这个回答能够帮助你完成温湿度传感器实验!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔚蓝慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值