A ver si entendi, es algo asi lo que dices?
porque asi tengo el mismo problema, mientras que este en HIGH se ejecuta el codigo tantas veces como el void loop() lo haga
if( digitalRead( 2 ) )
{
lSenialEncoder = 1;
}
else
{
lSenialEncoder = 0;
}
if( lSenialEncoder )
{
encoder ++ ;
otra prueba que hize
if( lSenialEncoder == 0 )
{
if( digitalRead( 2 ) )
{
lSenialEncoder = 1;
}
else
{
lSenialEncoder = 0;
}
}
if( lSenialEncoder )
{
lSenialEncoder = 0;
...
ambas con el mismo resultado