Вы находитесь на странице: 1из 4

3 LabVIEW - Comunicao srie

LabVIEW - Comunicao srie ......................................................................................................................... 1


3.1

Objectivo .................................................................................................................................................... 1

3.2

Introduo .................................................................................................................................................. 1

3.3

Enviar e receber texto ................................................................................................................................ 1

3.4

Enviar e receber comandos ....................................................................................................................... 2

3.4.1

Enviar comandos (computador).......................................................................................................... 2

3.4.2

Receber comandos (instrumento) ...................................................................................................... 3

3.1

Objectivo

Este trabalho tem por objectivo desenvolver um programa informtico em linguagem G que permita a
comunicao e troca de dados (nmeros) atravs do protocolo srie entre o computador pessoal (PC) e a placa
Arduno Uno
Com a realizao deste trabalho pretende-se que o aluno fique capaz de:
-

Estabelecer uma comunicao de texto entre o computador e um perifrico;

Estabelecer uma comunicao de dados entre o computador e um perifrico.

3.2

Introduo

A comunicao srie entre dois equipamentos consiste na troca de nmeros (dados) codificados na forma de bits
(bits de dados). Porm, para que seja eficaz, h um conjunto de regras prvias que necessrio cumprir.
Neste trabalho ser dada a possibilidade de experimentar a comunicao de texto e dados entre o computador e
a placa Arduno que para o efeito foi previamente programada com um programa simples.
A comunicao de dados vai ser implementada de uma forma bastante simplificada, em que os comandos e os
dados so de apenas um byte (nmero entre 0 e 255).

3.3

Enviar e receber texto

O LabVIEW inclui um conjunto especfico de funes que facilitam a ligao dum PC a um instrumento (ou outro
equipamento). Com este protocolo disponibilizado um VI ("Com Serie.v1.vi" ficheiro que pode ser executado
em ambiente de programao LabVIEW) em que esto j implementadas quatro funes que actuam sobre o
porto srie do computador: abertura da ligao ao porto srie (VISA O); escrita (VISA W); leitura (VISA R); e
terminar a ligao ao porto srie (VISA C).

Para efectuar a ligao placa Arduno siga os seguintes passos:


1.

Ligue com o cabo usb a placa a uma das portas usb do computador.

2.

Abra o VI Com Serie V1.VI

3.

No painel inferior defina a porta COM a que est ligada a placa Arduno (ver Figura 1).

4.

Execute o VI.

5.

Escreva algum texto no controlador de String e pressione o boto Send.

Verso 1.1 - Abril 2013 - Instrumentao II - Faculdade de Cincias e Tecnologia da UNL

1/4

Figura 1 - Painel frontal do VI Com Serie V1.VI.

Se a comunicao estiver a ser bem feita, o computador j pode interagir com o programa previamente colocado
no Arduno. Nesta fase o programa no Arduno est em modo ECHO ou seja devolve apenas o texto que lhe foi
enviado pelo computador.
Observe o funcionamento do ciclo if associado ao boto Send. J possvel comunicar texto entre o computador
e o Arduno atravs da ligao srie. Isto possvel porque no VI o nmero (ou nmeros) recebido no porto srie
interpretado como correspondendo ao cdigo ASCII dum carcter e que o carcter que deve ser mostrado e
no o nmero. Da mesma forma, quando se envia texto para o porto srie, na realidade o que est a ser enviado
o cdigo ASCII (um nmero) de cada um dos caracteres que compem o texto.

3.4

Enviar e receber comandos

Normalmente os equipamentos ligados atravs do porto srie a um computador podem executar vrias funes
como, por exemplo, um instrumento que faz a medida de uma tenso num dado momento e comunica o seu
valor atravs da ligao srie. O instrumento pode estar permanentemente a ler a tenso e a envi-la para o
computador, ou ento pode ficar a aguardar uma indicao do computador para o fazer uma nica vez. Neste
ltimo caso qualquer aco tem sempre origem no computador, dando-lhe a exclusividade do controlo e da
deciso.
Se um instrumento pode exercer mais do que uma funo necessrio distinguir qual aquela que se pretende
que execute. ento necessrio definir um cdigo comum que permita ao computador dar uma indicao ao
instrumento e que o instrumento o reconhea como correspondendo a uma ordem de execuo de determinada
funo.
Ao conjunto de cdigos comuns d-se o nome de comandos e, para maior facilidade do programador, costumam
corresponder a palavras ou abreviaturas, algumas vezes associadas a nmeros. Neste trabalho iro ser usados
comandos de apenas um carcter (um byte).
Solicite ao docente a indicao se deve executar as instrues constantes da seco "Enviar comandos" ou
"Receber comandos".

3.4.1

Enviar comandos (computador)

S deve executar estas instrues se tiver indicaes do docente para o fazer.


1.

Acrescente uma programao que permita, premindo um boto no painel frontal, enviar o texto "#"
seguido da constante Line Feed ( )(sem as plicas e sem mais nenhuma formatao) para o porto
srie (VISA W).

2.

Acrescente a programao necessria para, atravs da presso de um boto no painel frontal, enviar o
texto "?" seguido da constante Line Feed ( ) para o porto srie.

Verso 1.1 - Abril 2013 - Instrumentao II - Faculdade de Cincias e Tecnologia da UNL

2/4

Teste ambos os botes. Qual a resposta do Arduno?


Neste trabalho sempre que queremos terminar o envio de informao para o Arduno necessrio enviar a
informao de Line Feed para o Arduno saber que terminamos. Este facto deve-se forma que o Arduno foi
programado e no a nenhuma especificao da comunicao srie.
Com o Arduno em modo ECHO OFF experimente enviar atravs do controlador Write os outros comandos
listados quando pressiona o boto que criou para enviar ?.
Porque que a resposta no a esperada?
Como foi explicado anteriormente a comunicao efectuada byte a byte, ou seja com nmeros de 0 a 255 em
modo binrio de 8 de bits que o LabView interpreta como caracteres e no como nmeros. Assim se
escrevermos 15 no controlador Write e enviarmos na verdade o computador est a enviar um byte com o
nmero 49 seguido de outro com o nmero 53 (os cdigos ASCII para o 1 e para o 5). O mesmo se passa na
recepo de informao vinda do Arduno. Para ser possvel comunicar dados numricos e no Strings
necessrio converter os nmeros nos respectivos caracteres ASCII.
Acrescente um controlador numrico e um boto para enviar o nmero. Para converter o nmero no respectivo
carcter ASCII necessrio primeiro criar uma matriz com o nmero usando o Initialize Array
e de seguida
convertendo a matriz numa String usando a ferramenta Byte Array To String
. No se esquea de
acrescentar o Line Feed. Verifique se agora o comado de deslocamento de caracteres j funciona quando se
envia a informao do deslocamento usando o envio numrico agora criado.

Nota: O programa implementado na placa Arduno para este trabalho tem as seguintes especificaes:
-

Todos as comunicaes enviadas para a placa Arduno terminam com o caracter Line Feed, ou seja a
placa s interpreta qualquer envio de informao depois de receber o caracter Line Feed.

A placa inicia o funcionamento em modo Echo ON Neste modo a placa envia para o computador o
texto que receber na porta sria excepto se o texto for # seguido do Line Feed que neste caso altera
o modo de funcionamento da placa para Echo OFF.

Em modo Echo OFF a placa apenas reage a 4 comandos:

3.4.2

# para voltar a Echo ON

? para listar todos os comandos possveis em modo Echo OFF

d para indicar o nmero de deslocamento de caracteres no modo Echo ON. Este o


nmero que se adiciona ao cdigo ASCII de cada caracter da mensagem recebida antes de
ser reenviada para o computador. Por exemplo se o nmero dado depois do comando d for 1
e o computador enviar a mensagem abcd a resposta da placa em modo Echo ON ser
bcde.

n Entra em modo minigame, ou seja a placa pede o resultado do produto de 2 nmeros


entre 1 e 10. Primeiro a placa envia o nmero 253 seguido dos dois nmeros para os quais se
pretende o seu produto. Ao receber a resposta do computador a placa envia o nmero 255 se
esta estiver correcta e 254 caso esteja errada.

Receber comandos (instrumento)

S deve executar estas instrues se tiver indicaes do docente para o fazer.

3.

Acrescente a programao necessria para visualizar os dois ltimos bytes enviados pelo Arduno. Para
esse efeito necessita de fazer o processo inverso ou seja converter cada byte de carcter em matriz de
nmeros e de seguida extrair o nmero da matriz. (

4.

Acrescente um Led que acende quando o computador recebe o byte com o valor 255. Este byte que o
Arduno est programado para enviar quando recebe a resposta correcta questo do produto de dois
nmeros.

Com a programao desenvolvida esto criadas as condies para enviar um nmero (byte) e receber um
nmero (byte). Execute o VI e faa os testes necessrios.
5.

Crie um grfico com a visualizao dos dados recebidos no porto srie.

Verso 1.1 - Abril 2013 - Instrumentao II - Faculdade de Cincias e Tecnologia da UNL

3/4

6.

Acrescente a possibilidade de gravar um conjunto de dados num ficheiro compatvel com uma aplicao
do tipo folha de clculo.

7.

Acrescente a programao necessria para que o computador responda de forma automtica questo
do produto de dois nmeros. O Arduno envia o byte 253 antes de enviar os dois nmeros.

Grave o VI desenvolvido no disco do computador e faa uma cpia de segurana; o VI ser utilizado no trabalho
laboratorial seguinte.

Histrico de Reviso
Verso

Descrio

1.0

Criao

3/2013

1.1

Reformulao do ponto 3.4.


VERSO NO PUBLICADA

4/2013

2.0

Adaptao a comunicao com Arduno.

3/2016

2.1

Adio da explicao do programa na placa Arduno

4/2016

Verso 1.1 - Abril 2013 - Instrumentao II - Faculdade de Cincias e Tecnologia da UNL

Data

4/4

Вам также может понравиться