LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: dio123 em 29 de Março de 2010, 14:49

Título: visual basic + arduino
Enviado por: dio123 em 29 de Março de 2010, 14:49
bem  gostaria de saber se alguem já conseguiu com o visual basic criar um programa que comunique com o arduino atraves do cabo usb?
se sim alguem me pode umas luzes

já vi este site mas ainda nao consegui fazer nada.
http://www.acraigie.com/programming/firmatavb/firmatavb_downloads.html (http://www.acraigie.com/programming/firmatavb/firmatavb_downloads.html)   

agradecia
Título: Re: visual basic + arduino
Enviado por: jp_ em 29 de Março de 2010, 15:44
Pois também eu queria... quer seja com arduino quer seja com outr micro qualquer...
imagina que estou a estudar VB.net ou VB2008 e pedi ao Prof que me ensina-se como comunicar com a porta «COM» e nada.
No livro de visual tem lá um capiulo dedicado ao System.IO mas resume-se a saber quantas portas tem o PC relativamente ao que interessa enviar e receber pelas portas parece que é coisa muito complicada porque nem faz parte do conteudo do livro.
depois dizem mal dos alunos, na minha opinião são um espelho dos formadores...

jp_
Título: Re: visual basic + arduino
Enviado por: Ricardo em 29 de Março de 2010, 15:51
Boas.

Nas brincadeiras que tenho feito com o arduino, tenho utilizado o VB.net (vs 2008) sem problemas de maior.
Tudo se resume à utilização do objecto SerialPort com uma ou outra configuração especifica, e receber e enviar dados pela porta serie associada.

Vou tentar encontrar um programa simples para por aqui.
Título: Re: visual basic + arduino
Enviado por: delphi em 29 de Março de 2010, 16:45
Olá,

Talvez este link http://www.codeproject.com/KB/gadgets/DigitalThermometer.aspx (http://www.codeproject.com/KB/gadgets/DigitalThermometer.aspx) possa ajudar.
Título: Re: visual basic + arduino
Enviado por: msr em 29 de Março de 2010, 19:17
Tenho 2 posts mais ou menos sobre isto no meu blog:
http://bravomofo.blogspot.com/search/label/Arduino (http://bravomofo.blogspot.com/search/label/Arduino)

Foi feito em C# mas é muito facilmente adaptável a VB. Dá uma vista de olhos no código que disponibilizo!
Título: Re: visual basic + arduino
Enviado por: y0d3t0 em 30 de Março de 2010, 21:59
eu tenho andado a trabalhar com visual basic para controlar o arduino e é muito simples...

deixo aqui como o fiz

apenas precisas do
-visual basic
-firmataVB.extended
-e do programa que vem com o arduino, o skecth


no skecth inseres um exemplo  =  Examples>Firmata>Standarfirmata , fazes upload...

2º abres o firmata no visual basic, carregas em play abre aquele painel com os controles, defines a porta e as rates > conect

depois é sempre a andar

Boa Sorte



Título: Re: visual basic + arduino
Enviado por: dio123 em 31 de Março de 2010, 19:01
y0d3t0, como disseste não consegui fazer nada.
Standarfirmata passei para o arduino, mas depois com o programa aberto no vb , configuro a porta e as rate no 115200.
O led rx do arduino pisca mas depois nao acende o led 12 que tenho ligado no arduino.

qual e a diferença entre visual basic e visual basic.net, e que na wikipedia não me exclareceu esta duvida
Título: Re: visual basic + arduino
Enviado por: senso em 31 de Março de 2010, 21:03
Desce o baud rate para 9600 e certifica-te que é igual no arduino e no teu programa em VB.
Título: Re: visual basic + arduino
Enviado por: dio123 em 08 de Abril de 2010, 10:40
bem já consegui fazer com o visual basic 6.0 e o visual basic 2008 comunica-se com o arduino.
Estou a preparar um pequeno projecto, e depois vou por aqui como tutorial.

tenho um lcd de 14 pinos que é o HD44780A00, mas estive a experimentar uns exemplos que o programa arduino trás, mas tenho uma pequena duvida:

no exemplos- LiquidCrystal- SerialDisplay-  o programa apenas escreve na 1º linha e eu gostaria de escrever  nas duas linhas, já comecei por tentar escrever só na 2ºlinha mas ainda nao consegui.?

Alguem sabe como fazer?

agradecia
 
Título: Re: visual basic + arduino
Enviado por: Pedro Ferrer em 28 de Outubro de 2010, 15:46
Boa tarde

Enviar info usando o VB6 para o Arduino até foi fácil, usando o objecto MScomm1...
Agora a grande questão é receber a info correcta por parte do Arduino... dá-me caracteres esquisitos... tipo "o\".
Alguém sabe, usando o VB6 receber dados de forma correcta por parte do Arduino?

Grato pela atenção
Pedro Ferrer
Título: Re: visual basic + arduino
Enviado por: GnGz em 28 de Outubro de 2010, 16:36
Sim é por serial ... facil mesmo...
Título: Re: visual basic + arduino
Enviado por: Pedro Ferrer em 28 de Outubro de 2010, 16:51
Boa tarde

Sim... enviar é fácil... o receber correctamente é que está complicado...
Alguém sabe a forma correcta?

Grato pela atenção
Pedro Ferrer
Título: Re: visual basic + arduino
Enviado por: GnGz em 28 de Outubro de 2010, 17:16
Sim receber é mais dificil... ainda nao percebi muito bem...
Título: Re: visual basic + arduino
Enviado por: senso em 28 de Outubro de 2010, 22:14
Depende do que queres receber, que quantidade de bytes vais receber, e como queres tratar os dados, dá mais informação sobre os teus problemas.
Título: Re: visual basic + arduino
Enviado por: Pedro Ferrer em 29 de Outubro de 2010, 08:31
Bom dia

Graças a umas dicas daqui e dali, já recebo correctamente a info proveniente do Arduino!

#NO VB6

'\\
Private Sub Form_Load()

With MSComm1 'sets up COM settings
    .Handshaking = 0
    .RThreshold = 1
    .RTSEnable = False
    .CommPort = 2
    .Settings = "9600,n,8,1"
    .DTREnable = False
    .PortOpen = True
End With

End Sub

'\\BOTAO PARA ENVIAR INFO ARDUINO
'\\VAMOS ENVIAR A LETRA 'T'
Private Sub Command10_Click()

Me.Text1 = ""
MSComm1.Output = "T" + Chr(13)

End Sub

'\\
Private Sub MSComm1_OnComm()

Dim ReceivedData As String
Dim Command As String
Dim strDump As String
Dim strChr As String

Do While MSComm1.InBufferCount > 0
    If MSComm1.InBufferCount > 0 Then 'check for something in buffer
        strChr = MSComm1.Input ' copy to string
        If Asc(strChr) = 13 Then ' end if string
            Exit Do
        ElseIf Asc(strChr) = 10 Then ' remove chr(10) from string
        Else
            strDump = strDump & strChr ' connect chr to string
        End If
    End If
    DoEvents
Loop

ReceivedData = strDump
Dim i As Integer
For i = 1 To Len(ReceivedData)
    If Mid(ReceivedData, i, 1) = vbCr Then
        Command = Mid(ReceivedData, 1, i)
        ReceivedData = Mid(ReceivedData, i + 1, Len(ReceivedData))
    End If
Next i
Me.Text1 = Me.Text1 & ReceivedData

End Sub


#NO ARDUINO
int command = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {     
if (Serial.available()) {     
   command = Serial.read();
   if (command == 'T') {   
      Serial.println("TU TAS LA");
      delay(5000);
      Serial.println("TU TAVAS LA");
      command=0;
   }     
}
}

No final, na caixa de texto vamos ter "TU TAS LA" vbcrlf "TU TAVAS LA". Não se esqueçam de colocar a text1 com multiline=true...
Claro está, que agora falta fazer algo mais racional, pois a resposta que queremos do Arduino não será esta...

Abraço
Pedro Ferrer
Título: Re: visual basic + arduino
Enviado por: dio123 em 17 de Novembro de 2012, 10:59
Bom dia,
tenho um programa no arduino que envia para serial.println(millis()/1000) .
Agora queria fazer a mesma coisa que serial monitor do arduino mas em vb.net.

O vb.net liga ao arduino mas depois quando tendo ler o que está a chegar ao serial para uma textbox multiline nunca aparece nada.
Tenho textbox.text = SerialPort.ReadExisting()
 
Título: Re: visual basic + arduino
Enviado por: rglove em 17 de Novembro de 2012, 22:49
Eu costumo usar um evento da SerialPort chamado DataReceived ou qualquer coisa parecido.
Como queres ler a linha inteira altera o readExisting para readline.


EDIT: Não sei se o que pretendes é ir adicionando a info recebida a uma linha nova da textbox... Se for assim não dá e possivelmente é por isso que não vez nada.
Altera para Textbox1.text &= SerialPort1.ReadLine() & vbnewline

Depois diz se funcionou.
Título: Re: visual basic + arduino
Enviado por: dio123 em 18 de Novembro de 2012, 22:12
 Então o programa está a funcionar e os valores vão para textbox fica igual ao serial monitor arduino.

O problema é que faltava dtrenabler = true
então ligava o arduino e nunca tinha nada.