Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
U prepiski je napravljeno nekoliko sintaksnih gresaka sa viticastim zagradama...
Probaj sad ovaj kod dole pa javi....

Taster moras nekad kratko a nekad duze da drzis da bi promenio Start/Pause to bi se sa softverskim debounce resilo...
Code:
int keyStart = 13;             //deklarises i inicijalizujes globalnu promenljivu za taster
boolean toggleKey = false;      //promenljiva za status tastera dali ako je stisnut menja vrednost START/PAUSA
int num = 0;                   //tvoja promenljiva za broj samo sto je sad inicijalizujemo
int aPin = 2;  //         A
int bPin = 3;  //      ________
int cPin = 4;  //     |        |
int dPin = 5;  //   F |        |  B
int ePin = 6;  //     |    G   |
int fPin = 7;  //     |________|
int gPin = 8;  //     |        |
int GND1 = 9;  //     |        |
int GND2 = 10; //   E |        |   C
int GND3 = 11; //     |________|
int GND4 = 12; //        
             //         D
int dig1 = 0;
int dig2 = 0;
int dig3 = 0;
int dig4 = 0;
int DTime = 4;
int tmp = 0;


void setup()
{
pinMode(keyStart, INPUT); // ovo stavis u void setup()


pinMode(aPin, OUTPUT);
pinMode(bPin, OUTPUT);
pinMode(cPin, OUTPUT);
pinMode(dPin, OUTPUT);
pinMode(ePin, OUTPUT);  
pinMode(fPin, OUTPUT);
pinMode(gPin, OUTPUT);
pinMode(GND1, OUTPUT);
pinMode(GND2, OUTPUT);
pinMode(GND3, OUTPUT);
pinMode(GND4, OUTPUT);
Serial.begin(9600);
}
void loop()
{
 digitalWrite( GND1, LOW);
 digitalWrite( GND2, LOW);
 digitalWrite( GND3, LOW);
 digitalWrite( GND4, LOW);

 int taster = digitalRead(keyStart);
 if(taster == 1 ) // Svaki put kad se pritisne taster menja se status START ili  PAUSA
 
 {  
    toggleKey = !toggleKey;
    //Serial.println(toggleKey);
 }  //   ************************************** ova nije bila ovde
    //{  ************************************** ova je bila viska
       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...
       }  
    //}   ************************************ ova je bila viska

    dig1 = num / 1000;
    tmp = num - (dig1 * 1000);
    dig2 = tmp / 100;
    tmp = tmp - (dig2 * 100);
    dig3 = tmp / 10;
    dig4 = tmp - (dig3 *10);
   
 //}      ************************************ ova je bila viska
 
 digitalWrite( GND4, HIGH);    //digit 4
 pickNumber(dig4);
 delay(DTime);
 digitalWrite( GND4, LOW);
 clearLEDs();

 digitalWrite( GND3, HIGH);    //digit 3
 pickNumber(dig3);
 delay(DTime);
 digitalWrite( GND3, LOW);
 clearLEDs();

 digitalWrite( GND2, HIGH);   //digit 2
 pickNumber(dig2);
 delay(DTime);
 digitalWrite( GND2, LOW);
 clearLEDs();

 digitalWrite( GND1, HIGH);   //digit 1
 pickNumber(dig1);
 delay(DTime);
 digitalWrite( GND1, LOW);
 clearLEDs();
}

void pickNumber(int x){
switch(x){
  case 0: zero(); break;
  case 1: one(); break;
  case 2: two(); break;
  case 3: three(); break;
  case 4: four(); break;
  case 5: five(); break;
  case 6: six(); break;
  case 7: seven(); break;
  case 8: eight(); break;
  case 9: nine(); break;
  default: break;
}
}

void clearLEDs()
{  
digitalWrite(  2, LOW); // A
digitalWrite(  3, LOW); // B
digitalWrite(  4, LOW); // C
digitalWrite(  5, LOW); // D
digitalWrite(  6, LOW); // E
digitalWrite(  7, LOW); // F
digitalWrite(  8, LOW); // G
}

void one()
{
digitalWrite( aPin, LOW);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, LOW);
digitalWrite( ePin, LOW);
digitalWrite( fPin, LOW);
digitalWrite( gPin, LOW);
}

void two()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, LOW);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, HIGH);
digitalWrite( fPin, LOW);
digitalWrite( gPin, HIGH);
}

void three()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, LOW);
digitalWrite( fPin, LOW);
digitalWrite( gPin, HIGH);
}

void four()
{
digitalWrite( aPin, LOW);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, LOW);
digitalWrite( ePin, LOW);
digitalWrite( fPin, HIGH);
digitalWrite( gPin, HIGH);
}

void five()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, LOW);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, LOW);
digitalWrite( fPin, HIGH);
digitalWrite( gPin, HIGH);
}

void six()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, LOW);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, HIGH);
digitalWrite( fPin, HIGH);
digitalWrite( gPin, HIGH);
}

void seven()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, LOW);
digitalWrite( ePin, LOW);
digitalWrite( fPin, LOW);
digitalWrite( gPin, LOW);
}

void eight()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, HIGH);
digitalWrite( fPin, HIGH);
digitalWrite( gPin, HIGH);
}

void nine()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, LOW);
digitalWrite( fPin, HIGH);
digitalWrite( gPin, HIGH);
}

void zero()
{
digitalWrite( aPin, HIGH);
digitalWrite( bPin, HIGH);
digitalWrite( cPin, HIGH);
digitalWrite( dPin, HIGH);
digitalWrite( ePin, HIGH);
digitalWrite( fPin, HIGH);
digitalWrite( gPin, LOW);
}
Reply


Messages In This Thread
RE: Arduino - tutorijali, pitanja, primjeri i projekti - by me[R]a - 10-12-2016, 08:54 PM

Forum Jump:


Users browsing this thread: 43 Guest(s)