Bom dia, gostaria de saber se há algum modo de organizar uma conexão serial entre o arduino e um pc ?

Exemplo:

Quero que o pc envie um valor entre 0 e 255 para ligar um led (led 1), meu arduino tem que identificar para qual led é esse valor e aplica-lo ao led.

A mesma coisa com o arduino e o pc, o pc tem que identificar para onde é o valor que o arduino lhe enviou.

Exibições: 63

Responder esta

Respostas a este tópico

Sim, veja o exemplo:

https://www.arduino.cc/en/Serial/Read

Se vc adicionar uma série de If()s na sequencia faz isso. Para ficar melhor ainda pode ser um case()

https://www.arduino.cc/en/Reference/If

https://www.arduino.cc/en/Reference/SwitchCase

Do lado do PC vc vai precisar de algum programa, antes de mais nada vc precisa escolher uma linguagem.

Existem inumeras linguagens e cada uma com seus compiladores ou engines.

Estou brincando com o processing atualmente e recomendo. Gratuito para brincar, parecido com o arduino, muitos exemplos e muita documentação.

Veja o exemplo:

https://processing.org/reference/libraries/serial/Serial_readChar_....

Obrigado pela resposta Eduardo!

Mas na verdade meu problema não é esse, eu uso varias if junto com o serial read o problema é que quando eu mando do programa em java para o Arduíno chega em bytes e não em int.

Meu problema e tipo esse: http://labdegaragem.com/forum/topics/ajuda-arduinoreceber-n-meros-p...

Se mandar o mesmo valor via o monitor serial está dando certo?

Pode postar a parte do codigo em java que está usando para enviar os dados?

Comunicação com o arduino via usb, só enviei/recebi via C#, Delphi, python e php, bem simples, pensei em fazer testes com java uma vez, mas bateu desanimo rsrs

Ueh, então é outra pergunta, pq na pergunta vc fala em 0 a 255.

A serial só manda bytes mesmo.

Para poder mandar outros formatos de dados vc precisa usar qualquer protocolo.

O mais simplão é mandar em ascii.

Em ascii vc imprime para a serial usando println() que manda os caracteres correspondentes e depois um enter (13). 

Do outro lado vc lendo uma linha (que é qualquer coisa terminada com o ascii 13) vc tem uma informação.

Desse jeito vc pode mandar qualquer tamanho de numero.

Se quiser complicar vc pode criar um protocolo binário, mas acho desnecessário se a finalidade são leds.

ok, vou testar e ver no que da 

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2017   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço