You are on page 1of 15

UNIVERZITET U TUZLI - MAŠINSKI FAKULTET

Upravljanje 7-segmentnim ekranom kao objektom sa LabView i


Arduino Uno-m
Seminarski rad

Predmet: Fleksibilna automatika


Ime i prezime: Admir Mehmedović
Broj indeksa: III-27/15
Odsjek: Mehatronika

Tuzla, Juni 2019


Sažetak

U ovom seminarskom ćemo pogledati kako možemo povezati Arudino Uno-m sa LabView
softverskim paketom. Zatim ćemo vidjeti kako možemo preko LabView napraviti virtualni
instrument koji će upravljati arduinom i sedmo-segmentim ekranom. Također ćemo
napravljeni virtualni instrument upakovati tako da se može koristiti kao zasebni objekt u
drugim virtualnim instrumentima za prikaz brojeva ili drugih oblika podataka na sedmo-
segmentnom ekranu.

Ključne riječi: 7-segmentni ekran, LabView, Arduino Uno, Objekti, Virtualni Instrument
Sadržaj
1. Uvod...................................................................................................................................5
1.1 Arduino Uno i LabView...............................................................................................5
1.2 7-segmentni ekran sa zajedničkom katodom...............................................................6
2. LabView Program...............................................................................................................8
2.1 Osnova.........................................................................................................................8
2.2 Objekat.......................................................................................................................10
2.3 Primjer korištenja.......................................................................................................13
3. Zaključak..........................................................................................................................14
4. Literatura..........................................................................................................................15
Popis slika
Slika 1: Shema 7-segmentnog ekrana [2]..............................................................................6
Slika 2: Shema spajanja..........................................................................................................7
Slika 3: Kontrolni prozor sa osnovnim vrijednostima............................................................8
Slika 4: Logička shema programa.........................................................................................9
Slika 5: Ikone za naznaku rasporeda kao i ikone vritualne mašine.....................................10
Slika 6: Dostupni paterni rasporeda.....................................................................................10
Slika 7: Editor ikonice virtualne mašine..............................................................................11
Slika 8: Properties virtualne mašine....................................................................................11
Slika 9: Dokumentacija virtualne mašine............................................................................12
Slika 10: Context help prozor..............................................................................................12
Slika 11: Primjer programa..................................................................................................13
1. Uvod

LabView je softverski paket za kreiranje virtualnih instrumenata. Virtualni


instrumenti mogu vršiti simulacije te prikazivati rezultate simulacije na intuitivan način
korisnicima. Virtualni instrumenti se kreiraju kao programi koji se pokreću u sklopu
softverskog paketa LabView. Programiranje u LabView je vizuelnog karaktera sa zasebnim
grafičkim ikonama od kojih svaka ima specificiranu funkciju. Ove grafičke ikone ćemo
nazivati objektima. Zadatak ovog seminarskog je kreirati objekat koji može upravljati
preko Arduina sedam segmentni ekran i to izvedbu navednog ekrana sa zajedničkom
katodom. Uz manju prepravku moguće je dobiti i upravljanje ekrana sa zajedničkom
anodom, ali to je izvan područija ovog seminarskog rada.

1.1 Arduino Uno i LabView

Arduino Uno je mikrokontroler zasnovan na otvorenoj platformi. Cijena ovog


mikrokontrolera je jeftina te dosta eksternih komponenti i dodatak je dostupno za ovu
platformu. Također LabView ima firmware za rad sa Arduino Uno te sama instalacija kao i
rad je jednostavana. Predonost korištenja LabView-a sa Arduinom je u tome što LabView
omogućava programiranje Arduina vizualizacijom tako što se programiranje odvija
povezivanjem funkcionalnih objekata vezama. Ovo daje vrlo pregledno stanje programa
koji će se odvijati na Arduinu te smanjuje mogućnosti nastajanja greške. Također LabView
daje vrlo dobru vizualizaciju podataka programa. Mogućnosti su veoma velike od prikaza
običnih brojčanih vrijednosti do dijagrama i to sve u realnom vremenu.

Instalacija LabView Firmware se vrši tako što se iz menadžera paketa LabView-a


preuzme LINX i Visa driveri. Visa driveri osiguravaju da LabView ima pristup odnosno da
vidi uređaje koji su povezani sa računarom. LINX je softverski dodatak za LabView koji
omogućava komunkaciju i programiranje sa Arduinom. Nakon što su dva pomenuta
dodatka instalirana potrebno je spojiti Arduino sa računarom te iz
Tools>MakersHub>LINX odabrati Firmware Wizard te samo pratiti naznačene instrukcije.
Po završteku instalacije pokrenut će se primjer koji pokazuje osnove rada. Time je
instalacija i spajanje Arduina sa LabView završeno te može početi razvoj vlastitih
programa.
1.2 7-segmentni ekran sa zajedničkom katodom

Sedam segmentni ekran je jednostavna tipa ekrana koja služi za prikaz podataka.
Brojčani podaci su najčešći oblik prikaza podataka jer zbog rasporeda dioda ti podaci se
najvjerodostojnije mogu prikazati. Sa kombinacijom više ekrana ove tipe mogu se pokazati
više cifreni brojevi ili neka manja poruka ispisana slovima.

Slika 1: Shema 7-segmentnog ekrana [2]

Ovaj ekran se sastoji od osam dioda. Sedam dioda se koristi za prikaz nekog znaka dok
osma dioda je decimalna tačka. Ekran sa zajedničkom katodom se spaja tako što se na sve
diode dovede odvojen pozitivan potencijal napona, a sve diode se spajaju na zajednički
negativan potencijal.

6
A5

A4

A3

A2

A1

A0

VIN

GND

GND

5V

3V3

RESET
IOREF
ANALOG IN POWER

ICSP
1

Arduino RX
TM
ON TX

L
ICSP2
) DIGITAL (PWM=

RX0
TX0
RESET

AREF
GND
10
11
12
13
0
1
2
3
4
5
6
7

8
9
10

15

20

25

30

35

40

45

50

55

60
1

5
J

J
I

I
G H

G H
F

F
A B C D E

A B C D E
10

15

20

25

30

35

40

45

50

55

60
1

Slika 2: Shema spajanja

Za spajanje dioda na Arduino anode dioda se spajaju na pinove tako da


kontrolisanjem digitalnog izlaza pinova Arduina se kontrolišu i diode. Zajednička katoda se
može ili spojiti na GND(ground) pin Arduina ili na jedan od PWM pinova na Arduinu.
PWM(širinsko impulsna metoda) pinovi daju mogućnost simuliranja različitih nivoa
napona. Na arduinu taj limit ide od 0[V] do 5[V]. Kada se zajednička katoda spoji za neki
od PWM pinova onda se pomjeranjem potencijala od 0[V] do 5[V] mijenja količina
napona nad diodama odnosno jačina svjetla dioda se mijenja. Najjače osvjeteljenje je kada
se između pinova odnosno anoda dioda i katode odnosno PWM pina ostvari potencijalna
razlika od 5[V], dok sa potencijalnom razlikom od 0[V] diode ne emituju svjetlo usljed
nedovoljnog potencijala.

7
2. LabView Program

2.1 Osnova

Program treba da vrši dva različita metoda upravljanja ekranom. Jedna metoda je
gdje spram zadatog broja korisnika program treba da ispiše broj na ekranu. Druga metoda
je metoda ručnog upravljanja pojedinačnim diodama. Izbor metode se vrši pomoću
prekidača, a po osnovnoj postavci je uzeto da program ispisuje zadati broj. Da bi se
konekcija ostvarila potrebno je proslijedi LINX resurse koji sadrže podatke o portu na koji
se šalju informacije i o tipu konekcije koji je uspostavljen. Također da bi bilo moguće
upravljanje bitno je dostaviti pinove na koje su spojene diode. Program mora da zna LINX
resurse i pinove tako da su ove dvije stavke stavljene da budu nužne konekcije, dok ostale
imaju default vrijednosti te nisu nužno potrebne za rad nego samo za manipulaciju. Za
upravljanje modom ispisa broja samo je dovoljna numerička kontrola, dok za upravljanje
pojedinačnim metodama potreban je niz od 8 logičkih prekidača. Za kontrolu osvjetljenja
preporučeno je koristiti klizač sa logaritamskom skalom. U automatskom modu rada
decimalna dioda se ne aktivira prilikom unosa broja te za potrebe aktivacije ove diode je
ubačen logički ulaz Dot ON.

Slika 3: Kontrolni prozor sa osnovnim vrijednostima

8
Sve vrijednosti koje se koriste za manipulaciju su već postavljene unutar virtualnog
instrumenta te je dovoljno koristiti ugrađenu funkciju LabView za kreiranje kontrole da se
dobije odgovarajući kontrolni element.

Izlazni elementi su stavljeni da budu LINX resursi i niz logičkih izlaza odnosno
virtualnih LED dioda. LINX resursi su stavljeni tako da se ova virtualna mašina poklapa sa
standardom ostalih LINX vritualnih mašina od kojih svaka ima ulaz i izlaz LINX resursa
kako bi se omogućilo lakše lančano vezivanje i da se smanji bespotreban broj linija. Izlazni
niz dioda je ostavljen za lakše testiranje da li se ulaz poklapa sa izlazom.

Slika 4: Logička shema programa

9
2.2 Objekat

Sljedeći korak u stvaranju naše virtualne mašine jeste da je pretvorimo u objekat.


Pretvaranje u objekat se vrši tako što se sve komponente koji idu u jedan objekat selektuju
te se iz padajućeg menija Edit odabere Create SubVI. Izabrana opcija spaja sve
komponente u jednan objekat sa ulazima i izlazima. Dvostrukim klikom na dobijeni
objekat otvara novi prozor virtualnog instrumenta gdje sada možemo dodatno izmjeniti rad
programa kao i generalne informacije o našem virtualnom instrumentu.

Vrlo važan korak kod kreiranja objekta jeste odabir rasporeda ulaza i izlaza kao i
provjera da li su svi ulazi i izlazi konfigurisani tako da se mogu kontrolisati odnosno čitati
izvana.

Slika 5: Ikone za naznaku rasporeda kao i ikone vritualne mašine

Povezivanje ulaza i izlaza tako da se mogu iz vana pristupiti se odvija na načina da se


klikne na jednu od praznih bijelih pravougaonika rasporeda i potom se klikne na element
koji će se povezati sa datom pozicijom.

10
Slika 6: Dostupni paterni rasporeda
Meniju koji je dostupan desnim klikom iznad crvene zone označene na slici 5 se mogu
vidjeti svi dostupni paterni te i odabrati željeni patern. Također poželjno je pridrižavati se
standarda koji se mogu primjetiti radom u LabView-u. Na primjer, LINX konekcije su
uvijek prve na objektima i potom prate ih prvo ulazi odnosno izlazi koji se moraju spojiti, a
onda slijede ostalim ulazi i izlazi koji se po potrebi spajaju.

Dvostrukim klikom na osnovnu ikonu virtalnog instrumenta otvara se editor ikonice


virtualne mašine. Ova opcija daje mogućnost da se napravi odgovarajuća i dinstiktivna
ikona naše virtualne mašine.

Slika 7: Editor ikonice virtualne mašine

Nakon što smo zadovoljni sa rasporedom i ikonom možemo dodati i ostale


deskriptivne osobine našoj virtualnoj mašini. To se može postići desnim klikom na ikonicu
te odabirom VI Properties te odabirom iz padajućeg menija Documentation.

Slika 8: Properties virtualne mašine

11
U praznom polju pišemo jasno i što kraće moguće šta naša mašina radi i kako radi.
Dokumentacija će biti korisnicima dostupna kada budu koristili help unutar LabView-a.

Slika 9: Dokumentacija virtualne mašine

Nakon što smo završili sa pravljenjem naše virtualne mašine možemo je sačuvati i
koristiti u drugim projektima. Ako smo sve odradili kako treba prilikom korištenja conext
help-a možemo dobiti ovakav prozor sa korisnim informacijama:

12
Slika 10: Context help prozor
2.3 Primjer korištenja

Korištenje našeg napravljenog objekta je lagano. Samo trebamo iz menija funkcija


u blokovskom dijagramu odabrati opciju Select a VI... i zatim odabrati našu virtualnu
mašinu.

Kao konkretan primjer napravit ćemo program koji će ispisati broj koji korisnik
zada. Kreiranje ovog programa sa našim objektom je veoma lagano. Sve što treba da
odradimo je da odaberemo Visa Serial Port potom LINX Open i zatim da ubacimo naš
objekat u While petlju i da spojimo LINX resurs za naš objekat i da koristeći opciju
dodavanja kontrole dodamo pinove za ulaz, zatim dodamo ground pin da bi imali PWM
kontrolu i potom ubacimo i klizač da kontrolišemo jačinu osvjetljenja. Također u ovom
primjeru ubačeno je i da decimalna dioda konstantno radi.

Slika 11: Primjer programa

I koristeći izlazu našeg objekta LINX resurs spojimo na LINX close izvan petlje
kako bi se uspješno zatvorila konekcija računara i Arduina. Također ubacimo stop dugme
unutar While petlje kako bi mogli zaustaviti petlju i sigurno rastavili računar i Arduino.

13
3. Zaključak

Programiranje Arduina pomoću LabView je veoma intuitivno i pregledno. Čitanje


izlaznih informacija sa Arduina je mnogo olakšano korištenjem kontrolne table LabView-a
za razliku od serijalnog montiora koji koristi Arduino IDE. Kreiranje objekata je
jednostavno i znatno olakšava razvoj složenih programa. Također široka biblioteka
ugrađenih funkcija i mogućnosti LabView su od velike pomoći.

Jedini nedostatak vizuelnog programiranja je za aplikacije gdje je potrebno više


grananja i kao i za aplikacije gdje je su bitni tačni vremenski odzivi i gdje jednostavnost
koda odnosno gdje količina koda treba biti minimalna. Vizualno programiranje ne daje
mogućnost da se direktno pristupi pisanom kodu i da se vrše dodatne optimizacije nego je
programer ostavljen da vjeruje onome ko daje osnovu za vizualno programiranje da će taj i
optimizirati kod.

14
4. Literatura

[1] http://www.ni.com/tutorial/7593/en/
[2] https://www.jameco.com/Jameco/workshop/TechTip/working-with-seven-segment-
displays-fig1.jpg

15

You might also like