Gogo Board + Labview: I2C

escreve-num

Esta é a VI sugerida para comunicação utilizando o protocolo i2c no Labview.

Após inserir o componente ActiveX, inserimos as rotinas responsáveis pelo envio de dados i2c à um módulo lcd conectado à placa.

Neste exemplo, será enviado o número 192.

Outros módulos podem ser vistos aqui e neste local, temos a tabela de endereços dos módulos disponíveis.

Mais detalhes sobre a comunicação i2c, aqui.

Gogo Board: I2C no Visual Basic – Final

Explicando cada comando utilizado anteriormente para escrita numérica, temos:

– GoGoX1.I2C_Start: Inicia a comunicação;
– GoGoX1.I2C_write 180: Seleciona o cliente (slave) com endereço 180 ou 0xB4;
– GoGoX1.I2C_write 3: Seleciona o modo de escrita textual;
– GoGoX1.I2C_write 65: Envia o número 65 (código ASCII relativo a letra a);
– GoGoX1.I2C_Stop: Finaliza a comunicação.

Documentação i2c.

Foto: http://www.gogoboard.org/

Gogo Board: I2C no Visual Basic – III

Explicando cada comando utilizado anteriormente para escrita numérica, temos:

– GoGoX1.I2C_Start: Inicia a comunicação;
– GoGoX1.I2C_write 180: Seleciona o cliente (slave) com endereço 180 ou 0xB4;
– GoGoX1.I2C_write 2: Seleciona o modo de escrita numérica;
– GoGoX1.I2C_write 0
– GoGoX1.I2C_write 192: Envia o número 192;
– GoGoX1.I2C_Stop: Finaliza a comunicação.

Documentação i2c.

Foto: http://www.gogoboard.org/

Gogo Board + Html: Beep

Aproveitando este código anteriormente utilizado, porém adaptando-o para execução a partir do Internet Explorer, teremos uma nova forma de comandar a placa.

Este é o código a ser salvo em html:

<script language="vbs">
<!--
set o = CreateObject("GoGoX28.GoGoXctl28")

o.CommPort=3
o.Initialize
o.beep
o.CloseComm

MsgBox "beep!"
-->
</script>

Até o momento, ele não é compatível com outros navegadores.

Gogo Board: I2C no Visual Basic

Já sabemos como trabalhar com o componente ActiveX da Gogo Board, como dito anteriormente, a versão 2.8, traz recursos de comunicação utilizando o protocolo I2C.

Após inserirmos o componente em nosso projeto, basta vincularmos as funções abaixo à um botão:

GoGoX1.I2C_Start
GoGoX1.I2C_write 180
GoGoX1.I2C_write 2
GoGoX1.I2C_write 0
GoGoX1.I2C_write 192
GoGoX1.I2C_Stop

Mais detalhes em breve.

Documentação i2c disponível aqui.

Foto: http://www.gogoboard.org/

Gogo Board + VBScript: Beep

Através da linguagem VBScript, podemos nos comunicar com a placa, assim como em outras linguagens ja apresentadas aqui.

Para isso, o componente ActiveX da placa deve estar presente no computador e criaremos um arquivo com a extensão vbs e o conteúdo abaixo:

set o = CreateObject("GoGoX28.GoGoXctl28")

o.CommPort=3
o.Initialize
o.beep
o.CloseComm

WScript.Echo "beep!"

Após salva-lo, basta executa-lo através do Windows Explorer e a placa emitirá um sinal sonoro de bip.

Lembrando que o valor “CommPort”, deverá ser configurado de acordo com a porta utilizada pela placa em seu computador.

Foto: http://t2.gstatic.com/images?q=tbn:ANd9GcQBvUEh3QtkFUOp3GUzTV7W6D8XP536BAu-iLk5cRh9HiFWMeoX

Gogo Board + ActiveComport: VBScript

Utilizando este componente ActiveX, podemos nos comunicar com a placa utilizando a linguagem VBScript.

Após instala-lo, basta criar, a partir do Bloco de Notas do Windows, um arquivo chamado “beep.vbs”, com o seguinte conteúdo:

Set objComport = CreateObject( "ActiveXperts.Comport" ) ' Create a new Comport instance

objComport.Device = "COM3" ' Use a COM port directly (no Windows Device Driver)
objComport.BaudRate = 9600 ' Set baudrate (default value: 9600)
objComport.HardwareFlowControl = asFLOWCONTROL_ENABLE ' Set Hardware Flow Control (default: On)
objComport.SoftwareFlowControl = asFLOWCONTROL_ENABLE ' Set Software Flow Control (default: Off)
objComport.Open ' Open the port
Wscript.Echo "Open, result: " & objComport.LastError
If( objComport.LastError 0 ) Then
WScript.Quit
End If

objComport.WriteString( "TþÄ^@" ) ' Write command
str = objComport.ReadString
WScript.Echo "Received: [" & str & "]" ' Read the response

objComport.Close

Este código ao ser executado fará a placa emitir um sinal sonoro de beep.

Mais detalhes do componente, aqui.

Gogo Board + Labview: Bluetooth


A imagem acima é uma sugestão de terminal para envio dos valores dos sensores da Gogo Board através de uma comunicação bluetooth, estabelecida entre um celular e o computador, utilizando o recurso de porta serial virtual.

Para a Gogo Board, foi utilizado o próprio componente Activex, já para a porta serial, o componente Mscomm32.

Gogo Board + Labview: Beep – III

Dentro da janela de Diagramas do Labview, vamos inserir as funções que a placa deverá executar, lembrando que para isso, sempre utilizamos o botão direito do mouse, sobre o controle da Gogo Board que inserimos anteriormente.

No menu “Create”, vamos até “Method for GoGoXctl28…”, e para nosso exemplo, escolhemos “Initialize”, que será o responsável por conectar à placa.

Devemos conecta-lo à saida do controle activex:

Agora, basta inserir o método “Beep”, da mesma forma como fizemos no método anterior e conecta-lo ao “Initialize”:

Pronto, ao executar o programa, a placa emitirá um beep sonoro.

Observação, somente execute o programa através do “Run”, já que o “Run Continuously” poderá travar a placa.

Gogo Board + Labview: Beep – II


Estando o controle Activex da Gogo Board inserido no Labview, agora ele fará parte dos demais controles já existentes, bastando apenas seleciona-lo.

Através do botão direito do mouse, basta ir ao menu “.Net & ActiveX”, escolhendo o controle “GoGoBoard”, e posicionando-o dentro da janela de programação do Labview.

Precisamos definir a porta em que esta conectada a placa, dentro da janela principal do Labview, para depois trabalharmos na janela de Diagramas.

Usando o botão direito do mouse sobre o controle que acabamos de inserir e selecioando a opção “Property Browser”, devemos mudar o “CommPort” para o número da porta que usaremos, exemplo: 3, além de alterar a propriedade “Enabled” para true.

Agora trabalharemos na janela de Diagramas.

Gogo Board + Labview: Beep – I

Existe um modo muito simples de utilizarmos o Labview 10 em conjunto com a Gogo Board, através do controle Activex, que abordamos seu uso dentro do Visual Basic em diversas ocasiões.

Anteriormente tinhamos adaptações de programas feitos para Arduino e outras interfaces, agora, temos um programa feito especialmente para a Gogo Board.

Primeiro, para começar, será preciso inserir o controle ActiveX dentro do Labview. Após abri-lo e criar um projeto novo e vazio, devemos ir ao menu “Tools”, depois ao submenu “Import”, por fim ao “Activex Controls…”.

Na janela que será aberta, é preciso procurar o controle Activex da Gogo Board, que se chama “GoGoX28.GoGoXctl28”, clicando e “ok”. A seguir, basta escolher o nome que será usado no Labview. Sugerimos “GoGoBoard”.

O controle agora poderá ser usado no Labview. A próxima etapa será seu uso.

Gogo Board + ActiveX: Sensores – Final

Para utilizar o comando “BurstMode”, além do sensor existe o parâmetro de como ativa-lo, ou não, ou seja acrescentando 1 ou 0, respectivamente, deste modo:

BurstMode Sensor, 1
BurstMode, 0, 0

Em conjunto a este comando, devemos utilizar o “SensorBuffer (Sensor Number)”, que armazena o valor do sensor ou sensores, facilitando com isso a leitura e visualização.

Sua tabela de atuação segue este critério:

sensor 1 = SensorBuffer 0
sensor 2 = SensorBuffer 1
sensor 3 = SensorBuffer 2
sensor 4 = SensorBuffer 3
sensor 5 = SensorBuffer 4
sensor 6 = SensorBuffer 5
sensor 7 = SensorBuffer 6
sensor 8 = SensorBuffer 7

Em breve, um exemplo de protótipo utilizando estes comandos.