Herramientas de usuario

Herramientas del sitio


proyectos:monitorclima_temperatura

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
proyectos:monitorclima_temperatura [2019/03/14 15:46] manuel.floresvproyectos:monitorclima_temperatura [2020/02/14 21:27] (actual) – [Comparaciones] manuel.floresv
Línea 1: Línea 1:
 +====== Comparaciones ======
 +
 +^    ^ LM35  ^ DHT11 ^ DHT22 ^ DS18B20 ^  BME280 ^ BMP180/BMP185 ^ DPS310 ^ MCP9808 ^
 +^   Mide  | Temperatura | Temperatura y Humedad  | Temperatura y Humedad | Temperatura | Temperatura, Humedad y Presión Atmosférica | Temperatura, Humedad y Presión Atmosférica |Temperatura y Presión Atmosférica | Temperatura |
 +^  Protocolo |  Analógo  | One-wire    One-wire  | One-wire    I2C, SPI | I2C  | I2C, SPI | I2C |
 +^  Voltaje |  4 to 30 V DC |   3 to 5.5V DC |  3 to 6V DC | 3 to 5.5V DC  | 1.7 to 3.6V (para el chip) 3.3 a 5V para la tarjeta  | 1.7 to 3.6V (para el chip) 3.3 a 5V para la tarjeta  | 1.7V a 3.6V | 2.7V to 5.5V |
 +^  Rango Temp |  -55 to 150ºC |  0 to 50ºC | -40 to 80ºC  |  -55 to 125ºC | -40 to 85ºC  | 0 to 65ºC  |  -40.0 °C   85.0 °C  | -40°C to +125°C |
 +^ Precisión  | +/-0.5°C (a 25°C)| +/- 2°C (de 0 a 50°C) | +/- 0.5ºC (de -40 a 80°C)  | +/-0.5°C (de -10 a 85°C)  |  +/-0.5°C (a 25°C) | +/-0.5°C (a 25°C)  | ±0.5C° | 0.25°C de -40°C a 125°C  (0.5°C de -20°C a 100°C) |
 +^  Muestras |   | Cada 1/segundo| Cada 2/segundo  |        |
 +^  Precio | [[https://www.amazon.com/Bridgold-Analogue-Precision-Centigrade-Temperature/dp/B07Y7FCZYB/|$2.60]]/cu | [[https://www.amazon.com/HiLetgo-Temperature-Humidity-Digital-3-3V-5V/dp/B01DKC2GQ0|$2.10]]/cu  | [[https://www.amazon.com/HiLetgo-Temperature-Humidity-Electronic-Practice/dp/B0795F19W6|$5.50]]/cu  | [[https://www.amazon.com/HiLetgo-DS18B20-Temperature-Stainless-Waterproof/dp/B00M1PM55K/|$2.2]]/cu  | [[https://www.amazon.com/Onyehn-Temperature-Humidity-Barometric-Pressure/dp/B07KR24P6P/|$4.25]]/cu  |  [[https://www.amazon.com/JBtek-Barometric-Pressure-Temperature-Altitude/dp/B00UUS12PO|$5.99]]/cu |  [[https://www.adafruit.com/product/4494|$6.95]] /cu  | [[https://www.adafruit.com/product/1782|$4.95]] c/u |
 +^                |
 +
 +
 +====== Probados ======
  
 Los sensores de temperatura que se han utilizado son: Los sensores de temperatura que se han utilizado son:
  
   - DS18B20 Solo temperatura impermeable   - DS18B20 Solo temperatura impermeable
-  - DHT11 Para temperatura  humedad+  - DHT11 Para temperatura  humedad
 + 
 +  * Para ver la comparación entre un DHT11 y un DHT22 ver https://learn.adafruit.com/dht/overview 
  
 ====== Sensor DHT11 ====== ====== Sensor DHT11 ======
Línea 74: Línea 90:
 {{ :proyectos:arduino-ds18b20-esquema.png?200 |}} {{ :proyectos:arduino-ds18b20-esquema.png?200 |}}
 Diagrama de conexión, aca son dos sensores conectados Diagrama de conexión, aca son dos sensores conectados
-{{ :proyectos:arduino-and-dht11_bb1_3vsonloxcb.png?200 |}}+{{ :proyectos:ds18b20-vdd-arduino-uno-01.png?200 |}}
  
 <code c>  <code c> 
Línea 112: Línea 128:
 </code> </code>
  
-Reefrencias:+====== Prueba de sensores ====== 
 +Se realizó una prueba de sensores DHT11 (error de +-2C y RH ± 5%) y de los DS18B20 (error de +-0.5C) para elegir los sensores que mostraran mas uniormidad. De entre estos sensores se usaron dos compradores de los DHT11: 
 +  * [[https://www.amazon.com/gp/product/B01H3J3H82/| Gowoops]] 
 +  * [[https://www.amazon.com/gp/product/B07HX14M4K |NOYITO ]] 
 +<code c> 
 +#include <DallasTemperature.h> 
 +#include <OneWire.h> 
 +#include <Adafruit_Sensor.h> 
 +#include <DHT_U.h> 
 +#include <DHT.h> 
 + 
 +// Pin donde se conecta el bus 1-Wire 
 +const int pinDatosDQ = 2; 
 + 
 +// Definimos el pin digital donde se conecta el sensor 
 +#define DHTPIN1 13 
 +#define DHTPIN2 12 
 +#define DHTPIN3 11 
 +#define DHTPIN4 10 
 +#define DHTPIN5 9 
 +#define DHTPIN6 8 
 +#define DHTPIN7 7 
 +#define DHTPIN8 6 
 +#define DHTPIN9 5 
 + 
 +// Dependiendo del tipo de sensor 
 + 
 +#define DHTTYPE DHT11 
 +  
 +DHT dht1(DHTPIN1, DHTTYPE); 
 +DHT dht2(DHTPIN2, DHTTYPE); 
 +DHT dht3(DHTPIN3, DHTTYPE); 
 +DHT dht4(DHTPIN4, DHTTYPE); 
 +DHT dht5(DHTPIN5, DHTTYPE); 
 +DHT dht6(DHTPIN6, DHTTYPE); 
 +DHT dht7(DHTPIN7, DHTTYPE); 
 +DHT dht8(DHTPIN8, DHTTYPE); 
 +DHT dht9(DHTPIN9, DHTTYPE); 
 +  
 +// Instancia a las clases OneWire y DallasTemperature 
 +OneWire oneWireObjeto(pinDatosDQ); 
 +DallasTemperature sensorDS18B20(&oneWireObjeto); 
 +  
 +void setup() { 
 +      // Iniciamos la comunicación serie 
 +      Serial.begin(9600); 
 +      // Iniciamos el bus 1-Wire 
 +      sensorDS18B20.begin();  
 +     
 +      dht1.begin(); 
 +      dht2.begin(); 
 +      dht3.begin(); 
 +      dht4.begin(); 
 +      dht5.begin(); 
 +      dht6.begin(); 
 +      dht7.begin(); 
 +      dht8.begin(); 
 +      dht9.begin(); 
 +
 +  
 +void loop() { 
 +     delay(5000); 
 + 
 +    // Mandamos comandos para toma de temperatura a los sensores 
 +    Serial.println("Mandando comandos a los sensores"); 
 +    sensorDS18B20.requestTemperatures(); 
 +  
 + // Leemos y mostramos los datos de los sensores DS18B20 
 +    Serial.print("Temperatura DS18B20: "); 
 +    Serial.print(sensorDS18B20.getTempCByIndex(0));     Serial.print(" - "); 
 +    Serial.print(sensorDS18B20.getTempCByIndex(1));     Serial.print(" - "); 
 +    Serial.print(sensorDS18B20.getTempCByIndex(2));    Serial.print(" - "); 
 +    Serial.print(sensorDS18B20.getTempCByIndex(3));  
 +    Serial.println(" C"); 
 +     
 +    Serial.print("Temperaturas DH : "); 
 +    Serial.print(dht1.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht2.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht3.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht4.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht5.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht6.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht7.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht8.readTemperature());     Serial.print(" - "); 
 +    Serial.print(dht9.readTemperature()); 
 +    Serial.println("  ");     
 + 
 +    Serial.print("Humedad DH : "); 
 +    Serial.print(dht1.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht2.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht3.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht4.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht5.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht6.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht7.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht8.readHumidity());     Serial.print(" - "); 
 +    Serial.print(dht9.readHumidity());     Serial.println("  ");    
 +     
 +    delay(3000);  
 +
 +</code> 
 +Lecturas: 
 +<code> 
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 31.87 - 31.94 - 31.94 C 
 +Temperaturas DH : 33.50 - 33.60 - 33.10 - 32.50 - 32.30 - 32.00 - 32.10 - 32.40 - 34.10   
 +Humedad DH : 41.00 - 40.00 - 52.00 - 41.00 - 44.00 - 48.00 - 40.00 - 43.00 - 65.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 31.94 - 31.94 - 31.87 - 31.94 C 
 +Temperaturas DH : 33.40 - 33.50 - 33.00 - 32.60 - 32.30 - 31.90 - 32.10 - 32.40 - 34.20   
 +Humedad DH : 41.00 - 40.00 - 52.00 - 41.00 - 44.00 - 48.00 - 40.00 - 43.00 - 49.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 31.94 - 31.94 - 31.94 - 31.94 C 
 +Temperaturas DH : 33.40 - 33.60 - 33.10 - 32.60 - 32.20 - 32.00 - 32.10 - 32.40 - 34.20   
 +Humedad DH : 42.00 - 41.00 - 54.00 - 42.00 - 44.00 - 48.00 - 40.00 - 44.00 - 49.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 31.94 - 31.94 - 32.00 C 
 +Temperaturas DH : 33.40 - 33.60 - 33.10 - 32.50 - 32.30 - 32.00 - 32.10 - 32.40 - 34.20   
 +Humedad DH : 42.00 - 41.00 - 53.00 - 41.00 - 44.00 - 48.00 - 40.00 - 44.00 - 49.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 31.94 - 31.87 - 32.00 C 
 +Temperaturas DH : 33.50 - 33.60 - 33.10 - 32.50 - 32.30 - 32.00 - 32.10 - 32.40 - 34.20   
 +Humedad DH : 41.00 - 40.00 - 52.00 - 41.00 - 44.00 - 48.00 - 40.00 - 43.00 - 49.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 31.94 - 31.94 - 32.00 C 
 +Temperaturas DH : 33.40 - 33.60 - 33.10 - 32.50 - 32.30 - 32.00 - 32.10 - 32.40 - 34.20   
 +Humedad DH : 41.00 - 40.00 - 52.00 - 41.00 - 44.00 - 48.00 - 40.00 - 43.00 - 48.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 31.94 - 31.94 - 32.00 C 
 +Temperaturas DH : 33.50 - 33.60 - 33.10 - 32.50 - 32.30 - 32.00 - 32.20 - 32.40 - 34.20   
 +Humedad DH : 41.00 - 40.00 - 52.00 - 41.00 - 43.00 - 48.00 - 39.00 - 43.00 - 48.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 31.94 - 31.94 - 32.00 C 
 +Temperaturas DH : 33.50 - 33.60 - 33.10 - 32.50 - 32.30 - 32.00 - 32.20 - 32.40 - 34.20   
 +Humedad DH : 40.00 - 39.00 - 52.00 - 41.00 - 43.00 - 48.00 - 39.00 - 43.00 - 48.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.06 - 31.94 - 31.94 - 32.00 C 
 +Temperaturas DH : 33.50 - 33.70 - 33.10 - 32.60 - 32.30 - 32.00 - 32.20 - 32.40 - 34.30   
 +Humedad DH : 40.00 - 39.00 - 52.00 - 41.00 - 43.00 - 48.00 - 39.00 - 43.00 - 48.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.00 - 32.00 - 31.94 - 32.00 C 
 +Temperaturas DH : 33.60 - 33.70 - 33.20 - 32.60 - 32.30 - 32.10 - 32.20 - 32.50 - 34.30   
 +Humedad DH : 42.00 - 40.00 - 53.00 - 42.00 - 43.00 - 48.00 - 40.00 - 43.00 - 49.00   
 +Mandando comandos a los sensores 
 +Temperatura DS18B20: 32.06 - 32.00 - 32.00 - 32.06 C 
 +Temperaturas DH : 33.60 - 33.70 - 33.20 - 32.60 - 32.30 - 32.10 - 32.20 - 32.50 - 34.30   
 +Humedad DH : 42.00 - 40.00 - 52.00 - 41.00 - 44.00 - 48.00 - 40.00 - 44.00 - 49.00   
 +</code> 
 +Interpretacion: 
 +  - Sensores NOYITO: 4,5,6,7 
 +  - Sensores Gowoops: 1,2,3,8,9 
 +Resultados: 
 +Tomando como referencia los sensores DS18B20, los sensores que mas se acercan a esos valores son los sensores NOYITO 5,6,7 que nos dan valores mas cercanos. Por lo que esos sensores se usaran para las lecturas. 
 + 
 +Referencias:
   * https://www.luisllamas.es/temperatura-liquidos-arduino-ds18b20/   * https://www.luisllamas.es/temperatura-liquidos-arduino-ds18b20/
 +  * https://howtomechatronics.com/tutorials/arduino/dht11-dht22-sensors-temperature-and-humidity-tutorial-using-arduino/
   * https://programarfacil.com/blog/arduino-blog/sensor-dht11-temperatura-humedad-arduino/   * https://programarfacil.com/blog/arduino-blog/sensor-dht11-temperatura-humedad-arduino/
 +  * https://publiclab.org/notes/btbonval/07-14-2014/calibrating-dht11-sensors
   * https://programarfacil.com/blog/arduino-blog/ds18b20-sensor-temperatura-arduino/   * https://programarfacil.com/blog/arduino-blog/ds18b20-sensor-temperatura-arduino/
 +  * http://osoyoo.com/2017/07/dht11-temperature-humidity-sensor-module/
 +  * https://www.amazon.com/gp/product/B01H3J3H82
 +  * https://randomnerdtutorials.com/dht11-vs-dht22-vs-lm35-vs-ds18b20-vs-bme280-vs-bmp180/
 +  * https://www.infineon.com/cms/de/product/evaluation-boards/s2go-pressure-dps310/
 +  * https://github.com/Infineon/DPS310-Pressure-Sensor
 +  * https://github.com/Infineon/DPS310-Pressure-Sensor/wiki
proyectos/monitorclima_temperatura.1552578384.txt.gz · Última modificación: por manuel.floresv