Tvoja promenljiva num se uvećava za jedan na pritisak tastera ali joj malo niže menjaš vrednosti izrazima:
num = num - (dig1 * 1000);
num = num - (dig2 * 100);
Što ne bi smeo raditi.
dodaj jednu pomoćnu promenljivu koja će ti služiti za izračunavanje dig1...dig4.
deklariši je ovako:
int tmp = 0;
Sada loop treba da izgleda ovako:
void loop()
{
digitalWrite( GND1, HIGH);
digitalWrite( GND2, HIGH);
digitalWrite( GND3, HIGH);
digitalWrite( GND4, HIGH);
int taster = digitalRead(keyStart);
if(taster == 0 ) // Svaki put kad se pritisne taster menja se status START ili PAUSA
{
toggleKey = !toggleKey;
{
if(toggleKey) //u zavisnosti ako je true(START) onda broj se uvecava i prikazuje novi
{
if(++num > 9999) //ako je false(PAUSE) onda se broj ne uvecava i prikazuje se stalno zadnji
{
num = 0;
}
Serial.println(num); //broj tj pauzirano je brojanje...
}
}
dig1 = num / 1000;
tmp = num - (dig1 * 1000);
dig2 = tmp / 100;
tmp = tmp - (dig2 * 100);
dig3 = tmp / 10;
dig4 = tmp - (dig3 *10);
}
digitalWrite( GND4, LOW); //digit 4
pickNumber(dig4);
delay(DTime);
digitalWrite( GND4, HIGH);
digitalWrite( GND3, LOW); //digit 3
pickNumber(dig3);
delay(DTime);
digitalWrite( GND3, HIGH);
digitalWrite( GND2, LOW); //digit 2
pickNumber(dig2);
delay(DTime);
digitalWrite( GND2, HIGH);
digitalWrite( GND1, LOW); //digit 1
pickNumber(dig1);
delay(DTime);
digitalWrite( GND1, HIGH);
}
num = num - (dig1 * 1000);
num = num - (dig2 * 100);
Što ne bi smeo raditi.
dodaj jednu pomoćnu promenljivu koja će ti služiti za izračunavanje dig1...dig4.
deklariši je ovako:
int tmp = 0;
Sada loop treba da izgleda ovako:
void loop()
{
digitalWrite( GND1, HIGH);
digitalWrite( GND2, HIGH);
digitalWrite( GND3, HIGH);
digitalWrite( GND4, HIGH);
int taster = digitalRead(keyStart);
if(taster == 0 ) // Svaki put kad se pritisne taster menja se status START ili PAUSA
{
toggleKey = !toggleKey;
{
if(toggleKey) //u zavisnosti ako je true(START) onda broj se uvecava i prikazuje novi
{
if(++num > 9999) //ako je false(PAUSE) onda se broj ne uvecava i prikazuje se stalno zadnji
{
num = 0;
}
Serial.println(num); //broj tj pauzirano je brojanje...
}
}
dig1 = num / 1000;
tmp = num - (dig1 * 1000);
dig2 = tmp / 100;
tmp = tmp - (dig2 * 100);
dig3 = tmp / 10;
dig4 = tmp - (dig3 *10);
}
digitalWrite( GND4, LOW); //digit 4
pickNumber(dig4);
delay(DTime);
digitalWrite( GND4, HIGH);
digitalWrite( GND3, LOW); //digit 3
pickNumber(dig3);
delay(DTime);
digitalWrite( GND3, HIGH);
digitalWrite( GND2, LOW); //digit 2
pickNumber(dig2);
delay(DTime);
digitalWrite( GND2, HIGH);
digitalWrite( GND1, LOW); //digit 1
pickNumber(dig1);
delay(DTime);
digitalWrite( GND1, HIGH);
}