DHT11: sve o senzoru za mjerenje temperature i vlažnosti

DHT11

Mjerenje temperature i vlage je vrlo često u mnogim projektima elektroničkih proizvođača. U "uradi sam" uobičajeno je da se ovi parametri moraju mjeriti za kontrolu određenih sistema. Na primjer, da biste mogli stvoriti sistem za hlađenje, njegu biljaka ili klimatizaciju koji se pokreće ako temperatura ili vlaga dosegnu određenu vrijednost. Ali da bi to bilo moguće potreban vam je senzor poput DHT11.

Na tržištu postoji mnogo senzora vrlo različiti temperaturni rasponi, sa podržanim temperaturnim rasponima ili različitim preciznostima. Primjer za to je LM35, jedan od najpopularnijih i korištenih u elektronici. Postoje i drugi senzori vlažnosti koji djeluju promjenom vodljivosti, poput AD22103KTZ tvrtke Analog Devices. Ali ako želite izmjeriti oba parametra, možda je mnogo zanimljiviji uređaj o kojem danas raspravljamo u ovom članku ...

Šta je DHT11?

El DHT11 je jednostavan senzor koji mjeri temperaturu i vlažnost, sve u jednom. A) Da nećete morati kupiti dva senzora odvojeno. Cijena mu je oko 2 eura, pa je prilično jeftin, mada ga možete pronaći i montiran na modul (montiran na PCB radi lakše upotrebe) kao što je to uobičajeno u ovoj vrsti elektroničkih komponenata za Arduino. U slučaju ploče, on uključuje vučni otpor od 5 kilograma i LED koji nas upozorava na rad.

DHT11 ima visoka pouzdanost i stabilnost zahvaljujući kalibriranom digitalnom signalu. Također, ako pogledate njegovu tablicu podataka, vidjet ćete da ima zanimljive značajke, kao što ćete vidjeti u budućim odjeljcima.

Slični proizvodi

DHT22

Postoji proizvod sličan DHT11 koji bi vas mogao zanimati. TO JE DHT22. Također je integrirani senzor temperature i vlažnosti, ali u ovom je slučaju njegova cijena malo veća, oko 4 eura. Preciznost mjerenja temperature varira od 5%, kao i DHT11, ali za razliku od nje, mjeri izvan raspona vlage između 20 i 80%. Stoga bi vas DHT22 mogao zanimati za projekte u kojima trebate izmjeriti vlažnost od 0 do 100%.

La učestalost prikupljanja podataka također je dvostruko veći od DHT11, u DHT22 se uzimaju 2 uzorka u sekundi umjesto 1 uzorka u sekundi DHT11. Što se tiče temperature, ona može preciznije izmjeriti od -40ºC do + 125ºC, jer može mjeriti djeliće stupnjeva, posebno može cijeniti varijacije od plus / minus 0,5ºC.

Pinout, karakteristike i tablica podataka

Isključivanje DHT11

Možete pronaći prilično tehničkih informacija o DHT11 u vašim tablicama podataka. Svaki proizvođač ovog uređaja može dati neke vrijednosti koje se mogu razlikovati, pa uvijek preporučujem čitanje PDF-a određenog proizvođača uređaja koji ste kupili. Iako vam većina vrijednosti može izgledati isto, mogu postojati neke male razlike u odnosu na jednu. Njegove najvažnije tehničke karakteristike su:

  • 3,5v do 5v napajanje
  • Potrošnja struje od 2,5 mA
  • Digitalni izlazni signal
  • Raspon temperatura od 0ºC do 50ºC
  • Tačnost merenja temperature na 25 ° C od oko 2 ° C
  • Rezolucija za mjerenje temperature je 8-bitna, 1ºC
  • Vlažnost može iznositi od 20% RH do 90% RH
  • Tačno za vlažnost od 5% RH za temperature između 0-50ºC
  • Rezolucija je 1% relativne vlažnosti, a ne može poduzimati varijacije ispod toga
  • Mouser tablica podataka

Što se tiče podataka, emitira se u digitalnom obliku. Stoga nije potrebno prelaziti s analognog na digitalni kao kod ostalih senzora. To je zakompliciralo pisanje koda u Arduino IDE, ali u ovom slučaju nije potrebno i mnogo je lakše. Iako je sam senzor analogni, ali uključuje sustav za obavljanje konverzije i može se povezati izravno na digitalni ulaz Arduina.

Analogni signal, koji je varijacija napona, sa senzora pretvara se u digitalni format da bi se poslao na Arduino mikrokontroler. Prenosi se u 40-bitni okvir koji odgovaraju informacijama o vlažnosti i temperaturi koje bilježi DHT11. Prve dvije skupine od 8 bitova su za vlažnost, odnosno najznačajnijih 16 bitova ovog okvira. Zatim ostale 2 preostale 8-bitne grupe za temperaturu. Odnosno, ima dva bajta za vlažnost i dva bajta za temperaturu. Na primjer:

0011 0101 0000 0010 0001 1000 0000 0000 0011 1001 XNUMX

U ovom slučaju, 0011 0101 0000 0010 je vrijednost vlažnosti, a 0001 1000 0000 0000 je temperatura. Prvi dio je za cijeli broj, a drugi dio za decimalne znakove. Što se tiče 0011 1001, odnosno posljednji 8-bitni su paritet kako bi se izbjegle greške. Na taj način možete provjeriti je li sve ispravno tijekom prijenosa. Odgovara zbroju prethodnih bitova, stoga, ako je zbroj jednak paritetu, bit će točan. U primjeru koji sam naveo to ne bi bilo, jer kao što vidite ne odgovara ... To bi ukazivalo na neuspjeh.

Kad se ovo sazna, sljedeća stvar na tehničkom nivou DHT11 koju treba primijetiti su igle. The kontakti ili pinout ovog uređaja je jednostavan, jer ih ima samo 4. Jedan od pinova je za napajanje ili Vcc, drugi za I / O za prijenos podataka, NC pin koji se ne spaja i GND za uzemljenje.

Integracija s Arduinom

Povezivanje DHT11 s Arduinom

Jednom kada saznate pinout DHT11, a takođe ploča Arduino, veza je vrlo jednostavna. Imajte na umu da ako ste odabrali DHT11 modul integriran u PCB, pinovi će biti tri, jer se NC uklanja kako bi se stvari olakšale. Jedino što morate učiniti je spojiti uzemljeni klin na jedan od Arduino-ovih GND priključaka kako se prikazuje na dijagramu na prethodnoj slici.

S druge strane, napojni pin treba biti povezan 5v veza od Arduina, na ovaj način senzor će se u potpunosti napajati GND-om i Vcc-om, ali sada podaci nedostaju. Za prijenos podataka s DHT11 senzora na Arduino ploču možete koristiti bilo koji od digitalnih ulaza, poput 7 koji se pojavljuje na slici ... Sada imate sve spremno za upotrebu nakon što stvorite potreban kod u Arduino IDE ...

Ako je senzor u vašem projektu daleko, a vi ćete koristiti kabel duži od 20 metara, tada upotrijebite 5K otporni navoj, za veće kabele trebao bi biti proporcionalno veći. Imajte na umu da ako koristite napajanje od 3,5 v umjesto 5 v, kabel ne smije biti duži od 20 cm zbog pada napona.

Zapamtite da je ono što oni preporučuju vršite mjerenja svakih 5 sekundi, iako je frekvencija uzorkovanja na kojoj DHT11 može raditi veća, ali ako se radi češće, možda neće biti toliko precizna.

Kôd u Arduino IDE-u

Idite ravno do koda, recite to u Arduino IDE možete koristiti brojne postojeće biblioteke sa značajkama koje će vam olakšati život s DHT11. Na primjer, jedan od njih je onaj koji pruža Adafruit. Imajte na umu da imamo vodič za početnike koji započinje s Arduinom u PDF-u koji možete preuzmite besplatno odavde i može vam pomoći.

Nakon što instalirate odgovarajuću biblioteku, možete komentirati unesite kod za upravljanje DHT11 senzorom temperature i vlažnosti za vaš projekt s Arduinom. Na primjer:

#include "DHT.h"

const int DHTPin = 7;     
 
DHT dht(DHTPin, DHTTYPE);
 
void setup() {
   Serial.begin(9600);
   Serial.println("Midiendo...");
 
   dht.begin();
}
 
void loop() {
   delay(2000);
 
   float h = dht.readHumidity();
   float t = dht.readTemperature();
 
   if (isnan(h) || isnan(t)) {
      Serial.println("Fallo en la lectura del sensor DHT11");
      return;
   }
 
 
   Serial.print("Humedad relativa: ");
   Serial.print(h);
   Serial.print(" %\t");
   Serial.print("Temperatura: ");
   Serial.print(t);
   Serial.print(" ºC ");
}


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.