Você está na página 1de 54

0

PESQUISA APLICADA AO USO DA


PLATAFORMA ARDUINO PARA O
CONTROLE E SIMULAO EM TEMPO
REAL POR MEIO DO TOOLKIT LABVIEW
INTERFACE FOR ARDUINO

Instituto Federal de Santa Catarina - IFSC


Campus de Chapec Santa Catarina
Curso Superior de Engenharia de Controle e Automao

PESQUISA APLICADA AO USO DA


PLATAFORMA ARDUINO PARA O
CONTROLE E SIMULAO EM TEMPO
REAL POR MEIO DO TOOLKIT LABVIEW
INTERFACE FOR ARDUINO

Orientador: Professor Ms. Rodrigo Szpak


Bolsistas: Marco Antonio Martins Laier e Andr Martins Severo
Laboratrio de Controle

Novembro, 2013

LabVIEW/Arduino

SUMRIO

INTRODUO..............................................................................................................4

LABVIEW......................................................................................................................5

2.1

AMBIENTE DE PROGRAMAO LABVIEW.......................................................6

2.2

JANELAS DO PAINEL E DO DIAGRAMA DE BLOCOS.......................................7

2.2.1

Barra de Ferramentas do Painel Frontal.............................................................7

2.2.2

Barra de Ferramentas do Diagrama de Bloco.....................................................9

2.2.3

Paletas......................................................................................................................9

2.2.3.1

Paleta Tools...........................................................................................................9

2.2.3.2

Paletas Controls e Functions...............................................................................11

2.2.3.2.1

Paleta Controls................................................................................................11

2.2.3.2.2

Paleta Functions..............................................................................................11

2.3

SALVANDO VIs........................................................................................................12

2.4

CRIANDO UM VI.....................................................................................................12

2.4.1
2.4.1.1
2.4.2

Painel Frontal........................................................................................................12
Configurando Controle e Indicadores.................................................................13
Diagrama de Bloco.................................................................................................13

2.4.2.1

Ns......................................................................................................................14

2.4.2.2

Terminais.............................................................................................................14

2.4.2.3

Ligaes..............................................................................................................14

2.4.3

Fluxo de Dados.......................................................................................................14

2.4.4

Exemplo I...............................................................................................................15

2.4.5

Criando Um SubVI...............................................................................................17

2.4.5.1 Criando Um SubVI a Partir de Um VI......................................................................17


2.4.5.2 Criando Um SubVI a Partir de Sees de Um VI.....................................................17

2.5

LOOPS E DIAGRAMAS...........................................................................................19

2.5.1

While Loops...........................................................................................................19

1 INTRODUO
O uso de softwares para simulao e manipulao de dados tm sido uma
alternativa de aprendizado muito difundida entre estudantes e professores
principalmente de cursos na rea das Engenharias. Em vrias instituies de ensino
o discente no tem acesso a laboratrios equipados para oferecer a integrao entre
teoria e prtica que seriam ideais para fixao do conhecimento, fato que salienta a
importncia da insero de novos mtodos de ensino por parte das escolas, como o
uso das ferramentas digitais.
Dentre as inmeras que encontramos, algumas se destacam pela sua
performance, pelo seu ambiente, inovao tecnolgica introduzida e as vezes por
todos e mais alguns aspectos. Como exemplo temos o LabVIEW, usado para
simulaes, aquisies de dados e criao de modelos na rea de controle.
Apresentando muitos fatores positivos, como uma ambientao rpida e ampla
gama de aplicaes o programa auxilia com eficincia o usurio que pretende
entender como processos funcionam, desde sua modelagem at o funcionamento.
Seu grande diferencial est no modo de construo dos modelos, que feito se
separando a interface e a programao dos blocos. A ferramenta de interface do LabVIEW
mostra as variveis envoltas e permite a alterao de parmetros do modelo, sendo muito
interativa. No painel em que so inseridos os blocos de programao, o usurio encontra uma
grande variedade de representaes de instrumentos e tm inmeras combinaes disponveis
para conseguir criar o sistema desejado.

2 LABVIEW
O LabVIEW uma ferramenta grfica de programao, usada na rea de
controle e simulaes de processos, anlise de dados e comportamentos de
sistemas. Sua forma de programao difere das demais, pois feita com diagrama
de blocos em vez de uso de linhas de programa, possibilitando assim maior
interao com o usurio j que sua modelagem permite utilizar componentes que
simularo seu funcionamento original, fazendo com que seja possvel a visualizao
em tempo real do comportamento do sistema. Os blocos de funes so chamados
de instrumentos virtuais (VI), que so organizados de maneira hierrquica, sendo
assim possibilitam que aps serem esquematizados, cada VI pode ser usado como
subprograma por qualquer outro VI ou pode, simplesmente, ser executado
isoladamente. Este aspecto dos instrumentos virtuais criados no programa facilita
tambm a montagem de processos paralelos no modelo.
Outra caracterstica importante do software sua comunicao com
equipamentos e hardwares usuais em processos industriais, permitindo a
transmisso de dados via RS-232 ou RS-485, via internet utilizando a ferramenta
LabVIEW Web Server ou at mesmo fazendo a transmisso dos parmetros do
modelo diretamente para um microcontrolador, como um Arduino ou placa similar
que desempenhar a funo de atuador.

2.1

AMBIENTE DE PROGRAMAO LABVIEW


Execute o aplicativo Labview 2013 em seu computador, ser aberta uma janela para a

criao de um novo projeto.

Clique no campo File

New VI para criar um novo Virtual Instrument, ou pressione

Ctrl + N.
Clique no campo File

Open... para abrir um Virtual Instrument j existente, ou

pressione Ctrl + O.
Clique no campo File

Create Project... para criar um novo projeto, ou clique em

Create Project na janela principal.


Clique no campo File
Open Project... para abrir um projeto j existente, ou clique

em Open Existing na janela principal.


Clique no campo Help para obter ajuda.
Clique no campo File
Exit para sair, ou pressione Ctrl + Q.

2.2

JANELAS DO PAINEL FRONTAL E DO DIAGRAMA DE BLOCOS

Quando se cria um novo instrumento virtual, uma janela de painel frontal sem ttulo
aparece. A outra janela contm o diagrama de bloco.

Painel Frontal

Diagrama de Blocos

2.2.1 Barra de Ferramentas do Painel Frontal


Os botes da barra de ferramentas servem para executar e editar um Instrumento
Virtual.

Clique no boto Run para executar o VI.


Esse boto indica que o VI est em execuo.

Clique no boto Run Continuoously para executar o VI at que se anule ou


interrompa a execuo.
Durante a execuo do VI, o boto Abort Execution aparece.
Observao: evite utilizar o boto Abort Execution para parar o VI. Deixe que o VI seja
executado at sua concluso ou desenvolva um mtodo para interromper a execuo do VI de
forma programada. Fazendo isso, o VI sempre estar em estado conhecido.
Esse boto indica que o VI est com defeito e no pode ser executado. Clique nesse
boto para exibir a janela Error list, que lista todos os erros.
Clique no boto Pause para dar uma pausa na execuo de um VI. Quando se clica no
boto Pause, o LabVIEW destaca no diagrama de bloco o local onde a execuo foi
interrompida. Clique no boto novamente para continuar executando o VI.
Selecione o menu Text Settings na barra de ferramentas para
alterar as configuraes de fonte do VI, includo tamanho, estilo e cor.
Selecione o menu Align Objects na barra de ferramentas para alinhar objetos ao longo
dos eixos, incluindo vertical, margem superior, esquerdo, e assim por diante.
Selecione o menu Distribute Objects na barra de ferramentas para distribuir objetos
uniformemente, incluindo intervalos, compresso, e assim por diante.
Selecione o menu Reorder na barra de ferramentas quando voc tiver objetos que se
sobrepem um ao outro e desejar definir qual deles deve ficar antes ou depois do outro.

2.2.2 Barra de Ferramentas do Diagrama de Bloco


Quando se executa um VI, botes aparecem na barra de ferramentas do diagrama de
bloco que pode ser utilizada para depurar o VI.

Clique no boto Highlight Execution para ver o fluxo de dados atravs do diagrama
de bloco. Clique no boto novamente para desabilitar essa funo.

Clique no boto Step Into para executar (passo a passo) um loop, um sub VI, e assim
por diante. A execuo passo a passo sobre um VI permite percorrer o VI de n n.
Clique no boto Step Over para entrar (diretamente) em um loop, um sub VI, e assim
por diante. Ao passar diretamente pelo n, executa-se o n sem o esquema de passo nico.
Clique no boto Step Out para sair de um loop, um sub VI, e assim por diante. Ao sair
de um n conclui-se a execuo passo a passo atravs do n e vai para o prximo n.
O boto Warning aparece quando h um problema potencial com o diagrama de
bloco, mas ele no faz com que o VI pare sua execuo. Pode se habilitar o boto Warning
selecionando Tools

2.2.3

Options e Debugging no menu superior.

Paletas

O LabVIEW possui paletas grficas flutuantes para ajudar na criao e execuo dos
VIs. O LabVIEW 2013 possui trs paletas que so Controls (painel frontal), Functions
(diagrama de blocos) e Tools que pode ser posicionada tanto no painel frontal quanto no
diagrama de blocos, tambm possvel posicionar as paletas em qualquer lugar da tela.

2.2.3.1 Paleta Tools


possvel criar, modificar e depurar VIs, utilizando as ferramentas localizadas na
paleta flutuante Tools. Quando selecionada a ferramenta, o cone do cursor alterado para o
cone da ferramenta. Pressione Shift + boto direito para exibir uma verso temporria da
paleta Tools.

10

Utilize a ferramenta Operating para alterar os valores de um controle ou selecionar o


texto em um controle.
Utilize a ferramenta Positioning para selecionar, mover ou redimensionar objetos.
Utilize a ferramenta Labeling para editar texto e criar legendas livres.
Utilize a ferramenta Wiring para ligar objetos no diagrama de bloco.
Utilize a ferramenta Object Shortcut Menu para acessar ao menu de atalho de um
objeto com o boto esquerdo do mouse.
Utilize a ferramenta Scrolling para percorrer as janelas sem utilizar as barras de
rolagem.
Utilize a ferramenta Breakpoint para definir pontos de parada em VIs, funes, ns,
ligaes e estruturas, a fim de interromper a execuo naquela localizao.
Utilize a ferramenta Probe para criar sensores no diagrama de bloco. Utilize essa
ferramenta para verificar valores intermedirios em um VI que apresenta resultados
questionveis ou inesperados.
Utilize a ferramenta Color Copy a fim de copiar cores para serem coladas com a
ferramenta Coloring.
Utilize a ferramenta Coloring para colorir um objeto. Ela tambm exibe as
configuraes atuais de cores de primeiro plano e de fundo.

2.2.3.2 Paletas Controls e Functions


As paletas Controls e Functions contm subpaletas de objetos que podem ser
utilizadas para criar um VI. Para utilizar um objeto das paletas, clique no objeto e coloque-o
no painel frontal ou no diagrama de bloco. Utilize os botes de navegao das paletas
Controls e Functions para navegar por controles, VIs e funes, bem como para pesquislos. Tambm possvel clicar com o boto direito em um cone de VI da paleta e selecionar
Open VI no menu de atalho para abrir o VI.

11

2.2.3.2.1

Paleta Controls

Utilize a paleta Controls para indicar controles e indicadores no painel frontal. A


paleta Controls est disponvel somente no painel frontal. Clique com o boto direito do
mouse em uma rea aberta do painel frontal para exibir a paleta Controls. Fixe a paleta
Controls, clicando no pino, localizado no canto superior esquerdo da paleta.

2.2.3.2.2

Paleta Functions

Utilize a paleta Functions para montar o diagrama de bloco. A paleta Functions est
disponvel somente no diagrama de bloco. Clique com o boto direito do mouse em uma rea
aberta do diagrama de blocos para exibir a paleta Functions. Fixe a paleta Functions,
clicando no pino, localizado no canto superior esquerdo da paleta.

12

2.3 SALVANDO VIs


Selecione Save, Save As, Save All ou Save with Options no campo File para salvar
VIs como arquivos individuais ou agrupar diversos VIs e salv-los em uma biblioteca de VIs.
Os arquivos da biblioteca de VIs terminam com a extenso.llb.

2.4

CRIANDO UM VI
Os VIs possuem trs componentes principais: o painel frontal, o diagrama de blocos e

o painel de cones e conectores.

2.4.1 Painel Frontal


O painel frontal montado basicamente com controles que so os terminais interativos
de entrada do VI e os indicadores que so os terminais de sada do VI. Os controles so
basicamente botes, switchs e outros dispositivos de entrada, que possuem a finalidade
simular instrumentos, estes tambm fornecem dados para o diagrama de blocos do VI. Os
indicadores so grficos, LEDs e outros displays que simulam dispositivos de sada de
instrumentos e exibem os dados que o diagrama de bloco adquire ou gera.

13

2.4.1.1 Configurando Controle e Indicadores


possvel configurar quase todos os controles e indicadores, utilizando os menus de
atalho. Para acessar o menu de atalho de um controle ou indicador, clique com o boto
direito do mouse no ttulo.

2.4.2 Diagrama de Bloco


O diagrama de bloco composto por ns, terminais e ligaes.

2.4.2.1 Ns
Ns so objetos do diagrama de bloco que possuem entradas e/ou sadas e executam
operaes quando o VI executado. Eles so semelhantes a declaraes, operadores, funes
e sub-rotinas em linguagens de programao baseadas em texto. Os tipos de ns incluem
funes, subVIs e estruturas.

2.4.2.2 Terminais
Terminais so portas de entrada e sada que trocam informaes entre o painel frontal
e o diagrama de bloco. Os terminais so semelhantes a parmetros e constantes em linguagens
de programao baseadas em texto.

14

2.4.2.3 Ligaes
Ligaes so semelhantes a variveis em linguagens de programao baseadas em
texto, elas transferem dados entre objetos do diagrama de bloco. Cada ligao tem uma nica
fonte de dados que pode ser ligada a vrios VIs e funes que fazem a leitura dos dados. As
ligaes so de cores, estilos e espessuras diferentes, dependendo de seus tipos de dados.

1tipos mais comuns de ligao

2.4.3 Fluxo de Dados


O LabVIEW segue um modelo de fluxo de dados para executar VIs. Um n do
diagrama de bloco executado quando todas as suas entradas esto disponveis. Quando um
n completa sua execuo, fornece dados para seus terminais de sada e transfere os dados de
sada para o prximo n no caminho do fluxo de dados.

Exemplo I
Criar um VI que converta a temperatura que est na escala Celsius para a escala
Fahrenheit.
1. Na janela principal do LabVIEW, Clique no campo File
New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Thermometer e Numeric Control na paleta
Controls

Numeric, tambm selecione o boto Stop Button na paleta Controls

Boolean. Mova o indicador para o painel frontal e clique para posicionar os indicadores e
controles, um de cada vez.

15

Observao: O LabVIEW cria terminais correspondentes de indicador e de controle no


diagrama de bloco. Os terminais representam o tipo de dados do controle ou do indicador.
4. No diagrama de blocos selecione a funo While Loop na paleta Functions Structures,
tambm selecione as funes Multiply e Add na paleta Functions Numeric e por ltimo
selecione duas constantes numricas na paleta Functions Numeric. Mova o indicador
para o diagrama de blocos e clique para posicionar os blocos, uma de cada vez. As
funes Multiply, Add e as constantes junto com os indicadores e controles devero ser
posicionados e interligados dentro da funo While Loop como mostrado abaixo. Utilize a
ferramenta Wiring para interligar os blocos.

16

5. Para converter a temperatura de Celsius para Fahrenheit, execute o VI e insira valores no


indicador digital, para parar a execuo clique em STOP.

2.4.4 Criando Um SubVI


Um subVI nada mais do que um VI dentro de outro, em outras palavras um subVI
corresponde a uma chamada de sub rotina em linguagens de programao baseadas em texto.
A utilizao de subVIs ajuda a organizar a programao, gerenciar alteraes e a depurar o
diagrama de blocos rapidamente. O pseudocdigo e os diagrama de blocos a seguir
demonstram a analogia entre subVIs e sub-rotinas.

17

2.4.5.1 Criando Um SubVI a Partir de Um VI


Para criar um subVI a partir de um VI necessrio criar um painel de conectores. O
painel de conectores possui um conjunto de terminais que corresponde aos controles e
indicadores do VI. O painel de conectores define as entradas e sadas que podem ser ligadas
ao VI para que ele possa ser utilizado como um subVI.

2.4.5.2 Criando Um SubVI a Partir de Sees de Um VI


possvel simplificar o diagrama de bloco de um VI, convertendo sees do diagrama
de bloco em subVIs. Para converter uma seo de um VI utilize a ferramenta Positioning para
selecionar a seo do diagrama de bloco a ser reutilizada e selecionando Edit

Create

SubVI.
Observao: No possvel converter uma seo com mais de 28 entradas e sadas, pois esse
o nmero mximo disponvel em um painel de conectores.

18

2.5

LOOPS E DIAGRAMAS
Estruturas so representaes grficas dos loops e das declaraes condicionais de

linguagens de programao baseadas em texto. Utilize estruturas no diagrama de bloco para


repetir blocos de cdigo e executar cdigos de forma condicional ou em uma ordem
especfica.

2.5.1 While Loops


Esta estrutura executa um subdiagrama at que uma condio seja alcanada. While
Loop est localizado na paleta Functions Structures. Para adicionar a funo While Loop
no diagrama de blocos, selecione a funo e arraste o retngulo de seleo ao redor do
segmento a ser repetido.
Para adicionar objetos no While Loop, selecione o objeto, arraste-o e solte dentro da
estrutura. A estrutura While Loop executada at que seu terminal receba um valor Booleano
especfico.

19

Terminal condicional

Exemplo II
Criar um VI para visualizar um sinal e mostrar em um grfico at que a condio de
parada seja estabelecida.
1. Na janela principal do LabVIEW, Clique no campo File
New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o diagrama Waveform Chart na paleta Controls
Graph, tambm selecione o boto Stop Button na paleta Controls Boolean. Mova o
indicador para o painel frontal e clique para posicionar o diagrama e o controle, um de
cada vez.

4. No diagrama de blocos selecione a funo While Loop na paleta Functions Structures,


tambm selecione as funes Random Number e mais uma constante numrica na paleta

20

Functions

Numeric e por ltimo selecione a funo Wait Until Next ms Multiple na

paleta Functions

Timing. Mova o indicador para o diagrama de blocos e clique para

posicionar as funes, uma de cada vez. As funes devero ser posicionadas e interligadas
dentro da funo While Loop como mostrado abaixo. Utilize a ferramenta Wiring para
interligar os blocos.

5. Para visualizar o sinal execute o VI e para parar a execuo clique em STOP. O loop da
funo While Loop ser executado a cada 500 milissegundos.

2.5.2 For Loops


Esta estrutura executa um subdiagrama por um determino nmero de vezes. O For
Loop est localizado na paleta Functions Structures. Para adicionar a funo For Loop no
diagrama de blocos, selecione a funo e arraste o retngulo de seleo ao redor do segmento

21

a ser repetido por um determinado nmero de vezes. Para adicionar objetos no For Loop,
selecione o objeto, arraste-o e solte dentro da estrutura. A estrutura For Loop executada at
que seu terminal de entrada receba o valor de iteraes. A contagem de iteraes sempre
iniciada em zero e aps a primeira iterao o terminal retorna para zero.
Terminal de iteraes

Exemplo III
Executar um VI por um determinado nmero de vezes.
1. Na janela principal do LabVIEW, Clique no campo File
New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione os indicadores Tank e Numeric Indicator e o controle
Numeric Control na paleta Controls

Numeric.

22

4. No diagrama de blocos selecione a funo For Loop na paleta Functions Structures,


tambm selecione as funes Random Number e mais uma constante numrica na paleta
Functions

Numeric e por ltimo selecione a funo Wait Until Next ms Multiple na

paleta Functions

Timing. Mova o indicador para o diagrama de blocos e clique para

posicionar as funes, uma de cada vez. As funes devero ser posicionadas e interligadas
dentro da funo For Loop como mostrado abaixo. Utilize a ferramenta Wiring para
interligar os blocos.

5. Execute o VI para compreender a funo For Loop. A funo For Loop executar o nmero
de iteraes atribudo no painel frontal. O loop da funo For Loop ser executado a cada
500 milissegundos.

23

2.6

ESTRUTURAS CASE
A estrutura Case possui dois ou mais subdiagramas ou condies Os subdiagramas

podem ser vistos somente um de cada vez e as condies so executadas pela estrutura uma
de cada vez. A estrutura analisa um valor de entrada e determina qual subdiagrama deve ser
executado. possvel fazer uma comparao da estrutura Case com as declaraes
condicionais if...then...else em linguagens de programao baseadas em texto.
Identificador do seletor de condies

Terminal do seletor

Identificador do seletor de condies: utilize os botes de seta de incremento e decremento


para rolar pelas condies disponveis.
Terminal do seletor: devesse ligar um nmero inteiro, um valor Booleano (TRUE ou
FALSE), uma string ou um valor do tipo numrico ao terminal do seletor. Tambm possvel
especificar uma condio padro para lidar com valores fora de faixa ou listar expressamente
todos os valores possveis de entrada.

Exemplo IV
Estrutura Case Booleana
Executar um VI com a estrutura Case Booleana, para que quando a entrada for TRUE
ocorra a soma de dois nmeros e quando a entrada for FALSE ocorra a subtrao de dois
nmeros.
1. Na janela principal do LabVIEW, Clique no campo File

New VI para criar um novo VI.

24

2. Selecione Window

Tile Left and Right para exibir o painel frontal e o diagrama de

bloco lado a lado.


3. No painel frontal selecione o indicador Numeric Indicator e dois controles numricos
Numeric Control na paleta Controls
Button na paleta Controls

Numeric e por ltimo selecione o boto Push

Boolean.

4. No diagrama de blocos selecione a funo Case Structure na paleta Functions


Structures, tambm selecione as funes Add e Subtract. Mova o indicador para o
diagrama de blocos e clique para posicionar as funes, uma de cada vez. As funes
devero ser posicionadas e interligadas dentro da funo Case Structure como mostrado
abaixo. Utilize a ferramenta Wiring para interligar os blocos.

25

5. Quando a entrada for TRUE ocorrera a soma e quando a entrada for FALSE ocorrera uma
subtrao.

Estrutura Case utilizando nmeros inteiros


Executar um VI com a estrutura Case utilizando nmeros inteiros, para que quando a
entrada for igual a 0 ocorra a subtrao de dois nmeros e quando a entrada for igual a 1
ocorra a adio de dois nmeros.
1. Na janela principal do LabVIEW, Clique no campo File
New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Numeric Indicator e trs controles numricos
Numeric Control na paleta Controls

Numeric.

26

4. No diagrama de blocos selecione a funo Case Structure na paleta Functions


Structures, tambm selecione as funes Add e Subtract. Mova o indicador para o
diagrama de blocos e clique para posicionar as funes, uma de cada vez. As funes
devero ser posicionadas e interligadas dentro da funo Case Structure como mostrado
abaixo. Utilize a ferramenta Wiring para interligar os blocos. necessrio entrar nas
propriedades do bloco controle, para alterar os limites da entrada sendo estes 0 e 1,
qualquer nmero acima ou abaixo destes ser arredondado. Por exemplo se entrar com o
nmero 5 a entrada aproximar para 1, e se entrar com o nmero -3 a entrada
aproximar para 0.

5. Quando a entrada for 0 ou menor ocorrera uma subtrao e quando a entrada for 1 ou
maior ocorrera uma adio.

27

Estrutura Case de String


Executar um VI com a estrutura Case utilizando strings, para que quando a string for
add ocorra a adio de dois nmeros e quando a string for subtract ocorra a subtrao de
dois nmeros.
1. Na janela principal do LabVIEW, Clique no campo File
New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Numeric Indicator e dois controles numricos
Numeric Control na paleta Controls
Control na paleta Controls

Numeric e por ltimo selecione o bloco String

String & Path.

4. No diagrama de blocos selecione a funo Case Structure na paleta Functions


Structures, tambm selecione as funes Add e Subtract. Mova o indicador para o
diagrama de blocos e clique para posicionar as funes, uma de cada vez. As funes
devero ser posicionadas e interligadas dentro da funo Case Structure como mostrado
abaixo. Com o boto direito clique na estrutura case e selecione Case Insensitive Match.
Utilize a ferramenta Wiring para interligar os blocos.

28

5. Quando a entrada for subtract ocorrera uma subtrao e quando a entrada for add ocorrera
uma adio. Para qualquer string diferente de add e subtract, a estrutura ter como padro a
string subtract.

2.7

ESTRUTURA SEQUENCE
A estrutura Sequence contm um ou mais subdiagramas, ou quadros, que so em

ordem sequencial. A estrutura sequence executa o quadro 0, depois o quadro 1, depois o


quadro 2, e assim por diante. A estrutura no completa sua execuo nem retorna nenhum
dado at que o ultimo quadro seja executado.

Exemplo V
Efetuar a operao matemtica que engloba a estrutura sequence.

29

1. Na janela principal do LabVIEW, Clique no campo File


New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Numeric Indicator e trs controles numricos
Numeric Control na paleta Controls

Numeric.

4. No diagrama de blocos selecione a funo Stacked Sequence duas vezes na paleta


Functions

Structures, tambm selecione as funes Add duas vezes e Multiply. Mova

o indicador para o diagrama de blocos e clique para posicionar as funes, uma de cada
vez. As funes devero ser posicionadas e interligadas dentro das funes Stacked
Sequence Structure como mostrado abaixo. Com o boto direito clique em uma das
estruturas Sequence e selecione Add Frame Before, depois com o boto direito selecione
Add Frame After e Add frame Before na outra estrutura Sequence. Utilize a ferramenta
Wiring para interligar os blocos.

30

5. O VI executara a primeira estrutura e em seguida outra, depois que ocorrer isto ocorrera a
adio dos dados. Utilize a ferramenta highlight execution para melhor visualizao dos
dados.

2.8

ESTRUTURA DE FRMULA
O frmula Node um n baseado em texto e utilizado para executar operaes

matemticas no diagrama de bloco. As estruturas de frmula so adequadas para equaes que


possuem muitas variveis.

Exemplo VI
Analisar o comportamento de uma funo, quando esta executada no frmula Node.
1. Na janela principal do LabVIEW, Clique no campo File
New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o diagrama Waveform Chart na paleta Controls Graph.

31

4. No diagrama de blocos selecione a funo For Loop na paleta Functions


tambm selecione as funo Divide na paleta Functions

Structures,

Numeric. Mova o indicador

para o diagrama de blocos e clique para posicionar as funes, uma de cada vez. As
funes devero ser posicionadas e interligadas como mostrado abaixo. Utilize a
ferramenta Wiring para interligar os blocos.

5. Execute o VI e visualize o grfico da funo especificada no formula Node.

32

3 LABVIEW INTERFACE FOR ARDUINO TOOLKIT


Requisitos Mnimos
Possuir a verso mais recente do software VI Package Manager (VIPM). possvel
baixar o VIPM em http://jki.net/vipm;
Possuir a verso mais recente do driver NI-VISA;

IDE Arduino;
LabVIEW 2013;
Acesso internet.

Observao: possvel que ocorra um problema com a configurao do servidor VI do


LabVIEW. Para solucionar este problema acesse
http://digital.ni.com/public.nsf/allkb/88275613105A4E7286257A5B00720DA1

33

3.1 INSTALANDO O LABVIEW INTERFACE FOR ARDUINO


1.

Execute o JKI VI Package Manager;

2. Navegue at LabVIEW Interface Arduino na lista de pacotes;

3. Clique no campo Install Package;

34

4. Abrira uma janela indicando que o pacote foi instalado com sucesso clique em Finish;

3.2 PREPARANDO O HARDWARE ARDUINO PARA O DOWNLOAD DO


MODELO

35

Para fazer o download do modelo so necessrios alguns passos iniciais como ter a IDE
do Arduino verso 1.0.5 baixada no computador e realizar a instalao do driver da porta de
comunicao. Os passos sero descritos logo abaixo:

Conecte a placa Arduino no computador;

V ao Gerenciador de Dispositivos;
Painel de Controle Hardware e Sons Gerenciador de Dispositivos;

V at Outros Dispositivos Dispositivo Desconhecido (clique com o boto direito


do mouse) e depois v a Atualizar Driver;

36

37

Clique em Procurar software de driver no computador;

V at a pasta que est localizada o driver do Arduino e depois clique em Avanar;

38

3.3

Depois de instalado o driver clique em Fechar;

ARDUINO

O Arduino um microcontrolador de placa nica e um conjunto de software para


program-lo. O hardware consiste em um projeto simples de hardware livre para o
controlador, com um processador Atmel AVR e suporte embutido de entrada/sada. O software
consiste de uma linguagem de programao padro e do bootloader que roda na placa.
Em termos prticos, um Arduino um pequeno computador que voc pode programar
para processar entradas e sadas entre o dispositivo e os componentes externos conectados a
ele. O Arduino o que chamamos de plataforma de computao fsica ou embarcada, ou seja,
um sistema que pode interagir com seu ambiente por meio de hardware e software.

3.3.1 Arduino Nano


Microcontrolador
Tenso operacional (nvel lgico)
Tenso de entrada (recomendado)
Tenso de entrada (limites)
Pinos digitais I / O
Pinos de entrada analgica
Corrente DC por I / O pino
Memria flash
SRAM
EEPROM
Velocidade de clock
Comprimento

ATmega168 ou ATmega328
5 Volts
7 12 Volts
6 20 Volts
14 pinos (6 PWM)
8 pinos
40 mA
16 KB (Atmega168) ou
32 KB (Atmega328)
1 KB (Atmega168) ou 2 KB (Atmega328)
512 bytes (Atmega168) ou
1 KB (Atmega328)
16 MHz
45 mm

39

Largura
Peso

18 mm
5 gramas

3.3.2 Arduino Uno


Microcontrolador
Tenso operacional (nvel lgico)
Tenso de entrada (recomendado)
Tenso de entrada (limites)
Pinos digitais I / O
Pinos de entrada analgica
Corrente DC por I / O pino
Corrente DC 3.3V
Memria flash
SRAM
EEPROM
Velocidade de clock
Comprimento
Largura
Peso

ATmega168 ou ATmega328
5 Volts
7 12 Volts
6 20 Volts
14 pinos (6 PWM)
8 pinos
40 mA
50 mA
32 KB (Atmega328)
2 KB (Atmega328)
1 KB (Atmega328)
16 MHz
68.6 mm
53.4 mm
25 gramas

40

3.3.3 Arduino Mega


Microcontrolador
Tenso operacional (nvel lgico)
Tenso de entrada (recomendado)
Tenso de entrada (limites)
Pinos digitais I / O
Pinos de entrada analgica
Corrente DC por I / O pino
Corrente DC 3.3V
Memria flash
SRAM
EEPROM
Velocidade de clock
Comprimento
Largura
Peso

ATmega 2560
5 Volts
7 12 Volts
6 20 Volts
54 pinos (15 PWM)
16 pinos
40 mA
50 mA
256 KB
8 KB
4 KB
16 MHz
102 mm
53 mm
32 gramas

41

3.3.4 Arduino Due


Microcontrolador
Tenso operacional (nvel lgico)
Tenso de entrada (recomendado)
Tenso de entrada (limites)
Pinos digitais I / O
Pinos de entrada analgica
Corrente DC por I / O pino
Corrente DC 3.3V
Corrente DC 5 V
Memria flash
SRAM
Velocidade de clock
Comprimento
Largura
Peso

AT91SAM3X8E
3.3 Volts
7 12 Volts
6 16 Volts
54 pinos (12 PWM)
12 pinos
130 mA
800 mA
800 mA
512 KB
96 KB
84 MHz
101.52 mm
53.3 mm
36 gramas

42

3.4

LABVIEW INTERFACE FOR ARDUINO (LIFA)


O LabVIEW Interface for Arduino uma ferramenta que possibilita aos

desenvolvedores, adquirir dados do microcontrolador Arduino e process-los no ambiente de


programao grfica LabVIEW. A ferramenta LIFA remove a dificuldade da programao
baseada em texto que o Arduino processa e traz melhores resultados na execuo do projeto.
O Arduino se comunica com o LabVIEW atravs de um firmware que carregado e
executado no Arduino, ele responde a comandos enviados no barramento USB do programa
LabVIEW e em seguida envia de volta os dados para o computador atravs da USB.

2.4.1 Carregando o firmware no Arduino


1. Abra a IDE do Arduino

2. Selecione File

Open....Navegue at Computador/Disco Local (C:)/Arquivos de

Programas/National Instruments/LabVIEW 2013/vi.lib/LabVIEW Interface for


Arduino/Firmware/LIFA_Base e selecione o arquivo LIFA_Base.ino.

43

3. Efetue o upload do firmware no Arduino. Depois de efetuado o upload o Arduino estar


pronto para se comunicar com o LabVIEW.

2.4.2 Conjunto de Objetos do LabVIEW Interface for Arduino


Representao dos objetos principais que compem o LabVIEW Interface for Arduino.
Diagrama de Blocos

Descrio
Objeto de inicializao da comunicao serial e entrada
de dados entre o Arduino e o LabVIEW.
Objeto de comunicao serial e sada de dados entre o
Arduino e o Simulink.

Objeto do pino de entrada analgica.

44

Objeto da porta de entrada analgica.

Objeto de definio do pino digital.

Objeto do pino de entrada digital.

Objeto da porta de entrada digital.

Objeto de sada do pino digital.

Objeto da porta de sada digital.

Objeto de sada do pino analgico (PWM).

Objeto de configurao da porta analgica (PWM)

Objeto de sada da porta analgica (PWM).

Objeto do buzzer.

Biblioteca Sensors.

Biblioteca Utility

45

Biblioteca Examples

Painel de Controle

Diagrama de Blocos

Descrio
Terminal de seleo do pino
analgico.
Terminal de seleo do pino
digital.

Terminal de seleo I/O.

Terminal de seleo do modelo


do Arduino.

Exemplo I
Executar um VI que leia a entrada digital e indique atravs de um LED no painel de
controle.

1. Na janela principal do LabVIEW, Clique no campo File


New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Square LED e o controle Stop Button na paleta
Controls

Boolean, tambm selecione os controles Board Type, Digital Pin e

Connection Type (USB/Serial) na paleta Controls

Arduino.

46

4. No diagrama de blocos selecione as funes While Loop e Case Structure, tambm


selecione os objetos Digital Read Pin, Init e Close e por ltimo selecione as funes
Unbundle By Name, Or, Simple Error, True Constant e False Constant. Mova o
indicador para o diagrama de blocos e clique para posicionar as funes e objetos, uma de
cada vez. As funes e blocos devero ser posicionadas e interligadas como mostrado
abaixo. Utilize a ferramenta Wiring para interligar os blocos.

5. A comunicao entre Arduino e Labview iniciada pelo objeto Init, este bloco
parametrizado com a taxa de transferncia de dados, modelo do Arduino e o tipo de
comunicao. A funo While Loop executa o tempo todo a varredura dos sinais
verificando as mudanas de estado, quando ocorrer a mudana de estado na entrada digital
a funo Case Structure vai processar o valor e definir se o LED acendera ou apagara.

47

Exemplo II
Executar um VI que acione uma sada digital, dado um comando Booleano no painel
frontal. Indique a sada digital atravs de um LED.

1. Na janela principal do LabVIEW, Clique no campo File


New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione os controles Push Button e Stop Button na paleta Controls
Boolean, tambm selecione os controles Board Type, Digital Pin, Pin Mode e
Connection Type (USB/Serial) na paleta Controls

Arduino.

48

4. No diagrama de blocos selecione as funes While Loop e Case Structure, tambm


selecione os objetos Set Digital Pin, Digital Write Pin, Init e Close e por ltimo
selecione as funes Unbundle By Name, Or e Simple Error. Mova o indicador para o
diagrama de blocos e clique para posicionar as funes e objetos, uma de cada vez. As
funes e blocos devero ser posicionadas e interligadas como mostrado abaixo. Utilize a
ferramenta Wiring para interligar os blocos.

5. A comunicao entre Arduino e Labview iniciada pelo objeto Init, este bloco
parametrizado com a taxa de transferncia de dados, modelo do Arduino e o tipo de
comunicao, tambm faz parte da parametrizao o objeto Pin Mode. A funo While
Loop executa o tempo todo a varredura dos sinais verificando as mudanas de estado,

49

quando ocorrer a mudana de estado no Push Button a funo Case Structure vai processar
o valor e definir se o LED acendera ou apagara.

Exemplo III
Executar um VI que leia a entrada digital, indique no painel de controle e acione uma
sada digital. Indique a sada digital atravs de um LED.

1. Na janela principal do LabVIEW, Clique no campo File


New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Square LED e o controle Stop Button na paleta
Controls

Boolean, tambm selecione os controles Digital Pin duas vezes, Board Type

e Connection Type (USB/Serial) na paleta Controls

Arduino.

50

4. No diagrama de blocos selecione as funes While Loop e Case Structure, tambm


selecione os objetos Digital Read Pin, Digital Write Pin, Set Digital Pin Init e Close e
por ltimo selecione as funes Unbundle By Name, Or, Simple Error, True Constant e
False Constant. Mova o indicador para o diagrama de blocos e clique para posicionar as
funes e objetos, uma de cada vez. As funes e blocos devero ser posicionadas e
interligadas como mostrado abaixo. Utilize a ferramenta Wiring para interligar os blocos.

5. A comunicao entre Arduino e Labview iniciada pelo objeto Init, este bloco
parametrizado com a taxa de transferncia de dados, modelo do Arduino e o tipo de
comunicao. A funo While Loop executa o tempo todo a varredura dos sinais
verificando as mudanas de estado, quando ocorrer a mudana de estado na entrada digital
a funo Case Structure vai processar o valor e definir se o LED acendera ou apagara.

51

Exemplo IV
Executar um VI que leia a entrada analgica do Arduino e indique no painel de
controle a tenso.

1. Na janela principal do LabVIEW, Clique no campo File


New VI para criar um novo VI.
2. Selecione Window Tile Left and Right para exibir o painel frontal e o diagrama de
bloco lado a lado.
3. No painel frontal selecione o indicador Gauge na paleta Controls
Button na paleta Controls

Numeric e Stop

Boolean, tambm selecione os controles Board Type,

Analog Pin e Connection Type (USB/Serial) na paleta Controls

Arduino.

52

4. No diagrama de blocos selecione a funo While Loop, tambm selecione os objetos


Analog Read Pin, Init e Close e por ltimo selecione as funes Unbundle By Name,
Or, Simple Error. Mova o indicador para o diagrama de blocos e clique para posicionar
a funo e os objetos, um de cada vez. As funo e os blocos devero ser posicionadas e
interligadas como mostrado abaixo. Utilize a ferramenta Wiring para interligar os blocos.

5. A comunicao entre Arduino e Labview iniciada pelo objeto Init, este bloco
parametrizado com a taxa de transferncia de dados, modelo do Arduino e o tipo de
comunicao. A funo While Loop executa o tempo todo a varredura do sinal verificando
a entrada analgica. Conforme o potencimetro gira a tenso, que varia de 0 volts 5 volts
mostrada no indicador Gauge.

53

Você também pode gostar