This part of the code does not work correctly:
multNumber = number1 * number2;
lastButton2 = LOW;
currentButton2 = LOW;
pinOn[0] = 0;
pinOn[1] = 0;
pinOn[2] = 0;
pinOn[3] = 0;
pinOn[4] = 0;
pinOn[5] = 0;
counter[0] = 0;
counter[1] = 0;
counter[2] = 0;
counter[3] = 0;
counter[4] = 0;
counter[5] = 0;
Stop = LOW;
for( int i = 0; i < multNumber; i++)
{
counter[0] = counter[0] + 1;
//For 1 slot.
if(counter[0] == 1)
{
pinOn[0] = 128;
}
else if(counter[0] == 2)
{
pinOn[0] = 254;
}
else if(counter[0] == 3)
{
counter[0] = 0;
pinOn[0] = 0;
counter[1] = counter[1] + 1;
}
else
{
counter[0] = 0;
pinOn[0] = 0;
}
//For 2 slot.
if(counter[1] == 1)
{
pinOn[1] = 128;
}
else if(counter[1] == 2)
{
pinOn[1] = 254;
}
else if(counter[1] == 3)
{
counter[1] = 0;
pinOn[1] = 0;
counter[2] = counter[2] + 1;
}
else
{
counter[1] = 0;
pinOn[1] = 0;
}
//For slot 4
if(counter[2] == 1)
{
pinOn[2] = 128;
}
else if(counter[2] == 2)
{
pinOn[2] = 254;
}
else if(counter[2] == 3)
{
counter[2] = 0;
pinOn[2] = 0;
counter[3] = counter[3] + 1;
}
else
{
counter[2] = 0;
pinOn[2] = 0;
}
//For slot 8
if(counter[3] == 1)
{
pinOn[3] = 128;
}
else if(counter[3] == 2)
{
pinOn[3] = 254;
}
else if(counter[3] == 3)
{
counter[3] = 0;
pinOn[3] = 0;
counter[4] = counter[4] + 1;
}
else
{
counter[3] = 0;
pinOn[3] = 0;
}
//For slot 16
if(counter[4] == 1)
{
pinOn[4] = 128;
}
else if(counter[4] == 2)
{
pinOn[4] = 254;
}
else if(counter[4] == 3)
{
counter[4] = 0;
pinOn[4] = 0;
counter[5] = counter[5] + 1;
}
else
{
counter[4] = 0;
pinOn[4] = 0;
}
//For slot 32
if(counter[5] == 1)
{
pinOn[5] = 128;
}
else if(counter[5] == 2)
{
pinOn[5] = 254;
}
else if(counter[5] == 3)
{
counter[5] = 0;
pinOn[5] = 0;
}
else
{
counter[5] = 0;
pinOn[5] = 0;
}
}
for( int i = 0; i < 6; i++)
{
analogWrite(ledPins[i], pinOn[i]);
}
do
{
currentButton2 = debounce2 ( lastButton2 );
if(lastButton2 == LOW && currentButton2 == HIGH)
{
Stop = HIGH;
}
lastButton2 = currentButton2;
}
while (Stop == LOW);
lastButton = LOW;
lastButton2 = LOW;
currentButton = LOW;
currentButton2 = LOW;
pinOn[0] = 0;
pinOn[1] = 0;
pinOn[2] = 0;
pinOn[3] = 0;
pinOn[4] = 0;
counter[0] = 0;
counter[1] = 0;
counter[2] = 0;
counter[3] = 0;
counter[4] = 0;
Stop = LOW;
number1 = 0;
number2 = 0;
multNumber = 0;
}
boolean debounce( boolean last )
{
boolean current = digitalRead(switchPin);
if( last != current)
{
delay(5);
current = digitalRead(switchPin);
}
return current;
}
boolean debounce2( boolean last2 )
{
boolean current2 = digitalRead(switchPin2);
if( last2 != current2)
{
delay(5);
current2 = digitalRead(switchPin2);
}
return current2;
}