Dimmer com IR Remote

Boa noite amigos.

Estou tentando fazer um dimmer para controle de um ventilador e estou tendo alguns problemas.
Como a interrupção do ponto 0 para controle de corrente AC utiliza interrupção e a biblioteca do IR Remote também utiliza as interrupções, estou com problema para fazer os dois funcionarem em conjunto.

Se desativo um ou outro os dois funcionam perfeitamente em separado, mas quando ligo tudo junto o sensor IR não recebe os sinais do controle.

Alguém tem alguma dica de como poderia fazer funcionar os dois juntos?
Obrigado.

Amigos, consegui resolver o problema que eu queria.
Agora estou com outro problema, estou tentando passar código para o attiny85, mas devido os timers e interrupções serem diferentes e estar rodando em 8Mhz tive que fazer algumas modificações no sketch.

Como ainda não entendo muito bem a fundo a questão de timers poderiam me ajudar com o código abaixo e me auxiliar no que pode estar errado?
A Luz esta ficando acessa continuamente, sem fazer o dimmer,

// AC Control V1.1

#include <avr/io.h>
#include <avr/interrupt.h>

#define DETECT 0  //zero cross detect
#define GATE 2    //triac gate
#define PULSE 4   //trigger pulse width (counts)
int i=483;

void setup(){

  // set up pins
  pinMode(DETECT, INPUT);     //zero cross detect
  digitalWrite(DETECT, HIGH); //enable pull-up resistor
  pinMode(GATE, OUTPUT);      //triac gate control

  // set up Timer0
  OCR0A = 100;      //initialize the comparator
  TIMSK = 0x03;    //enable comparator A and overflow interrupts
  TCCR0A = 0x00;    //timer control registers set for
  TCCR0B = 0x00;    //normal operation, timer disabled


  // set up zero crossing interrupt
  attachInterrupt(5,zeroCrossingInterrupt, RISING);    
    //IRQ0 is pin 5. Call zeroCrossingInterrupt 
    //on rising signal

}  

//Interrupt Service Routines

void zeroCrossingInterrupt(){ //zero cross detect   
  TCCR0B=0x04; //start timer with divide by 256 input
  TCNT0 = 0;   //reset timer - count from zero
}

ISR(TIMER0_COMPA_vect){ //comparator match
  digitalWrite(GATE,HIGH);  //set triac gate to high
  TCNT0 = 65536-PULSE;      //trigger pulse width
}

ISR(TIMER0_OVF_vect){ //timer0 overflow
  digitalWrite(GATE,LOW); //turn off triac gate
  TCCR0B = 0x00;          //disable timer stopd unintended triggers
}

void loop(){ // sample code to exercise the circuit

i--;
OCR0A = i;     //set the compare register brightness desired.
if (i<65){i=483;}                      
delay(15);                             

}

Algo obvio... alteraste as temporizacoes por causa do relogio de 8MHz??