Interfície del sensor d’humitat de temperatura DHTxx amb Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest article anem a fer un cop d'ull als sensors de la sèrie DHTxx, que s'utilitzen per mesurar la temperatura i la humitat, ambdues funcionalitats estan integrades en un mòdul.

Veurem les seves especificacions, de manera que pugueu triar el millor sensor per al vostre projecte i, finalment, l’interfacem amb arduino i llegim els valors del monitor serial del programari IDE arduino.



DHTxx consta de només dues sèries DHT11 i DHT22. La principal diferència entre ells és la seva especificació i el seu cost. DHT11 és un sensor de gamma baixa i DHT22 és un de gamma alta. El DHT22 és més car que el DHT11, però la gamma baixa és prou decent per al projecte hobby tret que feu una mesura seriosa amb el vostre projecte.

DHTxx és un dispositiu de 4 pins, un d’ells és NC o no té connexió, de manera que farem servir només 3 pins. Dos d'ells són pins d'alimentació i un restant és pin de sortida. El sensor pot semblar senzill, però requereix una biblioteca per manipular-lo.



El sensor està format per un termistor, un dispositiu de detecció d’humitat i un microcontrolador incrustat en un mòdul. Les seves especificacions són les següents:

DHT11:
• El rang de tensió de funcionament és de 3 a 5V.
• El seu consum màxim de corrent és de 2,5 mA.
• Pot mesurar la humitat del 20% al 80% - / + 5% de precisió.
• Pot mesurar una temperatura que oscil·la entre 0 i 50 graus centígrads +/- 2% de precisió.
• Actualitza el valor cada segon.
• La seva mida és de 15,5 mm x 12 mm x 5,5 mm

DHT22:
• La tensió de funcionament és de 3 a 5V
• El seu consum màxim de corrent és de 2,5 mA.
• Pot mesurar la humitat que oscil·la entre el 0% i el 100% del 2-5% de precisió.
• Pot mesurar la temperatura que oscil·la entre -40 i +125 graus centígrads +/- 0,5% de precisió.
• Actualitza el seu valor dues vegades cada segon.
• La seva mida és de 15,1 mm x 25 mm x 7,7 mm
Entre les especificacions brutes anteriors podeu triar quina és òptima per al vostre projecte.

Sensor d’humitat de temperatura DHT11

El pin de dades sempre s’ha de connectar amb una resistència de tracció de 4,7K a 10K. El sensor il·lustrat anteriorment venia amb PCB amb pin NC eliminat i amb resistència de tracció. Però alguns sensors vénen sense aquestes funcions, sense la resistència de tracció que les lectures envien a arduino seran fatalment valors d'error.

Ara farem una interfície del sensor DHT amb arduino. Abans de continuar el projecte, descarregueu el fitxer de la biblioteca al següent enllaç:

https://arduino-info.wikispaces.com/file/detail/DHT-lib.zip

Només necessiteu aquests quatre components: sensor DHTxx, arduino Uno, cable USB i un PC.

Simplement introduïu el sensor als pins analògics de l’arduino tal com s’il·lustra al prototip i bolqueu el codi a arduino, obriu el monitor sèrie i podreu veure les lectures.
Prototip de l'autor:

Interfície del sensor d’humitat de temperatura DHTxx amb Arduino//----------------------Program developed by R.Girish-------------// #include dht DHT #define DHTxxPIN A1 int p = A0 int n = A2 int ack int f void setup(){ Serial.begin(9600) pinMode(p,OUTPUT) pinMode(n,OUTPUT) } void loop() { digitalWrite(p,1) digitalWrite(n,0) ack=0 int chk = DHT.read11(DHTxxPIN) switch (chk) { case DHTLIB_ERROR_CONNECT: ack=1 break } if(ack==0) { f=DHT.temperature*1.8+32 Serial.print('Temperature(°C) = ') Serial.println(DHT.temperature) Serial.print('Temperature(°F) = ') Serial.print(f) Serial.print(' ') Serial.print('Humidity(%) = ') Serial.println(DHT.humidity) Serial.print(' ') delay(500) } if(ack==1) { Serial.print('NO DATA') Serial.print(' ') delay(500) } } //----------------------Program developed by R.Girish-------------//

Sortida del monitor sèrie:




Anterior: Feu aquest circuit d’aixeta lliure de tacte per al control de mans lliures Següent: Feu aquest circuit digital de mesurador de temperatura i humitat amb Arduino