Krmiljenje LED diode s tipko

Slika 1: NI myRIO (vir: National Instruments)

Modul myRIO - 1900 proizvajalca National Instruments poganja dvojederni procesor ARM Cortex A9, vsebuje čip Xilinx FPGA (Field Programmable Gate Array). Na treh konektorjih A, B in C je na razpolago 10 analognih vhodov, 6 analognih izhodov in 40 digitalnih vhodov/izhodov. Pozorni moramo biti, da ne preobremenimo posameznih izhodov. Podatke najdemo na spletni strani proizvajalca ali spodaj v prilogi.

Modul myRIO najprej priključimo na napetostno napajanje, nato pa ga prek USB vrat povežemo z računalnikom. Odpre se okno myRIO USB Monitor, kjer je podatek s serijsko številko modula in IP naslovom. Izberemo Launch the Getting Started Wizard

Slika 2: myRIO USB Monitor.

Ko je programska oprema naložena na modul myRIO, lahko preizkusimo delovanje pospeškometra, LED diod na vrhnji strani modula myRIO in tipke (Button0) na sprednji strani modula. Po pritisku na gumb Next izberemo Start your first project now.

Novemu projektu določimo ime in ga shranimo. Projektu, ki že vsebuje Main.vi dodamo novi virtualni instrument (File > New VI), ki ga shranemo pod imenom Vklop in izklop LED s tipko.

Izdelajmo sedaj programsko kodo. Želimo vklopiti LED diodo, če je tipka sklenjena. Če tipka ni sklenjena, LED dioda izklopi. Tipko in LED diodo bomo priključili na konektor C. Tipko na C/DIO0 (pin 11) in LED diodo na C/DIO3 (pin 14).

Slika 3: Konektor C myRIO (vir; National Instruments)

Slika 4: Priključitev tipke in LED diode na myRIO, konektor C.


Za priključitev tipk na digitalne vhode konektorja C moramo uporabiti pull down upore vrednosti 39 kΩ, zaporedno z LED diodo pa moramo povezati upor vrednosti 220 Ω.

Programska koda vsebuje sekvenco Flat s tremi okvirji. Najprej se izvede prva (leva), ko je ta zaključena se izvede druga in na koncu tretja (leva), kjer moramo obvezno resetirati modul myRIO.

Slika 5: Programska koda za krmiljenje LED diode s tipko, Blok diagram.


Opis programske kode: 

V prvi sekvenci Flat kreiramo Open.xnode. To storimo tako, da se z miško postavimo v Blok diagram in s pritiskom na desno tipko miške odpremo paleto funkcij Functions. Na paleti Functions poiščemo myRIO > Low Level > Digital Input/Output 1 Sample > Open. Priključku Channel Names kreiramo konstanto in ji določimo vrednost konektorja in pina, kamor bomo tipko oziroma LED diodo.

V sredinskem okvirju sekvence Flat kreiramo zanko While, kjer neprestano beremo vrednost stanja tipke in v odvisnosti od njenega stanja LED diodo vklopimo oziroma izklopimo. Če je tipka sklenjena se izvede True okvir Case Structure, v nasprotnem primeru pa okvir False. V okviru True vklopimo LED diodo, priključeno na pin C/DIO3 in LED diodo na Čelni plošči, v okviru False pa ju izklopimo.

Izvajanje zanke While ustavimo s pritiskom na gumb Stop (na Čelni plošči). Ko se izvajanje zanke While ustavi, s Close.vi prekinemo delovanje vseh digitalnih vhodno/izhodnih kanalov, digitalne izhode postavimo na logični stanje 0 in onemogočimo digitalne izhode.

V zadnjem okvirju sekvence Flat resetiramo modul myRIO.

Slika 6: Čelna plošča, vmesnik.

Razširimo nalogo tako, da uporabimo dve tipki in dve LED diodi. Tipko bomo priključili na C/DIO0, Tipko 1 na C/DIO1, LED 1 na C/DIO3 in LED 2 na C/DIO4. S pritiskom na Tipko vklopimo obe LED diodi, s pritiskom na Tipko 1 pa samo LED 2.

Slika 7: Priključitev tipk in LED diod na konektor C modula myRIO.

V zanki While smo uporabili dve strukturi Case. Na selektor prve, zunanje strukture Case pripeljemo podatek o stanju Tipke 1. Če je tipka sklenjena, se izvede okvir True, v katerem izklopimo LED 1 in vklopimo LED 2. Če Tipka 1 ni sklenjena, preverjamo stanje Tipke v drugi, notranji strukturi Case. Če je Tipka sklenjena, se izvede okvir True, v katerem obe LED diodi vklopimo, če pa ni sklenjena, se izvede okvir False, v katerem obe LED diodi izklopimo. V programski kodi vidimo delovanje funkcije Index Array. Ta polje podatkov na vhodu razvrsti po vrstnem redu na izhodu.

Slika 8: Programska koda za krmiljenje dveh LED diod z dvema tipkama, Blok diagram.

Enako kot v prvem primeru, tipki in LED diodi na vmesniku prikazujeta njihovo dejansko stanje. Poglejmo še vmesnik na Čelni plošči:

 Slika 9: Vmesnik na Čelni plošči prikazuje vklop obeh LED diod s Tipko, priključeno na pin 11 (C/DIO0).

Izdelajmo še programsko kodo, s katero bomo krmilili LED diodi s tipkama na vmesniku (Čelna plošča). 

Slika 10: Priključitev LED diod na konektor C, myRIO.

Slika 11: Krmiljenje LED diod s tipkama na vmesniku, Blok diageam.

                                 Slika 12: Krmiljenje LED diod s tipkama na vmesniku, Čelna plošča.