Sensor de Humedad HIH-4030 + PIC 16F877A

Hola a todos.

Tengo un sensor de humedad HIH-4030 + PIC 16F877A, estoy programando en CCS pero e tenido errores ya que en el LCD se muestran valores que no corresponden con lo que muestra el datasheet. Aquí les muestro el código, estoy utilizando conversión de 8 bits.
Aqui les muestro la formula que creo es la que hay que utilizar ya que la vi en el datasheet
(Vout - 0.958)/ 0.0307)

Ademas les muestro el datasheet.

Código:
#include <HUMEDAD.h>
#include <LCD.c>

void main()
{
   lcd_init();
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL);
   //setup_pp(PMP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_OFF);
   setup_comparator(NC_NC_NC_NC);

   //TODO: User Code
   
    int8 humedad,medicion;
  
   printf(LCD_PUTC, "\f"); //borra lcd
   lcd_gotoxy(1,1);
   printf(LCD_PUTC, "humedad");
   delay_ms(2000);
  
   printf(LCD_PUTC, "\f");
   lcd_gotoxy(1,1);
   printf(LCD_PUTC, "RH:");
   delay_ms(2000);
 
     while (true){
  
      lcd_gotoxy(1,1);
      printf(LCD_PUTC, "");
     
      set_adc_channel (0);                // Elige canal a medir RA0
      delay_us (10);
      medicion=read_adc ();              // Hace conversión AD
                                  
      humedad=(((medicion - 0.958)/ 0.0307)/255);  // Operacion de conversion
 
      printf(lcd_putc,"%u",humedad);   // xxx.x °C
      delay_ms (1000);
      }
}
 

Adjuntos

  • HIH-4030-datasheet.pdf
    231.3 KB · Visitas: 23
Última edición por un moderador:
Atrás
Arriba