SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
 
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  

Manual do Usuário
Toolkit LabINO
Ferramenta de Programação
Gráfica para Arduino

Uberlândia-MG
01/2013
1. Apresentação
O LabINO é um kit de ferramentas destinado a programação
gráfica para Arduino via comunicação assíncrona RS-232/USB. O
toolkit foi desenvolvido na plataforma de programação LabVIEW,
utilizando as diversas opções de ferramentas disponíveis no software.
O LabINO possui suporte a vários tipos de sensores analógicos,
atuadores, motores, Display LCD 16x2 ou 20x4, dois sensores ultrasônicos, atuar como Arduino master e ter até 10 Arduinos Slave.
A programação textual, como a linguagem C, é compilada e
executada linha por linha, já a programação com o LabINO é gráfica
utilizando blocos de funções, a linguagem é interpretada e compilada
e sua execução é por fluxo de dados, essa execução traz muitos
benefícios que podem ser logo percebidos na programação, por
exemplo, a facilidade de criar códigos com execução paralela, sem
ter todas as dificuldades da linguagem textual.
O Arduino é controlado via Cabo e comunicação RS-232 Serial
ou alguma comunicação sem fio Serial. Para que ele possa funcionar,
a comunicação entre ele e o computador deve ser constante e sem
interferências, podendo utilizar os mais diversos hardwares de
comunicação tal seja o boud rate de 115200. Para comunicarem
entre si, foi criado um protocolo de comunicação, o protocolo
permite que o usuário sinta que todos os comandos estejam
executando ao mesmo tempo.
Utilizar um computador para fazer o controle do Arduino é muito
interessante em várias áreas da computação e engenharia, o arduino
por natureza necessita de outas placas (Shields) para executar tarefas
que ele não possui, como acessar a internet, enviar e-mails, painel
gráfico, dados do mouse, teclado e joystick, salvar arquivos de texto,
entre outros. É vasta a gama de aplicações do LabINO/LabVIEW com
o arduino.
2. Instalação
2.1 Versões LabVIEW
O toolkit foi desenvolvido na plataforma LabVIEW versão 2010, a
instalação do toolkit somente é possível se o LabVIEW instalado em
sua maquina for versão 2010 ou superior.
1) Execute o pacote de instalação.
Clique 2 vezes no ícone:

Logo após o menu de instalação irá aparecer.

Para instalar, clique no botão instalar, logo outra tela irá aparecer.
2) Leia os Termos de Uso e caso esteja de acordo, selecione a caixa
“Li e aceito os termos de uso”. Os termos de uso são importantes,
assumir o compromisso é assumir que irá realmente seguir com os
termos.
OBS: O software de instalação é compilado e construído para cada
usuário tendo assim a necessidade de informar o CPF no momento da
validação, isso é uma forma de evitar pirataria.
3) Informe o CPF e a Chave de Acesso que foi informada.
O local de instalação já é definido automaticamente, não altere, a
não ser que esse local não exista.
4) Clique em Instalar.
Apos a instalação uma mensagem será exibida.

Se essa mensagem aparecer um sua tela, o toolkit foi instalado
normalmente.
5) Clique em Ok. Uma nova tela irá aparecer.

6) Clique em Instalar.
Uma mensagem irá aparecer em sua tela, clique em Ok e Concluir.
A instalação foi bem sucedida. Para começar a utilizar o LabINO inicie
o LabVIEW e vá no diagrama de blocos, com botão direito clique na
parte branca da tela.

Após a instalação, temos que fazer o upload do firmware LabINO para
o Arduino. Clique no arquivo zipado “IDE LabINO” que foi copiado em
sua área de trabalho, descompacte ele e clique em “arduino.exe”.
No software Arduino abra o menu:
“FILE > Examples > LabINO >FirmewareMaster”
A seguinte tela irá se abrir.

Clique em Upload (seta indicada pelo circulo vermelho).
Caso peça qual porta serial o Arduino esteja conectado, informe-a.
Apos alguns segundos o upload foi efetuado.
Para se utilizar Arduinos no modo slave, tende-se fazer o upload do
firmeware. O suporte a arduino slave é feito por endereçamento,
cada arduino possui seu endereço, que varia de 0 a 9. No total são 10
Arduinos slaves e 1 master.
Siga os mesmos passos anteriores, mas dessa vez clique em
FirmewareSlave. “FILE > Examples > LabINO >FirmewareSlave”

0	
  a	
  9	
  

O primeiro Arduino possui o endereço 0, os outros são de 1 a 9.
Lembre-se de sempre alterar o endereço antes de fazer o upload ou a
ligação dos terminais.
2.2

Ligação Paralera I2C Arduinos Slaves

Para ligar os arduinos em paralelo é preciso
componentes fáceis de encontrar no mercado.

utilizar

alguns

Materiais:
- 6 x Jumpers
- 2 x Resistores 1k5 Ohms
Os jumpers vão variar pela quantidade de Arduinos Slaves você
utilizar, são 2 jumpers por Arduino.
Veja de forma ilustrada o esquema de ligação:

3. Conhecendo o LabVIEW
A ferramenta LabVIEW, podemos considerar assim, é
extremamente segura de erros e bugs, ela é utilizada principalmente
por engenheiros, cientistas e estudantes. Sua programação é feita em
forma gráfica, utilizando blocos de funções para realizar o controle ou
aquisição do arduino.
Vamos lá!
A tela inicial do LabVIEW é bastante simples e funcional, do
lado esquerdo temos o menu de projetos, e lado direito algumas
informações úteis, suporte online, entre outros.

Para iniciar um projeto, clique em Blank VI.
Durante o texto irá aparecer a seguinte sigla: VI
VI significa em inglês Virtual Instrument (Instrumento Virtual), isso se
deve a capacidade que o LabVIEW tem de criar instrumentos com
seus componentes e blocos de funções.
O labVIEW possui duas telas fundamentais, são elas o Painel Frontal e o
Diagrama de Blocos.
O painel frontal é a parte visual e interativo Homem Maquina, é onde
os componentes visuais são inseridos. Há uma vasta gama de
componentes visuais, com vários formatos e designe.
Clicando com o botão direito na tela, uma caixa irá aparecer.
Esses são os componentes visuais do LabVIEW, são vários os tipos de
variáveis. Na paleta Numeric são os componentes visuais numéricos,
na paleta boolean são os componentes booleanos e assim por diante.

O Diagrama de Blocos é a parte de programação gráfica,
algumas vezes reconhecidas como Linguagem G (G de Gráfica).
Então podemos entender que o programa em geral é um
equipamento, que possui sua estrutura externa com controles e no
interior os componentes que fazem o equipamento funcionar.
Com o botão direito, clique na parte branca da tela e irá
aparecer a caixa de funções, cada versão e licença do LabVIEW
possui sua caixa de funções, geralmente cada versão possui a sua.
Na caixa de Funções estão os blocos principais para criar seus
códigos, como estruturas loop, for loop, case, entre outros. Vamos a
paleta Structures:
1	
  

2	
  

4	
  

5	
  

8
	
  

7	
  

3	
  

6	
  

9	
  

Vamos entender as Structures:
1 – For loop
Quantas vezes vai executar o laço FOR
Indica quantas rodadas o laço FOR executou
Condição para finalizar o laço FOR
2 – While loop
Indica quantas rodadas o laço While Loop executou
Condição para finalizar o laço While Loop
3 – Timed Structure While Loop
Controlar frequência,
Terminal de erros

Saída de erros quando loop for finalizado
Condição para finalizar o laço
4 – Case
Variável que define o comportamento do caso
Caso true executa um código, caso false executa
outro código
5 – Flat Sequence
Executa os códigos em sequência como linguagem textual
6 – Math Script
É uma estrutura de suporte a códigos do Matlab
Input	
  
Output
7- Event Structure
Executa código com determinados eventos, como pressionar um
botão, ou mudar uma aba de uma pagina.
8 - In Place Element
Forma fácil de acessar Arrays e clusters, onde é necessário “abrir” a
linha de fluxo e separar os elementos para fazer eventuais
modificações.
9- Formula Node
Executa códigos textuais, é uma linguagem desenvolvida pela NI.
Paleta	
  Cluster,	
  Class	
  e	
  Variant	
  
	
  
É	
  uma	
  paleta	
  de	
  clusters,	
  cluster	
  é	
  uma	
  forma	
  de	
  unir	
  
várias	
   variáveis	
   em	
   uma	
   única	
   linha,	
   facilitando	
   o	
  
transporte	
  e	
  organização	
  visual	
  dos	
  códigos.	
  

Paleta	
  Numeric	
  
	
  
É	
  a	
  pelara	
  que	
  contém	
  os	
  blocos	
  matemáticos	
  do	
  
labVIEW.	
  

Paleta	
  Boolean	
  
	
  
Contém	
  os	
  blocos	
  de	
  lógica	
  booleana.	
  
Paleta	
  String	
  
	
  
Essa	
   paleta	
   trata	
   do	
   processamento	
   de	
   Strings	
  
(palavras,	
   caracteres,	
   ...).	
   Conversão	
   de	
   String	
  
para	
  numéricos,	
  entre	
  outros.	
  

Paleta	
  de	
  Comparações	
  
	
  
Faz	
   comparações	
   entre	
   duas	
   variáveis	
   e	
  
retorna	
   valores	
   booleanos:	
   verdadeiro	
   ou	
  
falso.	
  

	
  

Paleta	
  Time	
  
	
  
Possui	
  componentes	
  relacionados	
  ao	
  tempo,	
  
como	
  data,	
  hora,	
  Delay,	
  Wait,	
  entre	
  outros.	
  

Paleta	
  Graphics	
  e	
  sound	
  
	
  
Paleta	
  contem	
  elementos	
  para	
  criar	
  gráficos,	
  figuras,	
  
imagens,	
   emissão	
   de	
   beep,	
   captura	
   de	
   som	
   de	
  
microfones,	
  gravação	
  e	
  reprodução.	
  
4. Introdução ao LabINO
O LabINO é uma ferramenta de programação desenvolvida
para o Arduino, foi projetada para todos os tipos de usuários, alunos,
hobbystas ou profissionais. Surgiu a ideia em 2012, de se criar uma
programação de fácil entendimento e com vários recursos, o LabVIEW
possui todas essas qualidades e foi escolhido para ser a plataforma de
desenvolvimento,
sua
linguagem
é
gráfica
e
de
fácil
visualização/interpretação.
O Arduino é uma plataforma de desenvolvimento destinados a
todos os tipos de pessoas, sua facilidade de programação e
desenvolvimento de hardware proporciona ao os usuários um
entendimento da parte funcional do software/hardware. Possui várias
bibliotecas com suporte a vários tipos de sensores e atuadores. Vamos
descobrir um pouco do Arduino:

Existem vários modelos de Arduinos, o toolkit foi desenvolvido
com base no microcontrolador Atmega 328PU, qualquer placa de
desenvolvimento com esse microcontrolador possui suporte ao
Firmeware do LabINO.
Características do Arduino com Atmega 328:
-12 Entradas e Saídas Digitais
-6 Entradas Analógicas de 10 bits
-6 Portas PWM de 8 bits
-1 Comunicação Serial (TX e RX)
-Memória de 30000 byte
Comunicação
A comunicação entre Arduino/Computador/LabVIEW é muito
importante para boa utilização. A comunicação entre si é feita por RS232 de 115200 boud rate, a velocidade de comunicação máxima
aceita pelo Arduino, o controle é feito por protocolo de comunicação
e apenas funciona com a comunicação limpa entre computador e
Arduino, independentemente do tipo de transmissão dos dados. Isso
quer dizer que; para o Arduino funcionar, sempre ele deve estar
conectado ao computador com a velocidade de 115200, via cabo
ou sem fio. Caso o Arduino seja desconectado indevidamente, um
erro pode ocorrer.

A paleta LabINO

Essa é a Paleta LabINO, na primeira pagina temos os blocos principais;
Configuração, Iniciar, e Finalizar. Logo, temos as pastas de outras
funções.
Paleta/Sub-Paleta
LabINO

Digital & Analog

Sensores

LCD

Joy Stick
Mouse
Teclado
Servo
EEPROM
Atuadores

Rede

Bluetooth

Blocos

Conteúdo

Função

Config
Close
Init

Blink
Clear
Display
Print
Scroll
Init
Close
Read
Init
Close
Read
Init
Close
Read
Servo Read
Servo Write

Config:
Configurar
o
comportamento do Arduino.
Close:
Finalizar
a
comunicação com Arduino.
Init: Iniciar comunicação
com o Arduino.
Analog Read: Leitura Analog.
Analog Write: Escrita Alanog.
Digital Read: Leitura Digital.
Digital Write: Escrita Digital.
PWM Write : Escrita PWM.
LDR: Conversão analógica
para Lux.
LM35: Conversão analógica
para Temperatura.
Ultrasonic: Leitura de
Distância (cm).
Blink: Piscar Indicador.
Clear: Limpar Display.
Display: Ligar ou desligar.
Print: Escrever na tela.
Scroll: Mover para os lados
Init: Iniciar Joy Stick.
Close: Finalizar Joy Stick.
Read: Ler Joy Stick.
Init: Iniciar Mouse.
Close: Finalizar Mouse.
Read: Ler Mouse.
Init: Iniciar Teclado.
Close: Finalizar Teclado.
Read: Ler Teclado.
Servo Read: Ler Ângulo Atual.
Servo Write: Envia Ângulo.

Clear
Read
Write
Speaker

Clear: Limpa toda Memória
Read: Ler Memória
Write: Escreve na Memória
Speaker: Beep na porta PWM

Analog Read
Analog Write
Digital Read
Digital Write
PWM Write
LDR
LM35
Ultrasonic

Ping Apple
Ping Apple: Retorna tempo.
Ping Windows Ping Windows: Retorna
Send e-mail
tempo.
Send e-mail: Envia e-mail
com todas características.
Init, Close
Init, Close: Inicia/Finaliza.
Read
Read: Ler String.
Write
Write: Escreve String.
Serial

Fila

String

Read
Write

Read: Ler String.
Write: Escreve String.

Read Bool
Read Num
Read String
Insert Bool
Insert Num
Insert String
Init
Exit
Flush
Char to Num
Num to Char
Save txt
Analog to V
Conv. Temp
Map
Memoria Stat.
PID
Random

Config
Init

Read Bool: Ler valores bool.
Read Num: Ler valores num.
Read String: Ler String.
Insert Bool: Insere bool.
Insert Num: Insere num.
Insert String: Insere String.
Init: Inicia fila.
Exit: Finaliza fila.
Flush: Limpa fila.
Char to Num: Converte
Num to Char: Converte
Save txt: Salva arquivos .txt.
Analog to V: Converte
valores analógicos em volts.
Conv. Temp: Converte
temperatura.
Map: Mapeia um valor
numérico.
Memoria Stat.: Dados sobre a
memória do PC.
PID: Proporcional Integral
Derivativo.
Random: Gera números
Randomicos.
Config: Configurar Expansão
Init: Iniciar Expansão

Analog Read
Analog Write
Digital Read
Digital Write
PWM Write
Clear
Set Title
Set Value
Write

Analog Read: Leitura Analog.
Analog Write: Escrita Alanog.
Digital Read: Leitura Digital.
Digital Write: Escrita Digital.
PWM Write : Escrita PWM.
Clear: Limpar Gráfico LCD.
Set Title: Informar Titulo.
Set Value: Enviar valor.
Write: Enviar Ângulo

Cálculos

Exp. Arduino

Digital & Analog

LCD Grafico
Servo

Tabela de Blocos de Funções do LabINO
Tabela de Delay Natural
Alguns dos blocos de funções do LabINO e no Arduino possui
algum tipo de Delay (Atraso), isso se deve a comunicação entre PC e
Arduino que causa algum tipo de atraso na transmissão dos dados,
nada de alarmante, isso é natural da modelo de transmissão. Veja a
tabela:

Nome

Bloco

Delay (ms)

Analog Read

20

Digital Read

20

Ultra-sonic Read

1

Servo Read

20

EEPROM Read

20

Bluetooth Read

20

Serial Read

20

Analog Read

20

Digital Read

20
Tabela de Delay (Atrasos)
5. Programação
Agora vamos ver como se programar com o kit de ferramentas
LabINO. Vou mostrar a vocês os exemplos que estão junto ao toolkit,
esses exemplos são fáceis de programar e se conseguir o hardware
para realiza-los. Lembrando a programação na linguagem C do
Arduino, temos duas funções fundamentais para programa-lo, são o
void setup() e o void loop().
O void setup() configura os parâmetros e comportamento,
iniciar sensores, comunicação, atuadores entre outros. O void loop()
executa os códigos infinitamente até algo o pare, esses códigos são
ordens que você passou para o Arduino realizar.
Com o LabINO é praticamente igual, existe quatro partes
fundamentais, CONFIGURAR > INICIAR > EXECUTAR > FINALIZAR.

CONFIGURAR

INICIAR

EXECUTAR

FINALIZAR

A forma que o código é executado e os dados são
transportados podemos dizer que é por fluxo, o fluxo sempre ocorre da
esquerda para direita e de cima para baixo.
Inicio	
  

Para controla e visualizar informações existem dois tipos de
componentes, Control e Indicator.
Vamos ao primeiro Exemplo Básico, Leitura Analógica:
Para realizarmos a leitura analógica precisamos dos seguintes
componentes:
1 x potenciômetro 10k Ohms
1 x protoboard
3 x jumpers
A ligação dos terminais é feita da seguinte forma:

No Painel Frontal:
1 x Waveforma graph
1 x Dial
1 x Botão stop (inclui automaticamente durante programação)
1 x Visa resource name (inclui automaticamente durante
programação)
1 x Raised box (para acabamento)
No diagrama de Blocos:
I.
II.
III.
IV.

V.
VI.
VII.
VIII.

IX.
X.
XI.
XII.
XIII.

XIV.
XV.

Utilizando a paleta LabINO, selecione o bloco CONFIG e coloque-o na
tela.
Selecione o bloco INIT e coloque-o na tela.
Interligue os dois pela Saída de Configuração e Entrada de
Configuração.
No bloco INIT clique com botão direito no terminal Porta Serial
Arduino, vá até Create/Control. Isso criará no Painel Frontal um Visa
Resource Name, onde é selecionado a porta Serial que o Arduino está
conectado.
Na paleta Structures, selecione a estrutura While Loop e modele-a na
tela depois logo após o bloco INIT.
Na paleta LabINO, entre na sub-paleta Digital & Analog e selecione o
bloco Analog Read, coloque-o dentro do While Loop.
Interligue a saída do bloco INIT na entrada do bloco ANALOG READ, e
da mesma forma a Saída de Erro na Entrada de Erro.
No bloco Analog Read, com o botão direito clique no terminal Porta
Analógica, logo em Create, depois Constante. Selecione a Porta
Analógica 0.
Arraste para dentro do While Loop, o ícone do gráfico e do Dial.
Interligue o gráfico e dial na saída do bloco Analog Read -> Valor
Analógico.
Na paleta LabINO selecione Destroy e coloque-o fora do While Loop.
Interligue os terminais de Saída Arduino é Saída Erro no bloco Destroy.
Na paleta Clusters selecione Unblundle By Name e coloque-o dentro
do loop e conecte-o com a linha de erros depois do bloco Analog
Read, selecione no Unbundle “Status”.
Na paleta Boolean selecione a porta lógica AND e interligue a saída
do Unbundle em um dos dois terminais de entrada da porta lógica.
Na porta lógica, em um dos terminais de entrada, clique com botão
direito, vá em Create, e crie um novo Control. Esse botão vai servir
para finalizar o loop, ou então se houver algum erro,
automaticamente o loop será finalizado, posteriormente o programa.

Pronto, o programa está feito! Para ter certeza que tudo está
interligado perfeitamente e sem nenhum erro, você pode recorrer ao
controle
, que fica do lado esquerdo e na parte de cima, caso ele
esteja com uma seta branca, seu programa está pronto para ser
executado, caso esteja assim
seu código possui um erro. Para
visualizar o erro clique na seta e uma nova tela irá aparecer com os
erros, clique duas vezes e automaticamente irá te levar ao local do
erro.
Vamos ver como ficou o código:

Vamos ao segundo Exemplo Básico, Leitura Digital:
Bom, neste exemplo vamos criar um código para leitura Digital,
a leitura digital apenas retorna dois tipos de valores: true (verdadeiro)
ou false (falso). É como ligar uma lâmpada, quando estiver acessa é
true, se estiver desligada é false.
Já que o programa anterior é parecido com esse, apenas vou
indicar os componentes a serem usados neste exemplo:
1 x push button
1 x resistor de 330 Ohms
3 x Jumpers
A ligação dos terminais é feita da seguinte forma:
No Painel Frontal:
1 x Visa resource name (inclui automaticamente durante
programação)
1 x LED
1 x Botão stop (inclui automaticamente durante programação)

No Diagrama de Blocos:
Vamos ao terceiro Exemplo Básico, Blink:
Neste exemplo vamos aprender como piscar um LED do
arduino, parece bem simples e na verdade é. Bom, mas temos que
começar sempre de exemplos básicos e chegar aos complexos,
vamos ver como se configura o pino digital para ser saída ou entrada,
os parâmetros do bloco Digital Write e bloco Delay.
Vamos precisar dos seguintes componentes:
1 x LED
2 x Jumpers
Ou se preferir, apenas ligar o LED no terminal 13.
A ligação dos terminais é feita da seguinte forma:

No Painel Frontal:
1 x Visa resource name (inclui automaticamente durante
programação)
1 x Botão stop (inclui automaticamente durante programação)
No Diagrama de Blocos:

I.
II.
III.

IV.

V.
VI.

VII.
VIII.

Coloque no Diagrama de Blocos, os blocos principais, interligue os
como na imagem acima.
No bloco Config, passe o mouse no terminal do Pino Digital 13 e clique
com botão direito, vá em Create, e depois Contante,
Na constante que apareceu, clique e mude para Saída. Os terminais
do arduino são padronizados como Entrada, isso evita que queime
algum componente caso uma ligação fique errada.
O bloco Digital Write possui alguns parâmetros que podem ser
cruciais em um programa para que a comunicação seja fluente. Os
parâmetros são: qual pino Digital e o modo de envio. No terminal Pino
Digital, crie uma constante e selecione o Pino 13, e no Modo crie uma
constante e coloque Reenviar, isso é para enviar sempre a variável
true (1 ou verdadeiro) ou false (0 ou false) a cada rodada do loop, se
colocar Não Reenviar, apenas vai ser enviado quando o valores
booleano forem trocado. Ex. De true para false ou vice-versa.
No terminal High/Low criar uma constante, passe-a para True.
Na paleta Time, selecione o bloco Time Delay. Quando coloca-lo no
diagrama de blocos, uma tela irá aparecer. A unidade está em
segundos (1,000), se desejar colocar em micro-segundos basta
apenar colocar nas centenas depois da virgula o tempo em ms. Ex.
(0,050) 50 ms.
Faça novamente o IV e V, apenas alterando a variável High/Low para
False.
Termine de interligar os terminais.
Vamos ao quarto Exemplo Básico, Fade:
Neste exemplo vamos aprender como variar a luminosidade de
um LED pela porta PWM. Para isso vamos utilizar a estrutura FOR e um
pouco de programação em paralelo.
Vamos precisar dos seguintes componentes:
1 x LED
2 x Jumpers
Ou se preferir, apenas ligar o LED no terminal 10.
A ligação dos terminais é feita da seguinte forma:

No Painel Frontal:
1 x Visa resource name (inclui automaticamente durante
programação)
1 x Botão stop (inclui automaticamente durante programação)
1 x Slide
No diagrama de Blocos:

Vamos entender:
No primeiro for loop, temos o bloco PWM com a porta PWM 10
selecionada, e o valor PWM indicado pela quantidade de loop que
será executado, que é 255 vezes. 255 é o valor de 8 bits suportado
pelas portas PWM (0 a 255). Dentro do primeiro for, também tem um
delay de 10 ms conectado a linha de erro e uma variável local Armaz.
Outra variável local stop. Para criar uma variável local, primeiro é
necessário colocar no Painel Frontal um elemento numérico para
controle, no diagrama de blocos clique com botão direito no ícone
do elemento numérico e vá até Create, local variable. Para mudar
sua forma clique com o botão direito e vá até Change To Write, ou
Change To Read.
O outro for loop é praticamente a mesma coisa, o for vai
executar 255 vezes, só que dessa vez dai decrementando o valor
PWM, para isso temos que fazer uma conta simples, que é:
valor = (255 – loops rodados), isso é 255 – 0 = 255 , 255 – 1 = 254 e assim
por diante, até o loop finalizar.
Logo, existe outro While loop, que executa paralelamente ao o
While loop maior, isso é bom pois um não depende o fluxo do outro
para ser executado. Esse loop foi criado apenas para indicar no Painel
frontal, qual intensidade de luz está sendo aplicado ao LED. Utilizando
uma variável local, um delay de 1 ms, e outra variável local do stop,
pode-se informar os valores.
Outros Exemplos
Já vimos anteriormente 4 exemplos de programação com
LabINO e já temos uma noção como programar em blocos. Nos
próximos exemplos a explicação vai ficar cada vez menor e você irá
entender normalmente.

JoyStick + Servo
Neste exemplo vamos ver como controlar um servo motor utilizando
um JoyStick de computador:
Componentes:
1 x JoyStick de Computador
1 x Servo Motor
Jumpers
Esquema de conexão:

No Painel Frontal:
Diagrama de Blocos:

Display LCD
Esse exemplo mostra como conectar e programar um Display LCD.
Esquema de conexão:
Painel Frontal:

Diagrama de Blocos:
Expansão + Display LCD + LCD Nokia + LDR +
Microphone
Esquema de Conexão:

Painel Frontal:
Diagrama de Blocos:
Contato:
Para adquirir o toolkit envie um e-mail de solicitação para:
vendaslabino@gmail.com
Para Informações, duvidas, erros ou contato com o desenvolvedor,
envie um e-mail para: labinocontato@gmail.com
Informações
sobre
o
http://www.labinobrasil.com

toolkit

LabINO

no

Referências:
National Instruments LabVIEW: http://www.ni.com/labview/pt/
Arduino: http://arduino.cc
LabINO: http://www.labinobrasil.com

Toolkit LabINO
Desenvolvendo Ferramentas para o Sucesso
1-2013
Uberlândia-MG

site:

Mais conteúdo relacionado

Mais procurados

Mais procurados (13)

Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Tutorial circuit maker
Tutorial circuit makerTutorial circuit maker
Tutorial circuit maker
 
Java swing
Java swingJava swing
Java swing
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
 
Arquiteturas de Computadores - slides
Arquiteturas de Computadores - slidesArquiteturas de Computadores - slides
Arquiteturas de Computadores - slides
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
C.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en DiseñoC.E.S.A.R - Prototipación Electronica en Diseño
C.E.S.A.R - Prototipación Electronica en Diseño
 
Java12
Java12Java12
Java12
 
Apostila Software Arena
Apostila Software ArenaApostila Software Arena
Apostila Software Arena
 
Apostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançadoApostila sobre controlador lógico programável avançado
Apostila sobre controlador lógico programável avançado
 
Tutorial logix pro
Tutorial logix proTutorial logix pro
Tutorial logix pro
 
Uso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoUso Do Arena Em Simulacao
Uso Do Arena Em Simulacao
 

Semelhante a Manual lab ino

Introdução ao Visuino por Swellington
Introdução ao Visuino por SwellingtonIntrodução ao Visuino por Swellington
Introdução ao Visuino por SwellingtonSwellington Santos
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDeviceRicardo Rufino
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar pythonLourenço Junior
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfHenrique Alves
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Apostila de programacao java
Apostila de programacao javaApostila de programacao java
Apostila de programacao javaCleber Costa
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfEdkallenn Lima
 
Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoCarlos Eduardo Pantoja
 
Softblue logic-ide
Softblue logic-ideSoftblue logic-ide
Softblue logic-idemateusvini
 
Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02Yury Pontes
 
Linguagem de java
Linguagem de javaLinguagem de java
Linguagem de javaGenique
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoCarlos Eduardo Pantoja
 

Semelhante a Manual lab ino (20)

Introdução ao Visuino por Swellington
Introdução ao Visuino por SwellingtonIntrodução ao Visuino por Swellington
Introdução ao Visuino por Swellington
 
ArduinoDay 2015 - OpenDevice
ArduinoDay 2015 -  OpenDeviceArduinoDay 2015 -  OpenDevice
ArduinoDay 2015 - OpenDevice
 
ptt
pttptt
ptt
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar python
 
Slide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdfSlide - Introdução ao Arduino e Sensores.pdf
Slide - Introdução ao Arduino e Sensores.pdf
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
18. arduino
18. arduino18. arduino
18. arduino
 
Semana 1
Semana 1Semana 1
Semana 1
 
Apostila de programacao java
Apostila de programacao javaApostila de programacao java
Apostila de programacao java
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Arduino e a IOT
Arduino e a IOTArduino e a IOT
Arduino e a IOT
 
Integrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o JavinoIntegrando a Programação Java com Arduino Utilizando o Javino
Integrando a Programação Java com Arduino Utilizando o Javino
 
Arduino
ArduinoArduino
Arduino
 
Softblue logic-ide
Softblue logic-ideSoftblue logic-ide
Softblue logic-ide
 
Apostila de pic basic
Apostila de pic basicApostila de pic basic
Apostila de pic basic
 
Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02Apostiladepic basic-110602153048-phpapp02
Apostiladepic basic-110602153048-phpapp02
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Apostila java
Apostila javaApostila java
Apostila java
 
Linguagem de java
Linguagem de javaLinguagem de java
Linguagem de java
 
Comunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware JavinoComunicação entre Java e Arduino Utilizando o Middleware Javino
Comunicação entre Java e Arduino Utilizando o Middleware Javino
 

Mais de Chellton Almeida

Mais de Chellton Almeida (9)

Prova eletronica basica
Prova eletronica basicaProva eletronica basica
Prova eletronica basica
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
 
Introdução a Microcontroladores PIC
Introdução a Microcontroladores PICIntrodução a Microcontroladores PIC
Introdução a Microcontroladores PIC
 
Apostila Arduino.(Melhor Apostila)
Apostila Arduino.(Melhor Apostila)Apostila Arduino.(Melhor Apostila)
Apostila Arduino.(Melhor Apostila)
 
Cartilhado arduino ed1
Cartilhado arduino ed1Cartilhado arduino ed1
Cartilhado arduino ed1
 
Computação na nuvem
Computação na nuvemComputação na nuvem
Computação na nuvem
 
Microsoft
MicrosoftMicrosoft
Microsoft
 
Firewall
FirewallFirewall
Firewall
 
Aprendendo a programar em arduino
Aprendendo a programar em arduinoAprendendo a programar em arduino
Aprendendo a programar em arduino
 

Último

Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfLuizaAbaAba
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasSocorro Machado
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSOLeloIurk1
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxedelon1
 

Último (20)

Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para criançasJogo de Rimas - Para impressão em pdf a ser usado para crianças
Jogo de Rimas - Para impressão em pdf a ser usado para crianças
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptxSlide - EBD ADEB 2024 Licao 02 2Trim.pptx
Slide - EBD ADEB 2024 Licao 02 2Trim.pptx
 

Manual lab ino

  • 1.                                             Manual do Usuário Toolkit LabINO Ferramenta de Programação Gráfica para Arduino Uberlândia-MG 01/2013
  • 2.
  • 3. 1. Apresentação O LabINO é um kit de ferramentas destinado a programação gráfica para Arduino via comunicação assíncrona RS-232/USB. O toolkit foi desenvolvido na plataforma de programação LabVIEW, utilizando as diversas opções de ferramentas disponíveis no software. O LabINO possui suporte a vários tipos de sensores analógicos, atuadores, motores, Display LCD 16x2 ou 20x4, dois sensores ultrasônicos, atuar como Arduino master e ter até 10 Arduinos Slave. A programação textual, como a linguagem C, é compilada e executada linha por linha, já a programação com o LabINO é gráfica utilizando blocos de funções, a linguagem é interpretada e compilada e sua execução é por fluxo de dados, essa execução traz muitos benefícios que podem ser logo percebidos na programação, por exemplo, a facilidade de criar códigos com execução paralela, sem ter todas as dificuldades da linguagem textual. O Arduino é controlado via Cabo e comunicação RS-232 Serial ou alguma comunicação sem fio Serial. Para que ele possa funcionar, a comunicação entre ele e o computador deve ser constante e sem interferências, podendo utilizar os mais diversos hardwares de comunicação tal seja o boud rate de 115200. Para comunicarem entre si, foi criado um protocolo de comunicação, o protocolo permite que o usuário sinta que todos os comandos estejam executando ao mesmo tempo. Utilizar um computador para fazer o controle do Arduino é muito interessante em várias áreas da computação e engenharia, o arduino por natureza necessita de outas placas (Shields) para executar tarefas que ele não possui, como acessar a internet, enviar e-mails, painel gráfico, dados do mouse, teclado e joystick, salvar arquivos de texto, entre outros. É vasta a gama de aplicações do LabINO/LabVIEW com o arduino.
  • 4. 2. Instalação 2.1 Versões LabVIEW O toolkit foi desenvolvido na plataforma LabVIEW versão 2010, a instalação do toolkit somente é possível se o LabVIEW instalado em sua maquina for versão 2010 ou superior. 1) Execute o pacote de instalação. Clique 2 vezes no ícone: Logo após o menu de instalação irá aparecer. Para instalar, clique no botão instalar, logo outra tela irá aparecer.
  • 5. 2) Leia os Termos de Uso e caso esteja de acordo, selecione a caixa “Li e aceito os termos de uso”. Os termos de uso são importantes, assumir o compromisso é assumir que irá realmente seguir com os termos. OBS: O software de instalação é compilado e construído para cada usuário tendo assim a necessidade de informar o CPF no momento da validação, isso é uma forma de evitar pirataria. 3) Informe o CPF e a Chave de Acesso que foi informada. O local de instalação já é definido automaticamente, não altere, a não ser que esse local não exista. 4) Clique em Instalar.
  • 6. Apos a instalação uma mensagem será exibida. Se essa mensagem aparecer um sua tela, o toolkit foi instalado normalmente. 5) Clique em Ok. Uma nova tela irá aparecer. 6) Clique em Instalar.
  • 7. Uma mensagem irá aparecer em sua tela, clique em Ok e Concluir. A instalação foi bem sucedida. Para começar a utilizar o LabINO inicie o LabVIEW e vá no diagrama de blocos, com botão direito clique na parte branca da tela. Após a instalação, temos que fazer o upload do firmware LabINO para o Arduino. Clique no arquivo zipado “IDE LabINO” que foi copiado em sua área de trabalho, descompacte ele e clique em “arduino.exe”.
  • 8. No software Arduino abra o menu: “FILE > Examples > LabINO >FirmewareMaster” A seguinte tela irá se abrir. Clique em Upload (seta indicada pelo circulo vermelho). Caso peça qual porta serial o Arduino esteja conectado, informe-a. Apos alguns segundos o upload foi efetuado.
  • 9. Para se utilizar Arduinos no modo slave, tende-se fazer o upload do firmeware. O suporte a arduino slave é feito por endereçamento, cada arduino possui seu endereço, que varia de 0 a 9. No total são 10 Arduinos slaves e 1 master. Siga os mesmos passos anteriores, mas dessa vez clique em FirmewareSlave. “FILE > Examples > LabINO >FirmewareSlave” 0  a  9   O primeiro Arduino possui o endereço 0, os outros são de 1 a 9. Lembre-se de sempre alterar o endereço antes de fazer o upload ou a ligação dos terminais.
  • 10. 2.2 Ligação Paralera I2C Arduinos Slaves Para ligar os arduinos em paralelo é preciso componentes fáceis de encontrar no mercado. utilizar alguns Materiais: - 6 x Jumpers - 2 x Resistores 1k5 Ohms Os jumpers vão variar pela quantidade de Arduinos Slaves você utilizar, são 2 jumpers por Arduino. Veja de forma ilustrada o esquema de ligação: 3. Conhecendo o LabVIEW A ferramenta LabVIEW, podemos considerar assim, é extremamente segura de erros e bugs, ela é utilizada principalmente por engenheiros, cientistas e estudantes. Sua programação é feita em forma gráfica, utilizando blocos de funções para realizar o controle ou aquisição do arduino. Vamos lá!
  • 11. A tela inicial do LabVIEW é bastante simples e funcional, do lado esquerdo temos o menu de projetos, e lado direito algumas informações úteis, suporte online, entre outros. Para iniciar um projeto, clique em Blank VI. Durante o texto irá aparecer a seguinte sigla: VI VI significa em inglês Virtual Instrument (Instrumento Virtual), isso se deve a capacidade que o LabVIEW tem de criar instrumentos com seus componentes e blocos de funções.
  • 12. O labVIEW possui duas telas fundamentais, são elas o Painel Frontal e o Diagrama de Blocos. O painel frontal é a parte visual e interativo Homem Maquina, é onde os componentes visuais são inseridos. Há uma vasta gama de componentes visuais, com vários formatos e designe.
  • 13. Clicando com o botão direito na tela, uma caixa irá aparecer. Esses são os componentes visuais do LabVIEW, são vários os tipos de variáveis. Na paleta Numeric são os componentes visuais numéricos, na paleta boolean são os componentes booleanos e assim por diante. O Diagrama de Blocos é a parte de programação gráfica, algumas vezes reconhecidas como Linguagem G (G de Gráfica). Então podemos entender que o programa em geral é um equipamento, que possui sua estrutura externa com controles e no interior os componentes que fazem o equipamento funcionar.
  • 14. Com o botão direito, clique na parte branca da tela e irá aparecer a caixa de funções, cada versão e licença do LabVIEW possui sua caixa de funções, geralmente cada versão possui a sua. Na caixa de Funções estão os blocos principais para criar seus códigos, como estruturas loop, for loop, case, entre outros. Vamos a paleta Structures:
  • 15. 1   2   4   5   8   7   3   6   9   Vamos entender as Structures: 1 – For loop Quantas vezes vai executar o laço FOR Indica quantas rodadas o laço FOR executou Condição para finalizar o laço FOR 2 – While loop Indica quantas rodadas o laço While Loop executou Condição para finalizar o laço While Loop 3 – Timed Structure While Loop Controlar frequência,
  • 16. Terminal de erros Saída de erros quando loop for finalizado Condição para finalizar o laço 4 – Case Variável que define o comportamento do caso Caso true executa um código, caso false executa outro código 5 – Flat Sequence Executa os códigos em sequência como linguagem textual 6 – Math Script É uma estrutura de suporte a códigos do Matlab Input   Output 7- Event Structure Executa código com determinados eventos, como pressionar um botão, ou mudar uma aba de uma pagina. 8 - In Place Element Forma fácil de acessar Arrays e clusters, onde é necessário “abrir” a linha de fluxo e separar os elementos para fazer eventuais modificações. 9- Formula Node Executa códigos textuais, é uma linguagem desenvolvida pela NI.
  • 17. Paleta  Cluster,  Class  e  Variant     É  uma  paleta  de  clusters,  cluster  é  uma  forma  de  unir   várias   variáveis   em   uma   única   linha,   facilitando   o   transporte  e  organização  visual  dos  códigos.   Paleta  Numeric     É  a  pelara  que  contém  os  blocos  matemáticos  do   labVIEW.   Paleta  Boolean     Contém  os  blocos  de  lógica  booleana.  
  • 18. Paleta  String     Essa   paleta   trata   do   processamento   de   Strings   (palavras,   caracteres,   ...).   Conversão   de   String   para  numéricos,  entre  outros.   Paleta  de  Comparações     Faz   comparações   entre   duas   variáveis   e   retorna   valores   booleanos:   verdadeiro   ou   falso.     Paleta  Time     Possui  componentes  relacionados  ao  tempo,   como  data,  hora,  Delay,  Wait,  entre  outros.   Paleta  Graphics  e  sound     Paleta  contem  elementos  para  criar  gráficos,  figuras,   imagens,   emissão   de   beep,   captura   de   som   de   microfones,  gravação  e  reprodução.  
  • 19. 4. Introdução ao LabINO O LabINO é uma ferramenta de programação desenvolvida para o Arduino, foi projetada para todos os tipos de usuários, alunos, hobbystas ou profissionais. Surgiu a ideia em 2012, de se criar uma programação de fácil entendimento e com vários recursos, o LabVIEW possui todas essas qualidades e foi escolhido para ser a plataforma de desenvolvimento, sua linguagem é gráfica e de fácil visualização/interpretação. O Arduino é uma plataforma de desenvolvimento destinados a todos os tipos de pessoas, sua facilidade de programação e desenvolvimento de hardware proporciona ao os usuários um entendimento da parte funcional do software/hardware. Possui várias bibliotecas com suporte a vários tipos de sensores e atuadores. Vamos descobrir um pouco do Arduino: Existem vários modelos de Arduinos, o toolkit foi desenvolvido com base no microcontrolador Atmega 328PU, qualquer placa de desenvolvimento com esse microcontrolador possui suporte ao Firmeware do LabINO. Características do Arduino com Atmega 328: -12 Entradas e Saídas Digitais -6 Entradas Analógicas de 10 bits -6 Portas PWM de 8 bits -1 Comunicação Serial (TX e RX) -Memória de 30000 byte
  • 20. Comunicação A comunicação entre Arduino/Computador/LabVIEW é muito importante para boa utilização. A comunicação entre si é feita por RS232 de 115200 boud rate, a velocidade de comunicação máxima aceita pelo Arduino, o controle é feito por protocolo de comunicação e apenas funciona com a comunicação limpa entre computador e Arduino, independentemente do tipo de transmissão dos dados. Isso quer dizer que; para o Arduino funcionar, sempre ele deve estar conectado ao computador com a velocidade de 115200, via cabo ou sem fio. Caso o Arduino seja desconectado indevidamente, um erro pode ocorrer. A paleta LabINO Essa é a Paleta LabINO, na primeira pagina temos os blocos principais; Configuração, Iniciar, e Finalizar. Logo, temos as pastas de outras funções.
  • 21. Paleta/Sub-Paleta LabINO Digital & Analog Sensores LCD Joy Stick Mouse Teclado Servo EEPROM Atuadores Rede Bluetooth Blocos Conteúdo Função Config Close Init Blink Clear Display Print Scroll Init Close Read Init Close Read Init Close Read Servo Read Servo Write Config: Configurar o comportamento do Arduino. Close: Finalizar a comunicação com Arduino. Init: Iniciar comunicação com o Arduino. Analog Read: Leitura Analog. Analog Write: Escrita Alanog. Digital Read: Leitura Digital. Digital Write: Escrita Digital. PWM Write : Escrita PWM. LDR: Conversão analógica para Lux. LM35: Conversão analógica para Temperatura. Ultrasonic: Leitura de Distância (cm). Blink: Piscar Indicador. Clear: Limpar Display. Display: Ligar ou desligar. Print: Escrever na tela. Scroll: Mover para os lados Init: Iniciar Joy Stick. Close: Finalizar Joy Stick. Read: Ler Joy Stick. Init: Iniciar Mouse. Close: Finalizar Mouse. Read: Ler Mouse. Init: Iniciar Teclado. Close: Finalizar Teclado. Read: Ler Teclado. Servo Read: Ler Ângulo Atual. Servo Write: Envia Ângulo. Clear Read Write Speaker Clear: Limpa toda Memória Read: Ler Memória Write: Escreve na Memória Speaker: Beep na porta PWM Analog Read Analog Write Digital Read Digital Write PWM Write LDR LM35 Ultrasonic Ping Apple Ping Apple: Retorna tempo. Ping Windows Ping Windows: Retorna Send e-mail tempo. Send e-mail: Envia e-mail com todas características. Init, Close Init, Close: Inicia/Finaliza. Read Read: Ler String. Write Write: Escreve String.
  • 22. Serial Fila String Read Write Read: Ler String. Write: Escreve String. Read Bool Read Num Read String Insert Bool Insert Num Insert String Init Exit Flush Char to Num Num to Char Save txt Analog to V Conv. Temp Map Memoria Stat. PID Random Config Init Read Bool: Ler valores bool. Read Num: Ler valores num. Read String: Ler String. Insert Bool: Insere bool. Insert Num: Insere num. Insert String: Insere String. Init: Inicia fila. Exit: Finaliza fila. Flush: Limpa fila. Char to Num: Converte Num to Char: Converte Save txt: Salva arquivos .txt. Analog to V: Converte valores analógicos em volts. Conv. Temp: Converte temperatura. Map: Mapeia um valor numérico. Memoria Stat.: Dados sobre a memória do PC. PID: Proporcional Integral Derivativo. Random: Gera números Randomicos. Config: Configurar Expansão Init: Iniciar Expansão Analog Read Analog Write Digital Read Digital Write PWM Write Clear Set Title Set Value Write Analog Read: Leitura Analog. Analog Write: Escrita Alanog. Digital Read: Leitura Digital. Digital Write: Escrita Digital. PWM Write : Escrita PWM. Clear: Limpar Gráfico LCD. Set Title: Informar Titulo. Set Value: Enviar valor. Write: Enviar Ângulo Cálculos Exp. Arduino Digital & Analog LCD Grafico Servo Tabela de Blocos de Funções do LabINO
  • 23. Tabela de Delay Natural Alguns dos blocos de funções do LabINO e no Arduino possui algum tipo de Delay (Atraso), isso se deve a comunicação entre PC e Arduino que causa algum tipo de atraso na transmissão dos dados, nada de alarmante, isso é natural da modelo de transmissão. Veja a tabela: Nome Bloco Delay (ms) Analog Read 20 Digital Read 20 Ultra-sonic Read 1 Servo Read 20 EEPROM Read 20 Bluetooth Read 20 Serial Read 20 Analog Read 20 Digital Read 20 Tabela de Delay (Atrasos)
  • 24. 5. Programação Agora vamos ver como se programar com o kit de ferramentas LabINO. Vou mostrar a vocês os exemplos que estão junto ao toolkit, esses exemplos são fáceis de programar e se conseguir o hardware para realiza-los. Lembrando a programação na linguagem C do Arduino, temos duas funções fundamentais para programa-lo, são o void setup() e o void loop(). O void setup() configura os parâmetros e comportamento, iniciar sensores, comunicação, atuadores entre outros. O void loop() executa os códigos infinitamente até algo o pare, esses códigos são ordens que você passou para o Arduino realizar. Com o LabINO é praticamente igual, existe quatro partes fundamentais, CONFIGURAR > INICIAR > EXECUTAR > FINALIZAR. CONFIGURAR INICIAR EXECUTAR FINALIZAR A forma que o código é executado e os dados são transportados podemos dizer que é por fluxo, o fluxo sempre ocorre da esquerda para direita e de cima para baixo. Inicio   Para controla e visualizar informações existem dois tipos de componentes, Control e Indicator.
  • 25. Vamos ao primeiro Exemplo Básico, Leitura Analógica: Para realizarmos a leitura analógica precisamos dos seguintes componentes: 1 x potenciômetro 10k Ohms 1 x protoboard 3 x jumpers A ligação dos terminais é feita da seguinte forma: No Painel Frontal: 1 x Waveforma graph 1 x Dial 1 x Botão stop (inclui automaticamente durante programação) 1 x Visa resource name (inclui automaticamente durante programação) 1 x Raised box (para acabamento)
  • 26. No diagrama de Blocos: I. II. III. IV. V. VI. VII. VIII. IX. X. XI. XII. XIII. XIV. XV. Utilizando a paleta LabINO, selecione o bloco CONFIG e coloque-o na tela. Selecione o bloco INIT e coloque-o na tela. Interligue os dois pela Saída de Configuração e Entrada de Configuração. No bloco INIT clique com botão direito no terminal Porta Serial Arduino, vá até Create/Control. Isso criará no Painel Frontal um Visa Resource Name, onde é selecionado a porta Serial que o Arduino está conectado. Na paleta Structures, selecione a estrutura While Loop e modele-a na tela depois logo após o bloco INIT. Na paleta LabINO, entre na sub-paleta Digital & Analog e selecione o bloco Analog Read, coloque-o dentro do While Loop. Interligue a saída do bloco INIT na entrada do bloco ANALOG READ, e da mesma forma a Saída de Erro na Entrada de Erro. No bloco Analog Read, com o botão direito clique no terminal Porta Analógica, logo em Create, depois Constante. Selecione a Porta Analógica 0. Arraste para dentro do While Loop, o ícone do gráfico e do Dial. Interligue o gráfico e dial na saída do bloco Analog Read -> Valor Analógico. Na paleta LabINO selecione Destroy e coloque-o fora do While Loop. Interligue os terminais de Saída Arduino é Saída Erro no bloco Destroy. Na paleta Clusters selecione Unblundle By Name e coloque-o dentro do loop e conecte-o com a linha de erros depois do bloco Analog Read, selecione no Unbundle “Status”. Na paleta Boolean selecione a porta lógica AND e interligue a saída do Unbundle em um dos dois terminais de entrada da porta lógica. Na porta lógica, em um dos terminais de entrada, clique com botão direito, vá em Create, e crie um novo Control. Esse botão vai servir para finalizar o loop, ou então se houver algum erro, automaticamente o loop será finalizado, posteriormente o programa. Pronto, o programa está feito! Para ter certeza que tudo está interligado perfeitamente e sem nenhum erro, você pode recorrer ao controle , que fica do lado esquerdo e na parte de cima, caso ele esteja com uma seta branca, seu programa está pronto para ser executado, caso esteja assim seu código possui um erro. Para visualizar o erro clique na seta e uma nova tela irá aparecer com os erros, clique duas vezes e automaticamente irá te levar ao local do erro.
  • 27. Vamos ver como ficou o código: Vamos ao segundo Exemplo Básico, Leitura Digital: Bom, neste exemplo vamos criar um código para leitura Digital, a leitura digital apenas retorna dois tipos de valores: true (verdadeiro) ou false (falso). É como ligar uma lâmpada, quando estiver acessa é true, se estiver desligada é false. Já que o programa anterior é parecido com esse, apenas vou indicar os componentes a serem usados neste exemplo: 1 x push button 1 x resistor de 330 Ohms 3 x Jumpers A ligação dos terminais é feita da seguinte forma:
  • 28. No Painel Frontal: 1 x Visa resource name (inclui automaticamente durante programação) 1 x LED 1 x Botão stop (inclui automaticamente durante programação) No Diagrama de Blocos:
  • 29. Vamos ao terceiro Exemplo Básico, Blink: Neste exemplo vamos aprender como piscar um LED do arduino, parece bem simples e na verdade é. Bom, mas temos que começar sempre de exemplos básicos e chegar aos complexos, vamos ver como se configura o pino digital para ser saída ou entrada, os parâmetros do bloco Digital Write e bloco Delay. Vamos precisar dos seguintes componentes: 1 x LED 2 x Jumpers Ou se preferir, apenas ligar o LED no terminal 13. A ligação dos terminais é feita da seguinte forma: No Painel Frontal: 1 x Visa resource name (inclui automaticamente durante programação) 1 x Botão stop (inclui automaticamente durante programação)
  • 30. No Diagrama de Blocos: I. II. III. IV. V. VI. VII. VIII. Coloque no Diagrama de Blocos, os blocos principais, interligue os como na imagem acima. No bloco Config, passe o mouse no terminal do Pino Digital 13 e clique com botão direito, vá em Create, e depois Contante, Na constante que apareceu, clique e mude para Saída. Os terminais do arduino são padronizados como Entrada, isso evita que queime algum componente caso uma ligação fique errada. O bloco Digital Write possui alguns parâmetros que podem ser cruciais em um programa para que a comunicação seja fluente. Os parâmetros são: qual pino Digital e o modo de envio. No terminal Pino Digital, crie uma constante e selecione o Pino 13, e no Modo crie uma constante e coloque Reenviar, isso é para enviar sempre a variável true (1 ou verdadeiro) ou false (0 ou false) a cada rodada do loop, se colocar Não Reenviar, apenas vai ser enviado quando o valores booleano forem trocado. Ex. De true para false ou vice-versa. No terminal High/Low criar uma constante, passe-a para True. Na paleta Time, selecione o bloco Time Delay. Quando coloca-lo no diagrama de blocos, uma tela irá aparecer. A unidade está em segundos (1,000), se desejar colocar em micro-segundos basta apenar colocar nas centenas depois da virgula o tempo em ms. Ex. (0,050) 50 ms. Faça novamente o IV e V, apenas alterando a variável High/Low para False. Termine de interligar os terminais.
  • 31. Vamos ao quarto Exemplo Básico, Fade: Neste exemplo vamos aprender como variar a luminosidade de um LED pela porta PWM. Para isso vamos utilizar a estrutura FOR e um pouco de programação em paralelo. Vamos precisar dos seguintes componentes: 1 x LED 2 x Jumpers Ou se preferir, apenas ligar o LED no terminal 10. A ligação dos terminais é feita da seguinte forma: No Painel Frontal: 1 x Visa resource name (inclui automaticamente durante programação) 1 x Botão stop (inclui automaticamente durante programação) 1 x Slide
  • 32. No diagrama de Blocos: Vamos entender: No primeiro for loop, temos o bloco PWM com a porta PWM 10 selecionada, e o valor PWM indicado pela quantidade de loop que será executado, que é 255 vezes. 255 é o valor de 8 bits suportado pelas portas PWM (0 a 255). Dentro do primeiro for, também tem um delay de 10 ms conectado a linha de erro e uma variável local Armaz. Outra variável local stop. Para criar uma variável local, primeiro é necessário colocar no Painel Frontal um elemento numérico para controle, no diagrama de blocos clique com botão direito no ícone do elemento numérico e vá até Create, local variable. Para mudar sua forma clique com o botão direito e vá até Change To Write, ou Change To Read. O outro for loop é praticamente a mesma coisa, o for vai executar 255 vezes, só que dessa vez dai decrementando o valor PWM, para isso temos que fazer uma conta simples, que é: valor = (255 – loops rodados), isso é 255 – 0 = 255 , 255 – 1 = 254 e assim por diante, até o loop finalizar. Logo, existe outro While loop, que executa paralelamente ao o While loop maior, isso é bom pois um não depende o fluxo do outro para ser executado. Esse loop foi criado apenas para indicar no Painel frontal, qual intensidade de luz está sendo aplicado ao LED. Utilizando uma variável local, um delay de 1 ms, e outra variável local do stop, pode-se informar os valores.
  • 33. Outros Exemplos Já vimos anteriormente 4 exemplos de programação com LabINO e já temos uma noção como programar em blocos. Nos próximos exemplos a explicação vai ficar cada vez menor e você irá entender normalmente. JoyStick + Servo Neste exemplo vamos ver como controlar um servo motor utilizando um JoyStick de computador: Componentes: 1 x JoyStick de Computador 1 x Servo Motor Jumpers Esquema de conexão: No Painel Frontal:
  • 34. Diagrama de Blocos: Display LCD Esse exemplo mostra como conectar e programar um Display LCD. Esquema de conexão:
  • 36. Expansão + Display LCD + LCD Nokia + LDR + Microphone Esquema de Conexão: Painel Frontal:
  • 38. Contato: Para adquirir o toolkit envie um e-mail de solicitação para: vendaslabino@gmail.com Para Informações, duvidas, erros ou contato com o desenvolvedor, envie um e-mail para: labinocontato@gmail.com Informações sobre o http://www.labinobrasil.com toolkit LabINO no Referências: National Instruments LabVIEW: http://www.ni.com/labview/pt/ Arduino: http://arduino.cc LabINO: http://www.labinobrasil.com Toolkit LabINO Desenvolvendo Ferramentas para o Sucesso 1-2013 Uberlândia-MG site: