用EDA-115开发板写一个基于ds18b20在lcd1602显示的温度计
可以将DS18B20和LCD1602的驱动做成底层代码,分别编写他们的.c和.h文件,之后就直接在主函数里面调用。DS18B20是基于单总线(One-wire)协议的,LCD602的资料个人感觉可以搜索“长沙太阳人”(“”为了容易区分名称)的资料详细一点。关于驱动EDA-115开发板,就只能自己查找EDA-115开发版的datasheet了解学习!关于芯片都有他的datasheet供编写驱动程序的。(但愿有所帮助)
使用 EDA-115 开发板,编写一个基于 DS18B20 温度传感器,并在 LCD1602 显示温度的温度计,你直接按照下面的步骤进行就可以了:
Wire
库,用于与 I2C 设备通信。OneWire
和 DallasTemperature
库,用于与 DS18B20 温度传感器交互。LiquidCrystal_I2C
库,用于控制 LCD1602 显示屏。接下来顺便在给你写一个使用 Arduino IDE 编写的代码,仅供参考,自己根据自己实际情况修改:
#include <Wire.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal_I2C.h>
// 定义 DS18B20 传感器引脚
OneWire oneWire(2); // 将 DS18B20 连接到 Arduino 开发板的引脚 2
DallasTemperature sensors(&oneWire);
// 定义 LCD1602 显示屏的 I2C 地址和列行数
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// 启动 DS18B20 温度传感器
sensors.begin();
// 初始化 LCD1602 显示屏
lcd.begin(16, 2);
lcd.backlight(); // 打开背景灯
}
void loop() {
sensors.requestTemperatures(); // 请求温度传感器的温度数据
// 读取温度值
float temperatureC = sensors.getTempCByIndex(0);
float temperatureF = sensors.getTempFByIndex(0);
// 在 LCD1602 显示屏上显示温度
lcd.setCursor(0, 0);
lcd.print("Temp(C): ");
lcd.print(temperatureC);
lcd.setCursor(0, 1);
lcd.print("Temp(F): ");
lcd.print(temperatureF);
delay(1000); // 延迟 1 秒
}
上面的代码中,使用了 OneWire
和 DallasTemperature
库来与 DS18B20 温度传感器交互,使用 LiquidCrystal_I2C
库来控制 LCD1602 显示屏。在 setup()
函数中启动传感器和初始化显示屏,在 loop()
函数中获取温度值并在显示屏上显示。
你需要确保在 Arduino IDE 中正确选择了 EDA-115 开发板和对应的串行端口,然后将代码上传到 EDA-115 开发板上。在连接正确的硬件和正确设置开发环境后,你现在应该能够在 LCD1602 显示屏上看到温度值的实时更新。