仿真的时候ds18b20没有问题,但是测得的数据无法导入uno板子 LCd1602只显示-0.06C
#include <LiquidCrystal.h>
#include <DS18B20.h>//引入库
DS18B20 ds(2); //UNO板2号针脚输入温度传感器DS18B20所测得的数据
const int rs = 3;//定义数据选择端
const int en = 5;//定义使能端,RW直接接地使LCD为写模式
const int d4 = 10;//双向数据I/O口
const int d5 = 11;
const int d6 = 12;
const int d7 = 13;
const int lcdlight = 9;
//初始化针脚
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);//创建LCD实例(4线输入)
void setup() {
pinMode(lcdlight,OUTPUT);//设置LCD为输出模式
analogWrite(lcdlight, 130);//调节对比度
lcd.begin(16, 2);//令液晶屏总共显示2行16列
}
void loop()
{
lcd.setCursor(0,0); //令光标出现在第一行第一列
lcd.print("Temp:");
lcd.print(ds.getTempC());
lcd.print("C");//在LCd上输出Temp: 然后利用getTempC函数将温度传感器测得的数据转换为摄氏温度并输入到LCD上 同时在示数后输出C
}
但是实物操作的时候没有问题,显示屏能正常显示测得的温度