使用Arduino uno和LCE1602以及DS18B20显示当前环境的温度代码
时间: 2024-02-15 08:02:19 浏览: 91
以下是使用Arduino Uno和LCD1602以及DS18B20显示当前环境温度的Arduino代码:
```
#include <OneWire.h> //引用OneWire库
#include <LiquidCrystal.h> //引用LCD库
//定义DS18B20引脚
#define DS18B20_PIN 2
//初始化LCD
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); //这里的引脚根据你的实际连线来设置
//初始化OneWire
OneWire oneWire(DS18B20_PIN);
void setup() {
//初始化LCD
lcd.begin(16, 2);
lcd.print("Temp:");
}
void loop() {
//读取DS18B20温度
int16_t raw;
uint8_t data[9];
oneWire.reset();
oneWire.write(0xCC);
oneWire.write(0x44);
delay(800);
oneWire.reset();
oneWire.write(0xCC);
oneWire.write(0xBE);
for (uint8_t i = 0; i < 9; i++) {
data[i] = oneWire.read();
}
raw = (data[1] << 8) | data[0];
float temperature = (float)raw / 16.0;
//显示温度到LCD
lcd.setCursor(6, 0);
lcd.print(temperature, 1);
lcd.write(0xDF); //显示温度符号
lcd.print("C");
delay(1000); //每秒更新一次温度
}
```
在这个代码中,我们使用了OneWire库来读取DS18B20温度传感器的温度数据,并使用LiquidCrystal库来控制LCD显示。在`setup()`函数中,我们初始化了LCD,并在第一行显示"Temp:"。在`loop()`函数中,我们使用`OneWire`库读取DS18B20传感器的温度数据,并将温度值显示在LCD的第一行。在第二行,我们显示了温度符号"°C"。最后,我们通过`delay(1000)`函数让温度每秒更新一次。
请注意,在使用上述代码之前,您需要先安装OneWire和LiquidCrystal库。在Arduino IDE中,打开“工具”->“库管理器”,搜索并安装这两个库。
阅读全文