如何用EDA-115开发板写一个基于ds18b20在lcd1602显示的温度计?

用EDA-115开发板写一个基于ds18b20在lcd1602显示的温度计

可以将DS18B20和LCD1602的驱动做成底层代码,分别编写他们的.c和.h文件,之后就直接在主函数里面调用。DS18B20是基于单总线(One-wire)协议的,LCD602的资料个人感觉可以搜索“长沙太阳人”(“”为了容易区分名称)的资料详细一点。关于驱动EDA-115开发板,就只能自己查找EDA-115开发版的datasheet了解学习!关于芯片都有他的datasheet供编写驱动程序的。(但愿有所帮助)

使用 EDA-115 开发板,编写一个基于 DS18B20 温度传感器,并在 LCD1602 显示温度的温度计,你直接按照下面的步骤进行就可以了:

  1. 连接硬件:
  • 将 DS18B20 温度传感器连接到 EDA-115 开发板的合适引脚(例如 GPIO 引脚)。
  • 将 LCD1602 连接到 EDA-115 开发板的 I2C 接口。
  1. 配置开发环境:
  • 在 EDA-115 开发板上安装适当的开发环境,如 Arduino IDE 或 PlatformIO。
  • 确保开发环境正确配置了 EDA-115 开发板。
  1. 编写代码:
  • 引入 Wire 库,用于与 I2C 设备通信。
  • 引入 OneWireDallasTemperature 库,用于与 DS18B20 温度传感器交互。
  • 引入 LiquidCrystal_I2C 库,用于控制 LCD1602 显示屏。
  • 初始化 DS18B20 传感器和 LCD1602 显示屏。
  • 在主循环中,读取 DS18B20 温度传感器的值。
  • 将温度值转换为适当的单位(如摄氏度或华氏度)。
  • 在 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 秒
}

上面的代码中,使用了 OneWireDallasTemperature 库来与 DS18B20 温度传感器交互,使用 LiquidCrystal_I2C 库来控制 LCD1602 显示屏。在 setup() 函数中启动传感器和初始化显示屏,在 loop() 函数中获取温度值并在显示屏上显示。

你需要确保在 Arduino IDE 中正确选择了 EDA-115 开发板和对应的串行端口,然后将代码上传到 EDA-115 开发板上。在连接正确的硬件和正确设置开发环境后,你现在应该能够在 LCD1602 显示屏上看到温度值的实时更新。