como hago para led intermitente con infrarrojo (solucionado)

Deberías usar una variable que indique si las direccionales están o no activadas. En otro punto, comprueba dicha variable. Si está activada, miras los millis y controlas si "es hora de encender o apagar". Este código no está probado, pero debería servirte de guía.

#include <IRremote.h>

const int receptor = 2;       // sensor infrarrojo
const int faro = 13, freno = 12, direccionales = 11, direccionales2 = 10; // led de luz blanco,roja y naranja.
bool direccionalesOn=false, direccionalesEncendidos=false;

IRrecv irrecv(receptor);
decode_results codigo;
unsigned long millisAnterior = 0, ciclo = 500;

void setup() {

  Serial.begin(9600);     
  irrecv.enableIRIn(); 
 
  for (int i = 10; i <= 13; i++)
  {
    pinMode(i, OUTPUT);   // declaramos el pin i como salida
  }
}

void loop() 
{
  if (irrecv.decode(&codigo)) //Si hay una lectura recibida
  {
    Serial.print("0x");
    Serial.println(codigo.value, HEX);
    switch (codigo.value)
    {
      case 0xF7E01F:        //Corresponde al boton W
        digitalWrite(faro, !digitalRead(faro));
      break;
      case 0xF720DF:     // corresponde al boton R
        digitalWrite(freno, !digitalRead(freno));
      break;
      case 0xF710EF:            //Corresponde al boton 1 para actvar el led   
        direccionalesOn=!direccionalesOn;
      break;
    }
    delay(200);
    irrecv.resume();
  }
  
  // aquí hacemos el ciclo de intermitencia con millis, si direccionalesOn es true
  if (direccionalesOn) { // si están activados los direccionales, parpadeamos con millis
    if(millis()-millisAnterior >= ciclo) {
      direccionalesEncendidos = !direccionalesEncendidos;
      digitalWrite(direccionales, direccionalesEncendidos);
      digitalWrite(direccionales2, direccionalesEncendidos);
    }
  }
  else { // si no estánn activados los direccionales y las luces direccionales están encendidas, las apagamos.
    if (direccionalesEncendidos) {
      direccionalesEncendidos = !direccionalesEncendidos;
      digitalWrite(direccionales, direccionalesEncendidos);
      digitalWrite(direccionales2, direccionalesEncendidos);
    }
  }
}