Sensores SHT15 y DHT11

hola buenas tardes, voya hacer un proyecto de temperatura con el sensor dht11, soy nuevo en esto y he leido un poco, y entiendo que el ra4/t0ck del pin 3, me sirve como contador, bueno entonces quiero usar ese pin como entrada, entonces lo configure en el option reg, bueno el dedatelle es que el sensor es digital y me manda 40 bits, de los cuales los primeros 16 son de temperatura, los cuales 8 son de enteros y 8 son de unidades, y los siguientes 16 bits son de humedad 8 de enteros y 8 de unidades, y los ultimos 8 son la suma de los datos de temperatura mas datos de humedad relativa, esto si los datos son correctos, ahora loq ue yo quiero haces es un programa en ensamblador donde tome la señal del sensor y mandarlas a un lcd de 16x2, que en una fila me muestre la temperatura y en otra la de humedad, pero pues no se como agarrar el dato del sensor y guardarlo para que luego las mande al lcd, espero que me ayan entendido, ayudenme por favor, gracias!![/RIGHT][/RIGHT]


saludos!!
 
Hola Buenas Tardes.

Chicos quería, si fueran tan amables DESASNARME un poco.

He leido y bajado información sobre estos dos sensores. Por lo visto solo ofrecen el DHT11.

Serían tan amables de decirme ¿quien es el representante comercial... si lo hay en Argentina del SHT15 Sansirion?.

Por último ¿Alguien tiene la librería para el DHT11 funcional en Proteus? o de que sitio sacarla... Desde hace dos días que la estoy buscando en las paginas de china y EEUU pero no he tenido suerte.

Mi gran problema es que cuento con información sobre SHT15, pero no encuentro quien lo venda.
Para el caso del DHT11 tengo quien lo venda pero carezco de la libreria para hacer las pruebas en Proteus.

Muchas Gracias.:apreton:
 
Serían tan amables de decirme ¿quien es el representante comercial... si lo hay en Argentina del SHT15 Sansirion?.

Los vende Cika y creo que también electrocomponentes.

Por último ¿Alguien tiene la librería para el DHT11 funcional en Proteus? o de que sitio sacarla... Desde hace dos días que la estoy buscando en las paginas de china y EEUU pero no he tenido suerte.

No estás siendo específico. Necesitas el modelo simulable, el código para comunicarte a través de un microcontrolador ?

Te recomiendo no uses proteus...probalo en la realidad al sensor. Es la única manera en que te vas a dar cuenta de sus capacidades reales.

Para el caso del DHT11 tengo quien lo venda pero carezco de la libreria para hacer las pruebas en Proteus.

Yo tengo experiencia con el DHT11, te digo en realidad no le llega ni a los talones al SHT15..11. No se que necesitas medir...pero si querés precisión tenés que comprar el SHT11 que si no me equivoco lo vende Cika.
 
hola yo al igual estoy realizando un proyecto muy y necesito de apoyo para poder tomar los datos y almacenarlos. yo utilizo el pic 16f877A y si tengo entendido que todos los datos son por tiempos pero solo necesito ayuda con el programa. De antemano gracias hasta luego
 
Los vende Cika y creo que también electrocomponentes.

No estás siendo específico. Necesitas el modelo simulable, el código para comunicarte a través de un microcontrolador ?

:no: hay un emiticon para darte 1000 gracias por tu respuesta. La estaba necesitando y mucho. (y)

Vos sabés que escribí a Sensirion EEUU y no tenía respuesta ni siquiera de ellos. Probaré el Lunes sin falta con Cika y Electrocomponentes.

Siendo más específico. lo que buscaba es el modelo simulable. en Proteus del DHT11. Intenté crearlo, pero no tengo tanta experiencia aún para lograrlo con exito.

Pero ahora que vos me decís que el SHTxxx esta en el mercado seguiré con ese. Que a mi también me dejo la sensación que es lo que necesito.

Con respecto al uso que quiero darle es:

Crear una "cadena en serie" de sensores; meterlos en un Silo de Granos y controlar la Temperatura y Humedad del mismo. :oops: Bueno eso es lo que desearía hacer.:LOL:

Muchas Gracias Moyano.
 
Crear una "cadena en serie" de sensores; meterlos en un Silo de Granos y controlar la Temperatura y Humedad del mismo. Bueno eso es lo que desearía hacer

Para eso necesitas presición...por justamente estás trabajando con alimentos y es importante controlar bien los parámetros de temperatura y precisión. Yo estudio Biomecatrónica y en uno de los proyectos fue el control de un depósito de frutas...donde se conjuga el trabajo con sensores de temperatura y humedad..sensores de gases...etc. El que respondió exactamente con lo pedido fue el SHT11 de Sensirion.
 
Tal cual.

Accedí a los Sitios que me has dicho (y que no conocía) y finalmente encontré el SHTxx.

Te gradezco mucho tu intervención, sugerencias, comentarios y ayuda.

Te envio un :apreton:
 
muchas gracias, pero ando trabajando en ensamblador, o alguien me puede decir como hacer una division en ensamblador, para pic, loq ue pasa que quiero dividir un numero para mandarlo al display, un ejemplo seria si tengo 34, primero hay que mandar 3 y luego el 4, se que es con una resta y un incremento pero no mesale, alguien puede ayudarme?
 
Yo tengo experiencia con el DHT11, te digo en realidad no le llega ni a los talones al SHT15..11. No se que necesitas medir...pero si querés precisión tenés que comprar el SHT11 que si no me equivoco lo vende Cika.

Hola. Como va todo?
Una pregunta: ¿para el DHT11 que otros valores de resistores de pull-up puedo usar aparte del de 5K? Por que 5K no es un valor comercial para resistores al 5% de tolerancia.
Saludos.
 
Última edición por un moderador:
Hola, esto leyendo todo los que están comentando sobre los sensores y yo ha comprado 5 DHT11 para programar con picaxe18M2 y el problema que tengo es que no tengo la librería necesaria para comunicarlo.
Quiero emplearlos en aplicaciones sencillas relacionadas con proyectos educativos. Soy profesor y mis alumnos están muy interesados en aprender sobre estos temas.
Saludos
 
hola, estoy tratando de ver como puedo utilizar el sth, con un pic 16f877a, utilizando flow code, la consulta es, la señal que entrega el sth es digital o analoga???

como podria hacerlo, la idea es mostrar la temp y humedad en un lcd

gracias

juan carlos
 
Hola buenas a todos. Estoy haciendo uso del dht11 con un 16f877a, usando mikroc, realmente me ha costado hacer uso del sensor, porque he encontrado códigos para establecer comunicación pero no me funciona. No tengo simulación porque no existe tal sensor en Proteus. Así que todo ha sido a prueba real. Espero puedan ayudarme.

El código está en MikroC
 

Adjuntos

  • sht71.txt
    2 KB · Visitas: 173
Hola. Buenos días, amigos.
Hace ya tiempo que no escribo, y después de estar realizando diversos proyectos, me embarqué en la aventura de comunicar un PIC cualquiera con el sensor de temperatura DHT11.
Ya que sólo hay ejemplos para Arduino y tal vez a alguien como yo le gustaría poder probarlo en los PIC de Microchip sin necesidad de arduino.

Voy a adjuntar una librería hecha por mi, por lo tanto es casera y se puede modificar a gusto y necesidad de cada uno, y si alguien puede aportar mejoras, un tanto mejor.

Librería:
PHP:
//----------------------------------------------------------//


#define dht11 PIN_B0
#bit dht_io = 0x86.0 // este es el bit 0 del tris b para ponerlo como entrada o salida
#byte puerto_b = 0x06

byte dht_dat[5]; // Creo un array de tipo byte de 5 ya que asi en el programa principal podemos mostrar cada dato
//individualmente sin necesidad de punteros
//los datos obtenidos son en este orden: 
//dato 0= parte entera de la humedad
//dato1= parte decimal de la humedad
//dato2= parte entera de la temeperatura
//dato3= parte decimal de la temperatura
//dato4= dato de comprobacion para saber si la captura es correcta

//#use rs232(baud=9600,xmit=PIN_B7,rcv=PIN_B6,bits=8,parity=N,FORCE_SW) // conexion rs232 por si acaso alguien la necesita


void iniciar_dht();//para iniciar el sensor
void leer_dht();//para comenzar la captura de datos el sensor
byte leer_dht_dat();//funcion de captura de datos del sensor
void mostrar_dht();// mostrar datos

//--------------------------------funcion inicializar
void iniciar()
{

dht_io=0;
delay_ms(1);
OUTPUT_HIGH(dht11);

}//-------------------

//----------------------funcion de leer el dht-------------
void leer_dht()
{
//------- variables
byte GlobalErr=0;
byte dht_in;
byte i;

byte dht_check_sum;




//-----------------
dht_io=0; // configurar el pin como salida
OUTPUT_HIGH(dht11);
OUTPUT_LOW(dht11);
delay_ms(18);// retardo indicado por el fabricante
OUTPUT_HIGH(dht11);
delay_us(22);// entre 22 y 28 us 
dht_io=1;// configurar el pin como entrada
delay_us(5);// retardo indicado por el fabricante esta entre los 22 y 28 us
dht_in=input(dht11);
if(dht_in)
 {
  GlobalErr=1;
  printf("<dht11 start condition 1 not met");
  return;
 }
 delay_us(80);
 dht_in=input(dht11);
 if(!dht_in) 
 {
  GlobalErr=2;
  printf("<dht11 start condition 2 not met");
  return;
 }
  delay_us(80);
  for (i=0; i<5; i++)
  {
    dht_dat = leer_dht_dat(); // capturando datos
  }
  
  dht_io=0;// configura el puerto como salida

OUTPUT_HIGH(dht11);

dht_check_sum = dht_dat[0]+dht_dat[1]+dht_dat[2]+dht_dat[3]; // comprobacion si la lectura es correcta
if(dht_dat[4]!=dht_check_sum)
{
 GlobalErr=3;
 printf("DHT11 checksum error");
 
}
dht_dat[0]=dht_dat[0]+5;
dht_dat[2]=dht_dat[2]+2;
// por ajustar segun caracteristicas +- 5%
//printf("Current humdity = ");
 //printf("%d",dht_dat[0]+5);
  //printf(".");
  //printf("%d",dht_dat[1]+50);
  //printf(" RH  ");
 //printf("temperature = ");
  //printf("%d",dht_dat[2]+2); // por ajustar segun caracteristicas +- 2ºC
  //printf(".");
  //printf("%d",dht_dat[3]+50);
  //
  //printf("C \n ");
 // delay_ms(2000);



}// fin de funcion leer dht

//------------------------funcion recoger bits del dht
byte leer_dht_dat()
{
byte i = 0;
 byte result=0;
 for (i=0; i< 8; i++) {
  //We enter this during the first start bit (low for 50uS) of the byte
  //Next: wait until pin goes high
  while(input(dht11)==0);
  delay_us(30);
  if (input(dht11)==1)//Was: if(PINC & _BV(dht_PIN))
  {
  result |=(1<<(7-i));
  }
  while (input(dht11)==1);
  //Was: while((PINC & _BV(dht_PIN)));
 }
 //end of "for.."
 return result;
}

//---------------------------------------------------------
A continuación voy a poner un ejemplo hecho con el PIC16F84A pero puede utilizarse para cualquier PIC

Ejemplo:
PHP:
//--------------------------------------------------------------------------------

#include <16F84A.h>
#include <dht11.h>  //esta es la libreria creada por mi
#FUSES NOWDT                    //desactiva el wath dog
#FUSES XT                       //Crystal  <= 4mhz
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading

#use delay(clock=4000000)
#use rs232(baud=9600,xmit=PIN_B5,rcv=PIN_B4,BITS=8,PARITY=N)

void main()
{

   //setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

   // TODO: USER CODE!!

delay_ms(5000);
printf("iniciando..\n");
   do
{




delay_ms(10);
 iniciar();
leer_dht();

printf("Humedad = ");
 printf("%d",dht_dat[0]);
 delay_ms(20);
 printf(",");
  printf("%d ",dht_dat[1]);
  delay_ms(20);
 printf("Temperatura = ");
 printf("%d ",dht_dat[2]);
 delay_ms(20);
  printf(",");
  printf("%d ",dht_dat[3]);
  delay_ms(20);
printf("\n...terminado..\n");

  delay_ms(2000);

}while(true);


}

//-------------------------------------------------------
Hasta aquí mi aporte. Espero que les sirva de ayuda a los demás.
 
Última edición por un moderador:
Hola buenos dias :) esta es mi primera vez en este foto, necesito ayuda con un proyecto que estoy haciendo ya que no estoy muy acostumbrado a programar en mikro c por lo que me disculpo si no llego a entender algunos concepto que lleguen a mencionar.
El proyecto que estoy haciendo es para un invernadero hidroponico, con el pic 18f4550(que es el que estoy usando) mide la cantidad de agua con un sensor de caudal yf-s201 y nos muestra sus lecturas en una LCD, el problema que tengo es que ahora quiero añadir un sensor de temperatura DHT11 para medir la temperatura y humedad que haya dentro del invernadero y que a ciertas temperaturas (0°, 15° y 25° C°) activen unos reveladores que a su ves encenderán unos ventiladores y un foco para regular al temperatura. El código para lo del caudal y temperatura ya mas o menos me lo pasaron unos compañeros pero no se si lo tengo bien, abajos les dejo el codigo que tengo en un bloc de notas.
Espero sus respuestas y agradesco la ayuda que me puedan proporcionar :D.
 

Adjuntos

  • Caudal y temperatura.txt
    8.5 KB · Visitas: 33
Atrás
Arriba