Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Arduino - tutorijali, pitanja, primjeri i projekti
Evo ga:
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;
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;
     {
        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, 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 Makso - 10-12-2016, 07:39 PM

Forum Jump:


Users browsing this thread: 14 Guest(s)