Hola, bueno, esta es la primera vez que publico algo, asi que no se si este sea el subforo correcto; ahora mi pregunta...
Estoy haciendo un dimmer AC utilizando infrarojos; el receptor va a recibir 2 señales diferentes de 2 emisores diferentes, que, pasando del receptor, los va a convertir a votajes, entonces lo que necesito es que cada vez que se presione un boton y envie la señal y reciba dicho voltaje, baje o suba el ciclo de trabajo del pwm, tengo este programa pero solo funciona con potenciometro y nos prohibieron totalmente utilizar potenciometro
unsigned int kuro;
void main(){
ANSEL = 0xFF; //entrada analogica
PWM1_Init(1000); //inicia el modulo pwm a XHz
TRISA = 0x0F; //Puertos A entrada
PORTA = 0x00;
PORTC = 0x00;
TRISC = 0x00;
PWM1_Start(); //inicia PWM
while (1){
kuro = ADC_Read(1); //lee ADC y lo guard
PWM1_Set_Duty(kuro); //de 0 a 255, 0 es 0% , 127 es 50% y 255 es 100% del ciclo de trabajo.
}
delay_ms(200);
}
No estoy muy segura si esta bien que use el ADC, y no se como hacer para que cuando reciba un voltaje bajo (entre 0.3v y 2.3v), baje el ciclo de trabajo, y cuando reciba un voltaje alto (entre 2.7v y 4.8v) suba el ciclo de trabajo si me pudieran indicar mas o menos como hacerlo se los agradecere mucho
estoy utilizando un pic 16f887, un cristal de 4MHz y el programa lo estoy haciendo en mikroC pro for pic