DS18B20带有LCD的温度探头的制作

电子说

1.3w人已加入

描述

步骤1:零件

该项目所需的零件:

Arduino Mega或其他arduino (3-15 $)

LCD (大约3 $)

一个DS18B20温度探头(我花了大约2美元)

几根跳线(大约3美元)

A 4.7K电阻器(不完全知道,我买了600个不同类型的电阻器,价格为3美元)

用于LCD的220欧姆电阻器(再次,我不完全知道,因为我得到了一包600美元的不同类型的电阻器,价格为3 $)

步骤2:连接(不带LCD)

我首先要使用的方式是仅使用 DS18B20传感器,并在没有LCD或LCD的情况下将结果打印到串行监视器上只是想测试您的传感器。

接下来,我还将向您展示如何连接LCD。

对于DS18B20:

您必须连接此如图所示。您将必须连接:

VCC-》 Arduino 5V,加上一个从VCC到数据的4.7K电阻

数据-》任何arduino引脚

GND-》 Arduino GND

步骤3:代码(不带LCD)

这里是不带LCD的传感器的代码,我在使用两个额外的库:

DallasTemperature,

OneWire

享受:

#include

#include

#define ONE_WIRE_BUS 7

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

float tempC = 0;

float tempF = 0;

void setup() {

sensors.begin();

pinMode(3, OUTPUT);

analogWrite(3, 0);

Serial.begin(9600);

}

void loop() {

sensors.requestTemperatures();

tempC = sensors.getTempCByIndex(0);

tempF = sensors.toFahrenheit(tempC);

delay(1000);

Serial.print(“C: ”);

Serial.print(tempC);

Serial.print(“ F: ”);

Serial.println(tempF);

}

第4步:连接(带LCD)

如果要连接LCD,请按以下方式进行连接:

我要连接应连接的电线

连接:(LCD-》 ARDUINO)

引脚1-》 GND

引脚2 -》 VCC

插针3-》 Arduino插针3

插针4-》 Arduino插针33

插针5-》 GND

引脚6-》 Arduino引脚31

引脚7-10-》无

引脚11-》 Arduino引脚22

引脚12-》 Arduino引脚24

Pin 13-》 Arduino引脚26

Pin 14-》 Arduino引脚28

Pin 15-》通过220 OHM电阻的VCC。

Pin 16-》 GND

步骤5:代码(带LCD)

这是LCD的代码,请记住将所有东西正确地勾起来,然后就可以像高达125度的魅力一样起作用。如果您的显示器仅显示-127度,则可能是温度传感器的电阻没有正确连接。

我正在使用两个额外的库:

DallasTemperature,

OneWire

下面是代码,请享用:

#include

#include

#include

#define ONE_WIRE_BUS 7

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

float tempC = 0;

float tempF = 0;

LiquidCrystal lcd(33,31,22,24,26,28);

void setup() {

sensors.begin();

lcd.begin(16,2);

lcd.clear();

pinMode(3, OUTPUT);

analogWrite(3, 0);

Serial.begin(9600);

}

void loop() {

sensors.requestTemperatures();

tempC = sensors.getTempCByIndex(0);

tempF = sensors.toFahrenheit(tempC);

delay(1000);

Serial.println(tempC);

lcd.setCursor(0,0);

lcd.print(“C: ”);

lcd.print(tempC);

lcd.print(“ degrees”);

lcd.setCursor(0,1);

lcd.print(“F: ”);

lcd.print(tempF);

lcd.print(“ degrees”);

}

步骤6:工作证明和结束/完成

我用此传感器测得的温度高达100度,并且效果很好。看一下图片,您将看到大约在摄氏99度的时候。唯一的缺点是,当显示温度升至华氏一百多度时,S会被切断,这是很不幸的,尽管您可以通过添加lcd.clear()来解决此问题。在分号上方的代码末尾。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分