El pulseIn()

Saludos, como mi primer post es este, antes de nada me presento, Me llaman Delardu y llevo ya unos meses con el arduino y mirando por la documentación, me he topado con el pulseIn(). Y haciendo pruebas con un monedero que mide el tamaño de la moneda por infrarrojos ha pasado una duda, por mi mente, ¿es posible contar esos pulsos que saca el pulseIn?

Aqui explico algo más, el monedero lo tengo configurado de tal manera que si metes 50 centimos, envia 2 pulsos y con 1€ envia 4 pulsos. Bien, pues yo lo que quiero intentar hacer es que esos dos pulsos los cuente y los guarde.

Gracias de antemano a todos los que respondan.

Edit: Ya busqué por San Google

Edit: Ya busqué por San Google

No lo suficiente.

Si lo pulsos son lentos puedes usar una simple rutina que cuente transiciones o flancos, y si son mas rapidos entones puedes usar interrupciones.
El tema es que no dices cuando se terminan de leer los pulsos.
Supongo que una pausa larga será suficiente para indicar que no hay nada que leer.

Un flanco se mide asi:

supongamos que deseas ver una transición de 1 a 0 en un pin como entrada digital a donde este conectado tu indicador de monedas Infrarrojo.

#define PIN_IR  2
#define INTERVALO    100          // tiempo en mseg a definir

bool estado, estado_ant = false; // defino dos estados, uno será el valor anterior.
bool flag = false;
byte contador = 0;   // uso byte porque no creo que superes 255 cuentas.

void setup(){
    Serial.begin(9600);
}

void loop() {

    estado = digitalread(PIN_IR);
    if (estado && !estado_ant) { // si flanco es 1 y estado_ant es 0 entonces cuento
       contador +=1;
       start = milllis();                // voy a usar start como indicador del tiempo entre flancos
       flag = true;
    }
    estado_ant = estado;           // guardo el estado anterior
    if (millis() - start > INTERVALO) {
        // si supero INTERVALO en mseg entonces no estoy contando nada
        if (flag) {
            Serial.print("Pulsos ="); 
            Serial.println(contador);
            flag = false;                   // con esto me aseguro que imprimiré solo cuando haya pulsos
        }
        contador = 0;                  // pongo a 0 el contador        

    }
}

Es un programa corto que debería poder contar pulsos suficientemente rápidos.
Si no alcanza a medirlos bien, deberías usar interrupciones.