You are on page 1of 10

Projektna naloga pri predmetu:

VODENJE SISTEMOV/ SISTEMSKO


INZENIRSTVO

Predavatelj: prof. dr. Peter Virtič


Asistentka: Franjo Pranjić

Avtor: Nikola Vučićević


Vpisna številka: R1010682

Kraj in datum 20/5/2021


Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO

1. Uvod 3

1.1 Prestavitev Arduina 3

1.2 Sedemsegmentni zaslon 3

1.3 Potreben material 4

1.4 Način povezave 4

2. Koda 5

3. Video prikaz 9

4. Viri in literature 10

2
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO

1. Uvod
1.1 Prestavitev Arduina

Arduino je odprtokodna fizicno-racunalniska platforma, na sebi ima mikrokrmilnik ki je progamiran z


uporabo programskega jezika, ki se temelji na Wiring jeziku, to pomeni da uporablja sintakse in knjiznice.
Podoben je programskemu jeziku C++ z nekaj poenostavitvami.

Programiranje v Arduinu je precej prosto. Programska koda Arduino je sestavljena iz dveh osnovnih delov:

setup()

loop()

V tem primeru setup() prestavlja del kode ki konfigurira krmilnik Arduino(vhod in izhod) in se izvede
enkrat na zacetku

Loo() zanka je del kode, ki jo Arduino ponavlja dokler plosca ni izklopljena, tu se zapisuje kaj treba da
naredi.

1.2 Sedemsegmentni zaslon

Sedemsegmentni zaslon je oblika elektronske naprave zaslona za prikazovanje decimalnih stevilkah,


pogosto se uporablja v digitalnih urah, elektronskih stevcih, osnovnih kalkulatorjih in drugih elektronskih
napravah, ki povezujejo numericne informacije. Imajo 7 led dioda, poznamo 2 razlicna modela katoda ali
skupna anoda, razlikujejo se v nacinu povezovanja. Pin dp je za tocko ki se nahaja v spodnjem desnem
kotu, v tem projektu ga nismo uporabili. Imamo pinove a, b, c .. in s temi izpisujemo stevilke ali
znakove.Pin com povezujemo v pin GND na arduinu to nam je negativen pin.

3
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO
1.3 Potreben material

Pri projektni nalogi smo uporabljali naslednje materiale:

-Arduino UNO

-Breadboard

-Seven segment display

-Push button

-Jumpers

1.4 Način povezave

4
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO
2. Koda
//Brojac na sedmosegmentnem displeju

const int a = 8; //Za prikaz "a"

const int b = 9; //Za prikaz"b"

const int c = 4; //Za prikaz "c"

const int d = 5; //Za prikaz "d"

const int e = 6; //Za prikaz "e"

const int f = 2; //Za prikaz"f"

const int g = 3; //Za prikaz"g"

bool bPress = false;

const int buttonPin = 10;

// Spremenljivke

int buttonPushCounter = 0; // števec števila pritiskov gumbov

int buttonState = 0; // trenutno stanje gumba

int lastButtonState = 0; // prejasnje stanje gumba

void setup() {

//Definisanje pinova (OUTPUT/INPUT)

pinMode(a, OUTPUT); //A

pinMode(b, OUTPUT); //B

pinMode(c, OUTPUT); //C

pinMode(d, OUTPUT); //D

pinMode(e, OUTPUT); //E

pinMode(f, OUTPUT); //F

pinMode(g, OUTPUT); //G

5
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO

pinMode( buttonPin , INPUT_PULLUP );

Serial.begin(9600);

displayDigit(buttonPushCounter);

void loop() {

buttonState = digitalRead(buttonPin);

//primerjaj buttonState s prejšnjim stanjem

if (buttonState != lastButtonState) {

//če se je stanje spremenilo, povečajte števec

if (buttonState == LOW) {

// če je trenutno stanje HIGH, se je gumb preklopil iz izklopljenega na vklopljen:

bPress = true;

buttonPushCounter++;

if( buttonPushCounter > 9) buttonPushCounter =0 ;

Serial.println("on");

} else {

// če je trenutno stanje LOW, se je gumb preklopil na izklopljen:

Serial.println("off");

// Zadrska

delay(50);

// shranite trenutno stanje kot zadnje stanje za naslednjič skozi zanko

6
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO
lastButtonState = buttonState;

if( bPress ){

turnOff();

displayDigit(buttonPushCounter);

void displayDigit(int digit)

//Pogoji za prikaz segmenta a

if(digit!=1 && digit != 4)

digitalWrite(a,HIGH);

//Pogoji za prikaz segmenta b

if(digit != 5 && digit != 6)

digitalWrite(b,HIGH);

//Pogoji za prikaz segmenta c

if(digit !=2)

digitalWrite(c,HIGH);

//Pogoji za prikaz segmenta d

if(digit != 1 && digit !=4 && digit !=7)

7
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO
digitalWrite(d,HIGH);

//Pogoji za prikaz segmenta e

if(digit == 2 || digit ==6 || digit == 8 || digit==0)

digitalWrite(e,HIGH);

//Pogoji za prikaz segmenta f

if(digit != 1 && digit !=2 && digit!=3 && digit !=7)

digitalWrite(f,HIGH);

//Pogoji za prikaz segmenta g

if (digit!=0 && digit!=1 && digit !=7)

digitalWrite(g,HIGH);

void turnOff()

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(e,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

8
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO

3. Video prikaz

9
Projektna naloga pri predmetu:
VODENJE SISTEMOV/ SISTEMSKO INZENIRSTVO
4. Viri in literature
https://www.hwlibre.com/bs/7-segmentni-zaslon/

https://en.wikipedia.org/wiki/Seven-segment_display
https://www.thegeekpub.com/
https://sr.wikipedia.org/sr/Arduino

10

You might also like