Uso de las interrupciones con un CNY70

Mi situación es la siguiente, quiero usar dos CNY70 para el conteo de pacientes dentro de un hospital. Según el orden de activación quiero que sume o reste pacientes y no sé qué hacer.
Anexo el código que he estado probando.
int ct=0, CxI=2, CxO=3;
int IN=0, OUT=0;

void setup(){
Serial.begin(9600);
pinMode(CxI,INPUT),pinMode(CxO,INPUT);
attachInterrupt(RISE,CxI,FALLING);
attachInterrupt(DECREASE,CxO,FALLING);
}

void loop(){
IN=!digitalRead(CxI);
OUT=!digitalRead(CxO);
}
void RISE() {
if(IN==0){
for(int i=0;i>=5000;i++){
if(OUT==0) {
ct++;
Serial.println(ct);
}
}
}
}
void DECREASE() {
if(OUT==0){
for(int j=0;j>=5000;j++){
if(IN==0) {
ct--;
Serial.println(ct);
}
}
}
}

cny_digital.ino (607 Bytes)

El uso de las interrupciones esta mal.

Busca en Google: Arduino interrupt y verás como se deben usar.

attachInterrupt(RISE,CxI,FALLING);

debe ser

attachInterrupt(CxI, RISE,FALLING);

además ten presente que las mayúsculas se usan para indicar constantes y jamás para indicar funciones.

este

void RISE()

podria ser

void Rise() o void rise()

Ademas segun lo que explicas siempre se accionaran ambas interrupciones asi que tu contador avanzaria y retrocederia inmediatamente o al reves pero ct seria 0.

La otra consulta es que tiempo hay entre la activacion de ambos sensores ?
Es posible que solo se accione uno y no el otro ?