电子说
步骤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()来解决此问题。在分号上方的代码末尾。
全部0条评论
快来发表一下你的评论吧 !