Why you Attach two interupt pin to the same Function ( pulseCounter() ) ?
SensorPinA have to always increase the counter, and
SensorPinB have to alwayas decrease the counter.
I did it using PinChangeInt Library,
but here is the basic operation using attachInterupt
long lastMillis=0;
long curMillis=0;
int RptInterval=1000 ;
int SensorPinFwd = 2;
int SensorPinRtr = 3;
int FlowClick = 0;
void setup(){
pinMode(SensorPinFwd, INPUT);
pinMode(SensorPinRtr, INPUT);
attachInterrupt(SensorPinFwd, FuncFlowFwd, FALLING);
attachInterrupt(SensorPinRtr, FuncFlowRtr, FALLING);
lastMillis=millis();
curMillis=lastMillis;
/*
And do other setup for serial and LCD here
*/
}
void loop(){
curMillis = millis();
if (curMillis-lastMillis >RptInterval) {
doReport;
lastMillis = curMillis;
}
}
void FuncFlowFwd(){
FlowClick=FlowClick+1;
}
void FuncFlowRtr(){
FlowClick=FlowClick-1;
}
void doReport(){
/*
Do any calculation and report/display here
*/
}