PplWare Mobile

Comunicação entre PC e Arduino


Responsável pelo Pplware, fundou o projeto em 2005 depois de ter criado em 1993 um rascunho em papel de jornal, o que mais tarde se tornou num portal de tecnologia mundial. Da área de gestão, foi na informática que sempre fez carreira.
Artigo escrito por Cristiano Silva para o Pplware

Destaques PPLWARE

  1. daniel says:

    eu tenho um arduino pois usei o quando fiz um projecto electronico na minha escola mas depois parei, mas acho que vou voltar a fazer umas brincadeiras enquanto estou no desemprego LOL quanto a programaçao do arduino, havia um programa que tinha codigo ja pre-escrito que uma pessoa so precisava de meter variaveis e valores, era muito intuitivo para quem nao sabe programaçao, se alguem souber algum assim que poste aqui o link 😉

    Obrigado e parabens pelo artigo

  2. O arduino é uma exelente plataforma de desenvolvimento de ideias.

  3. bigkax says:

    Estava a pensar se alguém já tinha pensado nisso para smartphone e encontrei isto https://market.android.com/details?id=re.serialout

  4. Vitor says:

    Apesar de vir de informática, nunca tive contacto com electrónica, e o Arduino é sem duvida ESPETACULAR….dá pa fazer muitas brincadeiras engraçadas…

  5. lmx says:

    Boas…
    Boa Aporta vitor,estes kits fazem perder a cabeça a quem se interesse pelo assunto… 🙂
    estou morto por arranjar tempo e adquirir um…mas …quero um potente :), ou que corra arm ou pic 32/64bits quero lá um linux a bombar…
    mas e tempo 🙂

    cmps

  6. Tiago says:

    Olá,

    Tenho uma pergunta acerca do programa VB:

    Que tipo de variável é “SerialPort1”? Como é que esse tipo é incluído nos tipos permitidos pelo VB? É definido por alguma DLL?

    Se calhar até é bastante óbvio, mas falhou-me totalmente essa parte do programa VB.

    Obrigado! 🙂

  7. Até hoje só tenho realizado experiências com o Xbee – Zigbee.

  8. António Ferreira says:

    Viva,

    O Arduino é a minha plataforma de testes de comunicações, a nível profissional (Domótica e Automação Industrial) e um hobbie a nível particular.
    A minha sugestão é que usem a placa ethernet que existe para o arduino – comunicação com PCs, iDevices, etc.

    Boas programações.

    António Ferreira

  9. jpegpt says:

    Boas!

    Alguem faz ideia como é que é possivel controlar um interruptor de luz com o arduino? (como ligar a placa ao dito…)

    Abr

  10. wolfytuga says:

    Olá,

    Vi que no artigo está a ser usada uma variável do tipo INTEIRO em vez do tipo CHAR (8 bit == 1 byte) numa comunicação de 8 bit e que o objectivo é enviar a letra «a», logo a variável e o programa podiam resultar nisto:

    /****************************/
    char variavel;

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

    void loop()
    {
    if (Serial.available() > 0)
    {
    variavel = Serial.read();
    }
    if (variavel == ‘a’) // ‘a’ em vez de 97 (nota1)
    {
    Serial.print(“b”);
    }
    }
    /****************************/

    Ou a função «Serial.read()» apenas retorna um valor do tipo INTEIRO?

    Cumprimentos e continuem com o bom trabalho 🙂
    _________________
    nota1: Para os iniciantes se calhar é mais fácil de compreender…

    • Cristiano Silva says:

      Olá boa noite.

      O exemplo que apresenta também é uma solução para o problema. O artigo também queria levantar o “véu” para a codificação de carateres – ASCII.

  11. Tenho actualmente um projecto em curso baseado em Arduino.
    Espero que em breve veja a luz do dia.
    Tenho o Arduino UNO e aquilo é de facto potente. O potencial daquilo acaba muito depois da nossa imaginação.

    NC

  12. S Pimenta says:

    Realmente o Arduino muito potente, o limite é a nossa imaginação. Encomendei o Arduino UNO, e tenho ha dias, mas a minha dificuldade agora é arranjar material, tipo resistencias, transistors, etc, ou seja material para poder usar o Arduino no seu potencial.

    Não sabem lojas (fisicas (sou da zona do Porto) ou online) boas onde se comprar?

    Vejo cada video no YouTube que até fico parvo… Eu sei muito bem programação, mas estou limitado pois queria fazer algo, mas não tenho material… Já pensei em começar a desmontar e desoldar coisas que tenho para aqui antigas, para começar a fazer algo engraçado.

    • Antonio Ferreira says:

      No Porto, tenta a Aquário.

      António Ferreira

    • Manuel says:

      Eu costumo comprar esse tipo de material, na Aquário, que tem loja na Areosa (uma espécie de super mercado de electrónica onde encontras de tudo) e na rua da alegria (www.aquarionet.com)

      Ou na SuperTécnica, na Rua de Santa Catarina. Existem outras, onde costumo ir, mas mais viradas para electrónica de potência.

    • Ivan Pereira says:

      Antes demais, Parabéns Cristiano pelo artigo.
      Para material electrónico: http://loja.cyz.pt

    • Julio Freitas says:

      Eu costumo mandar vir as minhas coisas de HongKong, fica mais barato 🙂
      No Porto tenta a inmotion (www.inmotion.pt). O dono (Filipe Valpereiro, prof.universitario) é porreiro e pode ajudar-te a dar os primeiros passos. Ele organiza workshops com alguma frequência.
      Se precisares de alguma coisa diz.
      Abraço

  13. Manuel says:

    Eu já programo Atmegas á uns anos, e naquele tempo, fazia-se o que se podia, com o que se tinha, e era bem caro fazer meia duzia de boards ao estilo do arduino, para se ter uma plataforma decentemente apresentável.

    Felizmente alguém teve uma ideia brilhante, e criou o Arduino, que além de ter um design atraente, tem uma grande comunidade que o ajuda a melhorar, e o software, que para os menos entendidos em programação de microcontroladores acreditem que facilita muito a entrada neste mundo do controlar coisas através de um computador, e fazer “pequenas” e “grandes” brincadeiras com ele. Isto tudo a um preço bem acessível.

    Mesmo para mim, o facto de ter um Hardware já pronto e mais que testado, além de robusto, e um software que permite prototipagem mais rápida, é um dos grandes ganhos em usar o Arduino.

    Simples, Rápido, Barato e Eficaz.

  14. RMartins says:

    Boas,

    Quando vi este artigo, não pude deixar de poder comentar. O arduino é uma plataforma que tem inúmeras aplicações, como estão descritas em inúmeros sites, que podem ser facilmente encontrados. Na minha tese final de curso utilizei-o como plataforma de testes para o desenvolvimento de um oxímetro de Pulso para uma aplicação futura no Pulso.

    Aqui deixo o link da minha tese, penso que poderá ser útil para futuros projectos relacionados.

    http://hdl.handle.net/10316/14086

    Cumprimentos,
    Rui Martins

  15. kimOaz says:

    Interessante!
    Mas alguém sabe a melhor maneira de comunicar com o Arduino em Linux
    usando JAVA por exemplo. Procurei na net e não me pareceu assim tão fácil.
    Obrigado

    • bigkax says:

      http://www.arduino.cc/playground/Interfacing/Java
      Não parece ser assim tão difícil…

      Aproveita e dá uma vista de olhos nisto: http://macpod.net/misc/android_robot/android_robot.php

    • Miguel Sequeira says:

      Em java tens o exemplo na net.

      Agora a pergunta de qual é melhor maneira de comunicar com o Arduino em Linux… isso já é subjectivo

      A minha opinião: é claro que é em C/C++. Além de não ter akele desgaste de memória da JVM, é mais fácil de usar bibliotecas etc.

      Para comunicar com Arduino ou qualquer outro micro .. é igual.

      Se quiseres algo mais em C/C++ é usar uma emulação usb/porta série. Se realmente tiveres dúvidas nisso eu posso esclarecer, tenho isso feito e a funcionar no meu robot.

      • lmx says:

        Boas..
        para o que vais fazer…penso que Java ou C não é relevante, mas a nível de comunicação intensiva…claro que C é mais rápido do que c++ java,c#,python,…..óbvio.
        a implementação em Java é igual as outras linguagens, nem é melhor nem pior, em relação a emulação USB/serie…penso que não seja preciso emular nada.
        Em linux tens é que usar o device correcto… em /dev…fazes comunicação via USB e o dispositivo conversor faz a passagem para serie e vice-versa.
        Deves no entanto ter um cabo USB/SERIe full duplex.
        Mas…para que conversão usb/serie…temos entrada usb no kit…

        cmps

  16. kimOaz says:

    Era mesmo isto que queria!
    Muito obrigado!

  17. joao says:

    “escolhido foi o Arduino, do qual já falamos aqui no pplware.”

    bom… eu tentei procurar o artigo anterior usando o search..
    Ja tentaram ? experimentem carregar nos links que apresenta…
    simplesmente muito mau esse search…
    So uma dica para melhorarem 😉

  18. Iago Melo says:

    Para quem não conhece:

    http://www.modk.it/

    Tenho um Arduino UNO à 1 semana… encontrei a minha nova paixão.

  19. José Antunes says:

    Alguém me pode dizer como fazer a parte da comunicação serial no código VB? Estive a tentar e não consegui?

    Abr

  20. Pedro says:

    Boas

    Eu tenho a placa Arduino Duemilanove com um pequeno workshop..

    E dá para fazer projectos bem engraçados 😉

    Cumps

  21. Luis says:

    Alguém poderia postar os códigos para iniciar ou parar a comunicação da porta serial?

    obrigado.
    Att.
    Luis

  22. António says:

    Pessoal eu tenho arduino é pouco tempo,e tenho um projecto na escola que é comunicar um carrinho com o pc e que atraves do pc controlar o carrinho(como se fosse carro telecomandado,mas no pc).se calhar ja tem aqui algo sobre isso,mas tou perdido.
    Alguem me pode ajudar?como comunicar,qual o softwar etc.
    obrigado

  23. JsCoelho says:

    Boas, está excelente…
    Muitos parabéns!
    Mas será que da para disponibilizar toda a aplicação VB como esta ilustrada acima?
    Obrigado

  24. JsCoelho says:

    Boas
    Eu tenho andado a estudar, varias soluções que permitem enviar caracteres para o arduino e obter uma resposta caso o caracter enviado seja o correcto!
    Enviar esta a funcionar a 100% já o receber a resposta não funciona!
    Será que me podem ajudar?
    Obrigado

    Código VB que estou a utilizar:


    Sub SendSerialData(ByVal enviar As String)
    Using variavel As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort(COM)
    variavel.WriteLine(enviar)
    variavel.Close()
    End Using
    End Sub

    Private Sub ReceiveSerialData()
    Dim resposta As String = “”

    Using variavel As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort(COM)
    resposta = variavel.ReadExisting()
    variavel.Close()
    End Using
    MsgBox(“resposta”)
    txtResposta.Text = resposta
    End Sub

    Onde variável é a COM onde esta ligado o Arduino em minúsculas (com4)
    E onde COM e onde esta a designação da COM em maiúsculas (COM4)

    Obrigado

  25. JsCoelho says:

    Já está resolvido…
    Fiz algumas modificações no código, criando um código mais simples.
    Depois vou disponibilizar este projecto completo!

    Obrigado
    JsCoelho
    ——————————–
    http://www.jscoelho.comuf.com
    ——————————–

  26. wagner says:

    cara, aqui funcionou blz!!
    só um detalhe: se vc der read na serial logo após mandar… não da certo não, coloca um delay no vb, no caso um Theading.thread.sleep(100) já ta bom, se não n fufa não.
    O vb le a porta e ela ainda está vazia, mas se espera 100ms o arduino já mandou a informação. Bom pelo menos foi isso que aconteceu comigo, e deu certo! bem legal. Abraço a todos.
    Dim receber As String
    SerialPort1.Open()
    SerialPort1.Write(“a”)
    Threading.Thread.Sleep(100)
    receber = SerialPort1.ReadExisting()
    If receber = “” Then
    TextBox1.Text = “sem resposta”
    SerialPort1.Close()
    Else
    TextBox1.Text = receber
    SerialPort1.Close()
    End If

  27. wagner says:

    muito bom! me ajudou d+.
    Fiz um projeto com o arduino e um android, da uma olhada ai
    http://automatudo.blogspot.com.br/

  28. Ricardo Pereira says:

    Boa tarde,
    Alguém me podia disponibilizar o código em VB da comunicação, ou dar-me o caminho.
    Assim era mais fácil escolher as portas.
    Obrigado

  29. José Coelho says:

    Para quem ainda não tinha visto, aqui está o meu projecto completo.

    http://tecnodomos.blogspot.pt/2012/04/comunicacao-pc-vs-arduino.html

    Espero que seja útil.
    Bom trabalho

    Cps.

  30. rodrigo says:

    Ola boa noite, tem como disponibilizar para dowload os códigos dos programas ?

  31. Cezar Rossi says:

    ola pessoal do ppliware da mesma forma que consigo comunicar ele por windows via c# tenho como fazer isso em linux usando o python ?

Deixe uma resposta

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.