单片机温度检测记录系统的设计代码
时间: 2024-02-16 18:03:15 浏览: 30
好的,以下是一个基于Arduino单片机的温度检测记录系统设计代码,供您参考:
```C++
#include <Wire.h> //I2C通信库
#include <LiquidCrystal_I2C.h> //LCD显示库
#include <OneWire.h> //1-wire通信库
#include <DallasTemperature.h> //温度传感器库
#define ONE_WIRE_BUS 2 //定义1-wire总线连接的Arduino引脚
#define LCD_ADDRESS 0x27 //定义LCD显示器的I2C地址
#define LCD_COLS 16 //定义LCD显示器的列数
#define LCD_ROWS 2 //定义LCD显示器的行数
OneWire oneWire(ONE_WIRE_BUS); //定义1-wire总线
DallasTemperature sensors(&oneWire); //定义温度传感器对象
LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLS, LCD_ROWS); //定义LCD显示器对象
void setup() {
Serial.begin(9600); //初始化串口通信
lcd.init(); //初始化LCD显示器
lcd.backlight(); //打开LCD背光
sensors.begin(); //初始化温度传感器
}
void loop() {
sensors.requestTemperatures(); //请求获取温度
float tempC = sensors.getTempCByIndex(0); //获取摄氏温度
float tempF = sensors.getTempFByIndex(0); //获取华氏温度
lcd.setCursor(0, 0); //设置LCD光标位置
lcd.print("Temp:"); //显示“Temp:”文字
lcd.setCursor(6, 0); //设置LCD光标位置
lcd.print(tempC); //显示摄氏温度
lcd.print((char)223); //显示温度符号
lcd.print("C"); //显示摄氏度单位
lcd.setCursor(0, 1); //设置LCD光标位置
lcd.print("Temp:"); //显示“Temp:”文字
lcd.setCursor(6, 1); //设置LCD光标位置
lcd.print(tempF); //显示华氏温度
lcd.print((char)223); //显示温度符号
lcd.print("F"); //显示华氏度单位
Serial.print("Temp: "); //输出串口信息
Serial.print(tempC); //输出摄氏温度
Serial.print("C ");
Serial.print(tempF); //输出华氏温度
Serial.println("F");
delay(5000); //延时5秒
}
```
这段代码实现了使用Arduino单片机连接温度传感器,并将温度值显示在LCD屏幕和串口终端中。您可以根据自己的需求进行修改和优化。