Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
#79
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);
}
Reply


Messages In This Thread
RE: Arduino - tutorijali, pitanja, primjeri i projekti - by gorankg - 10-08-2016, 09:16 PM

Forum Jump:


Users browsing this thread: 27 Guest(s)