I problemi vanno sempre affrontati cercando di isolare le varie condizioni. Tu hai un lettore che manda degli impulsi (sto immaginando, non ho mai interfacciato né visto come funzionino, anzi se hai anche un link al modello esatto magari capisco meglio), questi arrivano ad Arduino il quale deve "contarli" entro un certo tempo, quindi una volta contati attiva l'erogazione delle monete in base al valore. Esatto?
Inizia dal lettore di banconote: hai le sue specifiche? C'è scritto da qualche parte con quale cadenza/intervallo manda gli impulsi? Il valore 250 te lo sei "immaginato" o lo hai letto da qualche parte?
Se non ce l'hai (e comunque è utile anche per te capire come Arduino "riceve" questi impulsi), per lo sketch di monitoraggio/test prova a fare un (nuovo) semplice sketch che legge continuamente lo stato del pin al quale è collegato il lettore, e quando questo cambia rispetto al precedente (da LOW a HIGH o viceversa) manda su seriale il tempo trascorso ("millis()-startTime") e lo stato (il valore letto dalla digitalRead(), se HIGH o LOW, basta anche solo 0 o 1): potrai da lì cercare di capire gli intervalli degli impulsi. Posta qui questo sketch ed il suo output e vediamo.