bueno ya e empecado con el maldito codigo e un poco mas e me quedo sin pelos en la cabeca de tanto pensar
yo creo que se podria acer assi pero lo e testeado con el proteus e nada de nada
#include <16F877.h>
#device *=16
#device ICD=TRUE
#device adc=10
#use delay(clock=20000000)
#fuses NOWDT,HS, PUT, NOPROTECT, BROWNOUT, NOLVP
#define VENTILADOR PIN_B0
#define LUZ PIN_B1
#define TEMP_alta PIN_B2
#define NORMAL PIN_B3
#define TEMP_baixa PIN_B4
void main()
{
int choice=1; int flag=0;
int8 sense;
float voltage= 0;
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_DIV_32);
while (flag == 0)
{
set_adc_channel(0);
delay_us(10);
sense=read_adc();
if(sense >=110)//esto seria 25 grados el valor tendria que ser ajustado para conseguir los 25grados
{
output_high ( ventilador );
output_high ( temp_alta );
output_low ( luz );
output_low ( normal );
output_low ( temp_baixa );
delay_ms(20);
if(sense <=110)
{
output_high ( luz );
output_high ( temp_baixa );
output_low ( ventilador );
output_low ( normal );
output_low ( temp_alta );
delay_ms(20);
if(sense ==110)
{
output_low ( luz );
output_low ( temp_baixa );
output_low ( ventilador );
output_high ( normal );
output_low ( temp_alta );
delay_ms(20);
}
}
}
}
}
aver por lo que e leido el lm 35 saca 1mv por grado siendo assi 25grados equivaldria a 25mv estoi correcto no pues vueno si metemos 25mv en el pin A0 del pic e activamos el adc este detectaria los 25mv que desactivaria la lampara e el ventilador encendiendo solamente el led verde si la temperatura cae a ex. 23mv el pic activaria la lampara e encenderia el led azul indicando que esta abajo de la tenperatura optima el mismo passaria si la temperatura passase de 25mv para unos 27mv en este caso se activaria el ventilador e el led roxo que indicaria que la tenperatura esta demasiado alta
creo que se prodria usar entre el lm35 e la entrada del pic un 741 para poder amplificar un poco la senhal e aciendo que a 25mv correspondiera por ex. 2,5v creo que seria mas facil para el pic e el codigo trabajar con valores mas altos ya que se podria poner 2,5v = a 25grados e por ex. 2v seria igual a 20 grados
bueno aver que se puede acer de momento aver si alguien me puede ayudar con el codigo que me e atascado