Hola gente. El tema es el siguiente. Estoy haciendo un medidor de humedad relativa. con un sensor capacitivo HS1101, que en conjunto con un 555, me entregan una frecuencia que varia desde aprox 6033HZ para un 100% de humedad y 7300 para el 0%. Mi idea era, con la instruccion PULSIN obtener el ancho del pulso alto. Luego multiplicarlo x2 para obtener el periodo de la señal, luego elevarlo a la -1 y asi obtener la frec. Desarrollando el metodo de los minimos cuadrados hice que la recta de Hr en funcion de la frecuencia sea lineal.
El micro que uso es un 16f84.
Pero el programa no funciona y me parece que es por que no puedo trabajar con coma flotante. Me gustaria que le echen una mirada haber que les parece, y Gracias por adelantado!!!
'MEDIDOR DE HUMEDAD RELATIVA
' SENSOR --------------> HS 1101(CAPACITIVO)
entrada VAR PORTB.4 'Defino el port de entrada
ancho VAR WORD 'Defino la variable que me guarda el tiempo del ancho del pulso
humedad VAR WORD
frec VAR WORD
periodo VAR WORD
TRISB.4 = 1
Pause 200
LCDOut $fe,1, " Medidor de "
LCDOut $fe,$c0, "humedad relativa"
Pause 1000
medicion:
PulsIn entrada,1,ancho 'Mide el ancho del pulso alto y lo guarda en ancho
IF (ancho <> 0) Then
periodo= ancho * 2
frec= 1/periodo
Pause 10
humedad = 56509/100 - ((767/10000)* frec) 'Recta de Hr en funcion de la frecuencia
ancho=0
goto mostrar
EndIF
mostrar:
pause 200
LCDOut $fe,1, humedad,"%"
pause 1000
goto medicion
End
End
End
End