步驟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()來解決此問題。在分號上方的代碼末尾。
-
lcd
+關注
關注
34文章
4429瀏覽量
167786 -
DS18B20
+關注
關注
10文章
779瀏覽量
80943 -
溫度探頭
+關注
關注
0文章
10瀏覽量
8905
發布評論請先 登錄
相關推薦
評論