Ir para conteúdo
Fórum Script Brasil

Elécktra

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Sobre Elécktra

Elécktra's Achievements

0

Reputação

  1. Olá pessoal! Estou precisando de ajuda para programar teclas de incrementa e decrementa valor, isso pra mim aumentar e diminuir a temperatura da água através de um peltier. Será que alguém pode me ajudar colocar essas 2 teclas de + e - que preciso no meu projetinho..está vencendo meu prazo para entregar meu trabalho e eu nem sei por onde começar a colocar essas teclas no programa...Falou aguardo a ajuda de vocês! *BEBEDOURO* Código: #include <16F877A.h> //O PIC utilizado, obigatório! #device adc=10 //Habilitar ADC de 10 bits, obrigatório. Pode //ser utilizado de 8 bits também. #FUSES NOWDT //Sem Watch dog, evitando reset #FUSES XT //Crystal de oscilação igual a 4mhz #FUSES PUT //Tempo de início do PIC #FUSES NOPROTECT //Codigo sem proteção de leitura, software livre! #FUSES NODEBUG //No Debug mode for ICD #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O #FUSES NOCPD //No EE protection #use delay(clock=4000000) //Meu clock #include <LCD.C> //Rotina de LCD modo 4 vias. Obrigatório! void main() { int16 q; //Vaeriável inteira de 16 bits: 0 a 65535 float p, temp,temp2; //Variável com vírgula, para poder fazer cálculos. setup_adc_ports(AN0_AN1_VSS_VREF); //Configura canal 0 analógico setup_adc(ADC_CLOCK_INTERNAL); //De acordo com relógio interno. lcd_init(); //Inicia LCD, obrigatório! for (;;) //Para sempre. { /*=========================================================================== A resolução do conversor AD segue a seguinte equação: 1LSB=(Vref-)+{[(Vref+)-(Vref-)]/1024} E nesse caso (Vref+)=Vdd e (Vref-)=Vss então a resolução é: 1LSB=5/1024=4,8mV Por exemplo, se a leitura no canal analógico for de 512, a tensão analógica será: Vin=512*(5/1024)=512*4,8mV=2,4576V ===========================================================================*/ set_adc_channel(0); //Habilita canal 0 delay_us(20); //Espera um pouco, obrigatório! q = read_adc(); //Lê canal 0 p = 5.0 * q / 1024.0; //Conversão para tensão. temp=(p*100)/3.413; //Temperatura convertida de acordo com o //amplificador utilizado. set_adc_channel(1); delay_us(20); q = read_adc(); //Lê canal 0 p = 5.0 * q / 1024.0; //Conversão para tensão. temp2=(p*100)/3.413; //Temperatura convertida de acordo com o //amplificador utilizado. if(temp2>=19) output_bit(PIN_B0,1); else output_bit(PIN_B0,0); printf(lcd_putc, " Bebedouro P&D"); printf(lcd_putc, " \n TEMP AGUA=%01.1fC ", temp );//Mostre a temperatura delay_ms(50); } }
×
×
  • Criar Novo...