第1步:本項(xiàng)目需要的東西
面包板
16 X 2 LCD顯示器
跳線
Arduino UNO Board&計(jì)算機(jī)上安裝了Arduino IDE
3種LED(3種不同顏色)
迷你面包板(不需要)
這就是您開(kāi)始使用的全部?jī)?nèi)容。 。 。
步驟2:使用Arduino建立連接
連接部分是最重要的部分整個(gè)項(xiàng)目。確保您正確遵循說(shuō)明,否則您可能最終會(huì)直接破壞傳感器。上面的圖像(和下面的步驟3 )以干凈的方式顯示了面包板中設(shè)置的連接。深藍(lán)色線對(duì)應(yīng)5V連接和黑線對(duì)應(yīng)接地連接
1。 16 x 2 LCD顯示屏由16個(gè)引腳組成,這些引腳標(biāo)有不同的名稱,寫(xiě)在顯示模塊的背面。確保正確遵循引腳編號(hào)。
2。要了解DHT11傳感器的引腳,請(qǐng)參考上面的接線圖。
如果接線圖感覺(jué)有點(diǎn)過(guò)于復(fù)雜,這里是連接設(shè)置明確表示:
Arduino GND到面包板負(fù)電源軌(所有黑色電線都連接到此軌道)
Arduino 5V到面包板正電源導(dǎo)軌(所有深藍(lán)色導(dǎo)線都到達(dá)此導(dǎo)軌)
DHT11正面針到面包板正面電源軌
DHT11負(fù)極引腳到面包板負(fù)電源軌
DHT11信號(hào)引腳到Arduino Analog A0 (這個(gè)將數(shù)據(jù)從DHT11提供給Arduino)
LCD 1到面包板負(fù)電源軌
LCD 2到面包板正電源導(dǎo)軌
LCD 3至面包板負(fù)電源導(dǎo)軌(如果將其連接至電位計(jì),則有助于更改LCD亮度)
LCD 4到Arduino數(shù)字引腳12( LCD cha racter坐標(biāo))
LCD 5到面包板負(fù)電源軌
LCD 6到Arduino數(shù)字引腳11 (LCD啟動(dòng)命令)
LCD 11到Arduino數(shù)字引腳5
LCD 12到Arduino數(shù)字引腳4
LCD 13至Arduino數(shù)字引腳3
LCD 14至Arduino數(shù)字引腳2
LCD 15到面包板正電源導(dǎo)軌
LCD 16到面包板負(fù)電源導(dǎo)軌
冷/綠色LED正極引腳至Arduino數(shù)字引腳7 (負(fù)極引腳至面包板負(fù)極導(dǎo)軌)
熱/黃色LED正極引腳至Arduino數(shù)字引腳8 (負(fù)極引腳至面包板負(fù)極軌)
極端/紅色LED正極引腳至Arduino數(shù)字引腳9 (負(fù)極引腳到面包板負(fù)軌)
如果你已經(jīng)正確連接,那么你幾乎已經(jīng)完成了一半的項(xiàng)目,因?yàn)槠溆嗖襟E很容易理解用。
第3步:您的設(shè)置可能看起來(lái)像什么
我上面已經(jīng)上傳了幾張圖片,看看每個(gè)連接的樣子。由于這是一個(gè)復(fù)雜的電路,我盡力保持布線連接盡可能簡(jiǎn)單。希望這可能會(huì)在某個(gè)階段幫助你。
接下來(lái)在開(kāi)始編碼部分之前,我們需要的是兩個(gè)用于我們LCD顯示器的Arduino庫(kù)。 DHT11傳感器正常工作。我很難找到DHT11傳感器的正確庫(kù),因?yàn)榇蠖鄶?shù)都已經(jīng)過(guò)時(shí)了。但是,LCD顯示庫(kù)是在Arduino IDE中內(nèi)置的。不過(guò),我已經(jīng)附加了 兩個(gè)庫(kù)文件 。如果您不知道如何在IDE中安裝Arduino庫(kù),那么很簡(jiǎn)單:打開(kāi)Arduino IDE - 》 Sketch - 》 Include Library - 》 Add Library并選擇 .zip 文件。
第4步:草圖(又名Arduino代碼)
這是代碼,你必須編譯&上傳到您的Arduino UNO板。如果你已經(jīng)建立了所有的連接和完全按照描述安裝庫(kù),代碼編譯應(yīng)該不會(huì)產(chǎn)生錯(cuò)誤。
#include
#include
#include “DHT.h”
#define DHTPIN A0 // what pin we‘re connected to
#define DHTTYPE DHT11 // we are using the DHT11 sensor
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
for (int DigitalPin = 7; DigitalPin 《= 9; DigitalPin++)
{
pinMode(DigitalPin, OUTPUT);
}
lcd.begin(16,2); //16 by 2 character display
dht.begin();
}
void loop()
{
delay(1000);
// Reading temperature or humidity takes about 250 milliseconds!
float h = dht.readHumidity();
float t = dht.readTemperature(); // Read temperature as Celsius (the default)
lcd.clear();
lcd.setCursor(0,0);
lcd.print(“Temp: ”);
lcd.print(t); //printing temperarture to the LCD display
lcd.print(“’C”);
lcd.setCursor(0,1);
lcd.print(“Humid: ”);
lcd.print(h); //printing humidity to the LCD display
lcd.print(“%”);
//the 3-led setup process
if (t《=22)
{
digitalWrite(7, HIGH);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
}
else if (t》22)
{
digitalWrite(8, HIGH);
digitalWrite(7, LOW);
digitalWrite(9, LOW);
}
else if (t》=35)
{
digitalWrite(9, HIGH);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
}
}
步驟5:描述整體設(shè)置
成功編譯代碼/草圖后&上傳到Arduino,你會(huì)看到當(dāng)前的溫度和溫度。你周?chē)臐穸?。傳感器基本上?秒刷新一次,以準(zhǔn)確的溫度更新您。除此之外,您還會(huì)注意到任何一個(gè)LED點(diǎn)亮,具體取決于您周?chē)沫h(huán)境。
3-LED設(shè)置已啟動(dòng),具體如下:
如果溫度低于22℃,冷LED會(huì)發(fā)光。 (綠色)
如果溫度在22 - 35℃之間,熱LED會(huì)發(fā)光。 (黃色)
如果溫度高于35℃,Extreme LED會(huì)發(fā)光。 (紅色)
顯然可以根據(jù)您的選擇修改代碼中的讀數(shù)。
我上傳了兩個(gè)上面的圖像,我們的區(qū)域的常溫31℃(黃色/熱LED點(diǎn)亮)。然后,我將傳感器放在冰塊附近,使溫度降至22℃以下(使綠色/冷LED點(diǎn)亮)。
-
LCD顯示器
+關(guān)注
關(guān)注
0文章
87瀏覽量
20219 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187543
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論