vffgaston:
Hola,Por favor, manda el código.
Saludos
Aquí te dejo el código:
int AC_LOAD = 8;
unsigned long apagar;
int dimming;
unsigned long encender;
void setup()
{
pinMode(AC_LOAD, OUTPUT);
attachInterrupt(0, zero_crosss_int, RISING);
}
void zero_crosss_int()
{
digitalWrite(AC_LOAD, LOW);
encender = millis(); // Encender es el momento que la onda senoidal pasa por cero
}
void loop() {
dimming=200; //(desde 0 a 255)
int dimtime = (0.035*dimming); //1000us - 10us /255 = 35us
do
{
if(millis() - encender >= dimtime) // tiempo de espera para activar la puerta del triac
{
digitalWrite(AC_LOAD, HIGH);
if(millis() - encender > 1+dimtime) //1 milisegundo de duracion de pulso para desactivar la puerta
{
digitalWrite(AC_LOAD, LOW);
}
}
} while(millis()-encender < 10); //lo que dura un semiperiodo 25Hz
}
Un saludo