Bem , eu sei que aqui em sua maioria é focada mais no arduino , mas sei que podemos discutir sobre microcontroladores , eu estou com uma dúvida . Quero relacionar uma entrada analógica à um delay no programa em C utilizando o compilador CCS , Quero alguma sugestão , se for possível.
Tags:
Colega, nao entendi completamente sua pergunta, explique melhor. adiantando : uma entrada analogica deve adicionar um delay entre suas leituras.!
Quero associar o delay a uma variável . Variável essa que depende da leitura analógica.
Posta oque você já tem feito, ai podemos ajudar..
Aqui pessoal o meu código , baseia em um controle de velocidade para motor de passo unipolar através de um potenciômetro , estou montando um braço mecânico e preciso regular a velocidade da área da base do braço , esse é só um dos programas que virão , somente para voçês me ajudarem , o PIC é o 16F877A com cristal de 20 Mhz. Peço a ajuda para relacionar a analógica com o delay que é o tempo de variação dos pulsos do motor de passo .
int time ;
int aux ;
void main()
{
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_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_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
while(true){ // rotina
set_adc_channel (0);
aux = read_adc();
time = (aux* 0.0048875855327468) + 10 ;
output_b (0b0000001);
delay_ms(time);
output_b (0b0000010);
delay_ms(time);
output_b (0b0000100);
delay_ms(time);
output_b (0b0001000);
delay_ms(time);
}
}
troque
time = (aux* 0.0048875855327468) + 10 ;
por
time = (float) aux* 0.0049;
time += 10 ;
o delay_ms irá variar?
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por