int matricaCifara[10][7] { //matrica cifara za brojeve od 0-9 { 1,1,1,1,1,1,0 }, //broj 0 { 0,1,1,0,0,0,0 }, //broj 1 { 1,1,0,1,1,0,1 }, //broj 2 { 1,1,1,1,0,0,1 }, //broj 3 { 0,1,1,0,0,1,1 }, //broj 4 { 1,0,1,1,0,1,1 }, //broj 5 { 1,0,1,1,1,1,1 }, //broj 6 { 1,1,1,0,0,0,0 }, //broj 7 { 1,1,1,1,1,1,1 }, //broj 8 { 1,1,1,0,0,1,1 } };//broj 9 int number; int **0; void setup() { pinMode(2,OUTPUT); //a segment pinMode(3,OUTPUT); //b segment pinMode(4,OUTPUT); //c segment pinMode(5,OUTPUT); //d segment pinMode(6,OUTPUT); //e segment pinMode(7,OUTPUT); //f segment pinMode(8,OUTPUT); //g segment Serial.begin(9600); // pokretanje serial monitora } void loop() { if (Serial.available()>0) //Gleda da li postoji nekakvog podatka u baferu { switch (Serial.read()) //Pretvaranje karaktera u vrednosti cifara { case '0': number = 0; break; case '1': number = 1; break; case '2': number = 2; break; case '3': number = 3; break; case '4': number = 4; break; case '5': number = 5; break; case '6': number = 6; break; case '7': number = 7; break; case '8': number = 8; break; case '9': number = 9; break; default: number = 10; } if(number<10) //Ukoliko je uneto vise od 2 broja upisace samo prvi broj { ispBroj(number);//korisnicka funkcija za ispis broja delay(10); //delay izmedju slanja i primanja funkcija i podataka while(Serial.available()>0) //praznjenje bafera { Serial.read(); delay(10); } } else { Serial.println("Unet podatak mora biti cifra , a ne karakter");//Izbacuje gresku ukoliko je unet podatak karakter delay(10); while(Serial.available())//praznjenje bafera { Serial.read(); delay(10); } } } } void ispBroj(int number)//korisnicka funkcija za ispis broja { int pin=2; for (int j=0; j<7; j++) { digitalWrite(pin, matricaCifara[number][j]); pin++; } }