10-12-2016, 07:39 PM
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);
}