Ang pagsubaybay sa mga kondisyon ng kapaligiran tulad ng temperatura at halumigmig ay mahalaga para sa iba't ibang mga aplikasyon, mula sa automation ng bahay hanggang sa pamamahala ng greenhouse. Gamit ang maraming nalalaman na platform ng Arduino at mga sensor tulad ng DHT11 o DHT22, na lumilikha ng isang maaasahang temperatura at monitor ng kahalumigmigan ay parehong abot -kayang at prangka. Sa gabay na ito, lalakad ka namin sa mga sangkap na kinakailangan, proseso ng pag -setup, at kinakailangan ng coding upang buhayin ang iyong monitor.
Mga sangkap na kakailanganin mo
- Arduino uno
- DHT11 o DHT22 sensor
- 10k ohm risistor
- Mga wire ng tinapay at jumper
- LCD Display (Opsyonal)
- USB cable
Pag -unawa sa mga sensor ng DHT11/DHT22
Ang DHT11 at DHT22 ay mga tanyag na sensor para sa pagsukat ng temperatura at kahalumigmigan. Ang DHT11 ay epektibo sa gastos at angkop para sa mga pangunahing aplikasyon, na nag-aalok ng isang saklaw ng temperatura na 0-50 ° C na may katumpakan na ± 2 ° C na katumpakan at kahalumigmigan na 20-80% na may katumpakan na ± 5%. Ang DHT22, sa kabilang banda, ay nagbibigay ng isang mas malawak na saklaw ng temperatura ng -40 hanggang 80 ° C na may katumpakan na ± 0.5 ° C na katumpakan at kahalumigmigan na 0-100% na may katumpakan na 2-5%, na ginagawang perpekto para sa mas maraming hinihingi na mga proyekto.
Ang mga kable ng sensor kay Arduino
Sundin ang mga hakbang na ito upang ikonekta ang iyong sensor ng DHT sa Arduino:
- Mga Koneksyon sa Kapangyarihan: Ikonekta ang VCC pin ng DHT sensor sa 5V pin sa Arduino at ang GND pin sa lupa (GND).
- Data PIN: Ikonekta ang data pin ng DHT sensor sa isang digital input pin sa Arduino (karaniwang pin 2).
- Pull-up risistor: Maglagay ng isang 10k ohm risistor sa pagitan ng VCC at data pin upang matiyak ang matatag na paghahatid ng data.
- LCD display (opsyonal): Kung gumagamit ng isang LCD, ikonekta ito sa naaangkop na mga pin na Arduino para sa pagpapakita ng mga pagbabasa.
Programming ang Arduino
Upang mabasa ang data mula sa sensor ng DHT, gagamitin namin ang DHT.h
Library, na pinapasimple ang proseso. Nasa ibaba ang isang sample code snippet upang makapagsimula ka:
// Include the DHT library
#include <DHT.h>
// Define the sensor type and the pin it's connected to
#define DHTPIN 2
#define DHTTYPE DHT22 // Change to DHT11 if you're using that model
// Initialize the DHT sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Start serial communication
Serial.begin(9600);
// Initialize the DHT sensor
dht.begin();
}
void loop() {
// Wait a few seconds between measurements
delay(2000);
// Read humidity and temperature
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
// Check if any reads failed
if (isnan(humidity) || isnan(temperature)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// Print the results to the Serial Monitor
Serial.print("Humidity: ");
Serial.print(humidity);
Serial.print(" %\t");
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" *C");
}
Paliwanag ng code:
- Ang
DHT.h
Kasama ang library upang mapadali ang komunikasyon sa sensor. - Tinukoy namin ang data pin at uri ng sensor gamit
#define
. - Sa
setup()
Pag -andar, sinisimulan namin ang serial na komunikasyon at ang sensor ng DHT. - Ang
loop()
Nabasa ng function ang kahalumigmigan at temperatura tuwing dalawang segundo at nai -print ang mga ito sa serial monitor.
Pagpapakita ng data
Para sa isang mas madaling pag-setup ng user, maaari mong ipakita ang mga pagbabasa sa isang LCD. Baguhin ang code upang magpadala ng data sa LCD sa halip na serial monitor. Tiyakin na mayroon kang naaangkop na library ng LCD na naka -install at i -configure ang mga pin nang naaayon.
Halimbawang code para sa display ng LCD:
// Include necessary libraries
#include <DHT.h>
#include <LiquidCrystal.h>
// Define sensor and LCD pins
#define DHTPIN 2
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// Initialize the LCD (adjust pin numbers as needed)
LiquidCrystal lcd(12, 11, 5, 4, 3, 6);
void setup() {
// Start serial communication
Serial.begin(9600);
dht.begin();
// Initialize the LCD
lcd.begin(16, 2);
lcd.print("Temp & Humidity");
}
void loop() {
delay(2000);
float humidity = dht.readHumidity();
float temperature = dht.readTemperature();
if (isnan(humidity) || isnan(temperature)) {
lcd.clear();
lcd.print("Sensor Error");
return;
}
// Display on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("Humidity: ");
lcd.print(humidity);
lcd.print(" %");
}
Pagsubok sa iyong pag -setup
Matapos i -upload ang code sa iyong Arduino, buksan ang serial monitor (kung gumagamit ng serial output) o obserbahan ang display ng LCD. Dapat mong makita ang pagbabasa ng temperatura ng real-time at kahalumigmigan. Tiyakin na ang iyong mga koneksyon ay ligtas, at ang sensor ay gumagana nang tama. Kung nakatagpo ka ng mga isyu, i-double-check ang mga kable at i-verify na ang tamang uri ng sensor ay tinukoy sa iyong code.
Mga pagpapahusay at susunod na mga hakbang
Ngayon na mayroon kang isang pangunahing temperatura at monitor ng kahalumigmigan, isaalang -alang ang mga sumusunod na pagpapahusay:
- Pag -log ng Data: Ikonekta ang iyong Arduino sa isang module ng SD card upang mag -log data sa paglipas ng panahon para sa pagsusuri.
- Wireless monitoring: Gumamit ng mga module tulad ng ESP8266 o Bluetooth upang magpadala ng data sa iyong mga serbisyo sa smartphone o ulap.
- Mga alerto: Ipatupad ang mga alerto na batay sa threshold gamit ang mga LED o buzzer upang ipaalam sa iyo ang matinding mga kondisyon.
- Maramihang mga sensor: Palawakin ang iyong pag -setup upang isama ang mga karagdagang sensor para sa mga parameter tulad ng kalidad ng hangin o light intensity.
Konklusyon
Ang pagtatayo ng isang temperatura at kahalumigmigan monitor kasama ang DHT11/DHT22 at ang Arduino ay isang mahusay na proyekto para sa mga nagsisimula at mga mahilig magkamukha. Nagbibigay ito ng karanasan sa hands-on na may pagsasama ng sensor, pagproseso ng data, at mga diskarte sa pagpapakita. Kung para sa personal na paggamit o bilang isang pundasyon para sa mas kumplikadong mga sistema, ipinapakita ng proyektong ito ang kapangyarihan at kakayahang umangkop ng ecosystem ng Arduino. Maligayang gusali!