INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
In hierdie tutoriaal probeer ons die DHT11 -sensor met behulp van Arduino.
DHT11 kan gebruik word om temperatuur en humiditeit te meet.
Vereiste komponente:
- Arduino Nano
- DHT11 Temperatuur- en humiditeitsensor
- USB Mini
- Springkabels
Vereiste biblioteek:
DHT -biblioteek
Stap 1: Koppel DHT11 aan op Arduino
Koppel DHT11 aan op Arduino met behulp van springkabels.
Sien die prentjie of volg die instruksies hieronder.
DHT11 na Arduino
+ => + 5V
uit => D12
- => GND
Koppel dan arduino aan op die rekenaar met 'n mini -USB
Stap 2: Voeg die DHT -biblioteek by
Biblioteek DHT kan hier afgelaai word:
DHT11 -biblioteek.
Sien die prent hierbo of volg die instruksies hieronder om 'n biblioteek by te voeg:
Maak Sketch ==> Sluit biblioteek in ==> voeg. Zip -biblioteek by
Soek die biblioteeklêer wat u afgelaai het.
As dit suksesvol is, maak Arduino toe en maak dit weer oop.
Stap 3: Kies Arduino Board
Gaan na gereedskap en pas die arduino -bord aan op die foto hierbo.
Bord "Arduino Nano"
Verwerker "ATmega328P (Ou Bootloader)"
Vir 'n meer volledige artikel, kan u lees oor "Hoe om Arduino Nano v.3 te gebruik" wat ek vroeër gemaak het.
Stap 4: Programmeer
Sluit hierdie kode in om die waarde van die DHT11 -sensor te lees
// DHT Temperatuur- en humiditeitsensor // Voorbeeld van Unified Sensor Library // Geskryf deur Tony DiCola vir Adafruit Industries // Vrygestel onder 'n MIT -lisensie.
// VEREIS die volgende Arduino -biblioteke:
// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib:
#insluit
#include #include
#define DHTPIN 2 // Digitale pen wat aan die DHT -sensor gekoppel is
// Feather HUZZAH ESP8266 let wel: gebruik penne 3, 4, 5, 12, 13 of 14 - // Speld 15 kan werk, maar DHT moet tydens die oplaai van die program ontkoppel word.
// Los die tipe sensor wat gebruik word op:
//#definieer DHTTYPE DHT11 // DHT 11#definieer DHTTYPE DHT22 // DHT 22 (AM2302) //#definieer DHTTYPE DHT21 // DHT 21 (AM2301)
// Sien die gids vir meer inligting oor sensorbedrading en gebruik:
//
DHT_Unified dht (DHTPIN, DHTTYPE);
uint32_t vertragingMS;
ongeldige opstelling () {
Serial.begin (9600); // Initialiseer toestel. dht.begin (); Serial.println (F ("DHTxx Unified Sensor Voorbeeld")); // Druk temperatuursensorbesonderhede af. sensor_t sensor; temperatuur (). getSensor (& sensor); Serial.println (F ("------------------------------------")); Serial.println (F ("Temperatuursensor")); Serial.print (F ("Sensortipe:")); Serial.println (sensor.name); Serial.print (F ("Driver Ver:")); Serial.println (sensor.versie); Serial.print (F ("Unieke ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("maksimum waarde:")); Reeks.afdruk (sensor.max_waarde); Serial.println (F ("° C")); Serial.print (F ("Min waarde:")); Reeks.afdruk (sensor.min_waarde); Serial.println (F ("° C")); Serial.print (F ("Resolusie:")); Serial.print (sensor.resolution); Serial.println (F ("° C")); Serial.println (F ("------------------------------------")); // Druk die besonderhede van die humiditeitssensor af. dht.vochtigheid (). getSensor (& sensor); Serial.println (F ("Humiditeitsensor")); Serial.print (F ("Sensortipe:")); Serial.println (sensor.name); Serial.print (F ("Driver Ver:")); Serial.println (sensor.versie); Serial.print (F ("Unieke ID:")); Serial.println (sensor.sensor_id); Serial.print (F ("maksimum waarde:")); Reeks.afdruk (sensor.max_waarde); Serial.println (F ("%")); Serial.print (F ("Min waarde:")); Reeks.afdruk (sensor.min_waarde); Serial.println (F ("%")); Serial.print (F ("Resolusie:")); Serial.print (sensor.resolution); Serial.println (F ("%")); Serial.println (F ("------------------------------------")); // Stel vertraging in tussen sensorlesings gebaseer op sensorbesonderhede. vertragingMS = sensor.min_vertraging / 1000; }
leemte -lus () {
// Vertraging tussen metings. vertraging (delayMS); // Kry temperatuurgebeurtenis en druk die waarde daarvan af. sensors_event_t gebeurtenis; dht.temperatuur (). getEvent (& event); if (isnan (gebeurtenis.temperatuur)) {Serial.println (F ("Fout tydens die lees van temperatuur!")); } anders {Serial.print (F ("Temperatuur:")); Reeksafdruk (gebeurtenis.temperatuur); Serial.println (F ("° C")); } // Kry 'n humiditeitsgebeurtenis en druk die waarde daarvan af. dht.humidity (). getEvent (& event); if (isnan (event.relative_humidity)) {Serial.println (F ("Fout tydens die lees van humiditeit!")); } anders {Serial.print (F ("Humidity:")); Serial.print (gebeurtenis.relatiewe_vochtigheid); Serial.println (F ("%")); }}
Of laai die lêer af onder die skets wat ek hieronder verskaf het.
Klik dan op oplaai en wag totdat dit klaar is.
Stap 5: Resultaat
Klik op Serial Monitor om die resultate van temperatuur- en humiditeitsmetings te sien. Die resultate sal daar vertoon word.
As dit suksesvol is, sal die resultate soos figuur 1 lyk
as die sensor nie geïnstalleer is nie, sal dit soos prent 2 lyk
dankie dat u gelees het, skryf dit in die kommentaarkolom as daar vrae is