ds18b20测量温度并用lcd1602显示
时间: 2023-09-28 11:10:16 浏览: 146
要使用DS18B20测量温度并用LCD1602显示,需要使用以下材料:
- Arduino板
- DS18B20温度传感器
- LCD1602液晶显示屏
- 10K电位器
- 面包板
- 杜邦线
接线步骤如下:
1. 将DS18B20传感器的GND引脚连接到Arduino板的GND引脚上。
2. 将DS18B20传感器的VCC引脚连接到Arduino板的5V引脚上。
3. 将DS18B20传感器的数据线连接到Arduino板的数字引脚2上。
4. 将LCD屏幕的VSS引脚连接到Arduino板的GND引脚上。
5. 将LCD屏幕的VDD引脚连接到Arduino板的5V引脚上。
6. 将LCD屏幕的VO(对比度)引脚连接到10K电位器的中间引脚上,另外两个引脚连接到LCD屏幕的GND和5V引脚上。
7. 将LCD屏幕的RS引脚连接到Arduino板的数字引脚12上。
8. 将LCD屏幕的E引脚连接到Arduino板的数字引脚11上。
9. 将LCD屏幕的D4、D5、D6、D7引脚分别连接到Arduino板的数字引脚5、4、3、2上。
接线完成后,可以使用以下代码进行测试:
```
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
sensors.begin();
lcd.begin(16, 2);
}
void loop() {
sensors.requestTemperatures();
float tempC = sensors.getTempCByIndex(0);
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(tempC);
lcd.print((char)223);
lcd.print("C");
delay(1000);
}
```
此代码使用了OneWire库和DallasTemperature库来读取DS18B20传感器的温度值,然后使用LiquidCrystal库在LCD屏幕上显示温度值,单位为摄氏度。
阅读全文