LCD1602显示温度与时间
时间: 2023-12-10 16:04:59 浏览: 200
这是一个比较简单的项目,需要以下几个组件:
1. Arduino Uno开发板
2. 温度传感器(如DS18B20)
3. LCD1602液晶显示屏
4. 10K电位器
5. 杜邦线若干
接下来,我们按照以下步骤进行操作:
1. 将温度传感器的VCC引脚连接到Arduino的5V引脚,GND引脚连接到GND引脚,DATA引脚连接到Arduino的数字引脚2。
2. 将LCD1602的VSS引脚连接到GND引脚,VDD引脚连接到5V引脚,VO引脚连接到电位器中间引脚,RW引脚连接到GND引脚,RS引脚连接到Arduino的数字引脚12,EN引脚连接到Arduino的数字引脚11,D4-D7引脚分别连接到Arduino的数字引脚7-4。
3. 下载并安装OneWire和LiquidCrystal库。
4. 将以下代码上传到Arduino开发板中。
```c++
#include <OneWire.h>
#include <LiquidCrystal.h>
// 定义温度传感器的数据引脚
#define ONE_WIRE_BUS 2
// 创建温度传感器对象
OneWire oneWire(ONE_WIRE_BUS);
// 创建液晶显示屏对象
LiquidCrystal lcd(12, 11, 7, 6, 5, 4);
void setup() {
// 初始化液晶显示屏
lcd.begin(16, 2);
// 设置液晶显示屏的背光亮度
lcd.setBacklight(255);
}
void loop() {
// 读取温度值
byte data[12];
float temp;
if (oneWire.reset()) {
oneWire.write(0xCC);
oneWire.write(0x44);
delay(1000);
oneWire.reset();
oneWire.write(0xCC);
oneWire.write(0xBE);
for (byte i = 0; i < 9; i++) {
data[i] = oneWire.read();
}
temp = ((data[1] << 8) | data[0]) * 0.0625;
}
// 获取当前时间
unsigned long currentMillis = millis();
unsigned long seconds = currentMillis / 1000;
unsigned long minutes = seconds / 60;
unsigned long hours = minutes / 60;
// 显示温度和时间
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Time: ");
lcd.print(hours);
lcd.print(":");
lcd.print(minutes % 60);
lcd.print(":");
lcd.print(seconds % 60);
// 延时1秒,防止频繁刷新液晶显示屏
delay(1000);
}
```
5. 上传完代码后,液晶显示屏将显示当前温度和时间。每隔1秒钟刷新一次。可以通过旋转电位器来调节液晶显示屏的背光亮度。
希望这个项目能帮助到你!
阅读全文