hola saludos, pues con un nuevo intento de expansion, jajjaa
os comento que intento hacer un dimmer, para ello uso el 648a a 4 mhz, y solamente puklsadores de prueba
hice la programacion de tal amnera de que aumente el retardo de disparo cada vez ques e presione un pulsador, jno he controlado los limites todavia porque solo loe staba probando, esto es lo que he escrito, resulta que sin pulsar nada se enciende completamente, pero a medida que se incrementa angulo de dsiparo pues parpadea, nose porque, creo que la logica es wena, alguan sugerencia?? gracias:
#include <16F648A.h>
#fuses XT,NOWDT,NOPUT,NOPROTECT,MCLR,NOLVP,NOCPD,NOBROWNOUT
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(a)
int count=1;
boolean a=0;
void main()
{
set_tris_a(255);
set_tris_b(0);
output_a(0);
output_b(0);
while(true)
{
if(input(PIN_A1)) // dimmer ++ mayor angulo de disparo
{
delay_ms(50); // antirrebotes
count++;
}
if(input(PIN_A2)) // dimmer-- menor angulo de disparo
{
delay_ms(50);
count--;
}
if(input(PIN_A4)) // entrada detector cero
{
delay_ms(count);
output_high(PIN_B1);
delay_ms(1);
output_low(PIN_B1);
}
if(!input(PIN_A4))
{
delay_ms(count);
output_high(PIN_B1);
delay_us(10);
output_low(PIN_B1);
}
}
}
weno es solo una prueba y parece que voy por buen camino, la frecuencia que recibo es 50Hz de mi AC, tons supuce que tengo 10ms para un semiciclo = 180º; por eso incremento count de uno en uno, uqe daran un total de 10 estados, weno pensaba que daria bien, pero parpadea al cambiar de estados, como le arreglo, ayuda porfavor; gracias
adios.
ahh se me olvidaba use un detector de cruce por cero qeu cambia de estado cuando detecta un cero, un transistor en corte y saturacion, aca el adjunto: