collapse

* Links de Robótica

* Posts Recentes

Compras no allPCB por Dave
[Hoje às 14:41]


Organizar fios por josecarlos
[Hoje às 14:31]


Pendentes de compras colectivas por Hugu
[Hoje às 00:51]


Preços e fabricantes de pcb por vasco
[Ontem às 23:18]


Palavras Cruzadas por LVirtual
[Ontem às 20:54]


[Projecto] Bomba Airsoft por jm_araujo
[Ontem às 19:01]


Apresentação por Tech_JA
[23 de Setembro de 2017, 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]

Autor Tópico: Comunicação Serial entre dois Arduinos.  (Lida 4896 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline medecau

  • Mini Robot
  • *
  • Mensagens: 5
Comunicação Serial entre dois Arduinos.
« em: 09 de Novembro de 2009, 18:31 »
Estava a aescrever este post aqui quando me surgiu uma ideia, que resolveu a minha duvida. Resolução após citação.
Citar
Estou a tentar trocar dados entre dois Arduinos. Um Duemilanove e um Pro.

As ligações são:
Duemilanove  -> Pro
Tx -> RX
RX -> TX
5v -> +
GND -> -

Consigo fazer passar dados do Duemilanove para o Pro sem problemas mas não no sentido contrario, os dados ao passarem do Pro para o Duemilanove parecem perder alguns bits.

Como tenho mais do que um Arduino Pro(3) tentei utilizar outro mas continua igual, já tentei carregar o código que tinha no Duemilanove para outro Pro mas o problema persiste pelo que deduzo que seja na transmissão de dados dos Arduino Pro que esteja o problema.

Depois de ter escrito isto surgiu-me a ideia de ligar dois dos Pro mas fornecer alimentação através do Duemilanove em vez de usar o cabo USB. Desta forma libertando o Serial.
Ainda assim o comportamento é um pouco estranho, se alguém souber porque é que isto acontece e/ou como contornar agradeço que partilhem a informação.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.234
    • Tiago Rodrigues
Re: Comunicação Serial entre dois Arduinos.
« Responder #1 em: 09 de Novembro de 2009, 18:51 »
Boa tarde,

Não percebi bem como tem as ligações mas vou deixar umas dicas que podem ajudar:
  • Confirmar que todos os dispositivos têm GND comum (ter o GND (0V) ligado com fios entre todos os Arduinos para eles saberem falar a mesma "língua".
  • Confirmar que a alimentação tem capacidade para fornecer energia aos diversos dispositivos (o regulador de tensão do Duemilanove pode não aguentar a carga de todos os Arduinos + componentes pelo que se necessário utilizar uma fonte de alimentação externa (transformador) para alimentar parte do circuito).

Se depois de confirmar isto ainda tiver com problemas, tente explica-las melhor para o tentar ajudar ;)

Offline medecau

  • Mini Robot
  • *
  • Mensagens: 5
Re: Comunicação Serial entre dois Arduinos.
« Responder #2 em: 09 de Novembro de 2009, 19:39 »
O GND(terra) esta partilhado porque os Pro recebem alimentação do Duemilanove e a potência não é problema. O problema parece-me estar quando ligo a placa de USB aos Pro ou quando utilizo o Duemilanove para receber dados dos Pro.

Vou tirar umas fotos para mostrar as ligações.

Offline medecau

  • Mini Robot
  • *
  • Mensagens: 5
Re: Comunicação Serial entre dois Arduinos.
« Responder #3 em: 09 de Novembro de 2009, 20:42 »
Aqui esta:
a A é uma Duemilanove ligada por USB ao computador
a B é uma Pro com alimentação do A e com o  pino digital 0 ligado ao pino digital 1 do C
e a C também é Pro com alimentação da B

A A só da alimentação, a B esta sempre a ler do Serial e quando lê um char '1' liga o LED do pino 13 durante 50 ms e por fim a C escreve no Serial um '1' e depois para durante 500ms.

Espero que isto seja útil para aqueles que estejam a tentar por dois Arduinos a "conversar".

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.234
    • Tiago Rodrigues
Re: Comunicação Serial entre dois Arduinos.
« Responder #4 em: 09 de Novembro de 2009, 20:58 »
Quanto às ligações, só suspeitaria dos pro, se a entrada onde estás a liga-los estiver como entrada dos reguladores de tensão, esta pode não conseguir só com os 5V alimentar o regulador e dar os 5V estáveis visto que a recomendação para essas entradas é de 7V a 12V.

Também não percebi como é que o C envia o 1 visto que nenhum dos arduinos "C/B" estão ligados ao A para saber que aconteceu algo.

Experimenta ligar através de uma breadboard e ligar da breadboar aos pro em vez de estares a alimenta-los por essa ficha frontal ao lado do serial.

Offline medecau

  • Mini Robot
  • *
  • Mensagens: 5
Re: Comunicação Serial entre dois Arduinos.
« Responder #5 em: 09 de Novembro de 2009, 23:28 »
o A só esta ali para fornecer energia, o C envia dados, neste caso um byte a cada 800ms, e o B ao receber esse byte liga o LED durante 50ms.

fiz upload do video para mostrar:
« Última modificação: 10 de Novembro de 2009, 00:11 por TigPT »

Offline Tyran

  • Mini Robot
  • *
  • Mensagens: 293
Re: Comunicação Serial entre dois Arduinos.
« Responder #6 em: 09 de Novembro de 2009, 23:48 »
Não tás a ligar o TX do B ao RX do C.

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.234
    • Tiago Rodrigues
Re: Comunicação Serial entre dois Arduinos.
« Responder #7 em: 09 de Novembro de 2009, 23:50 »
Offtopic... fizeste o vídeo com que câmara?

Offline medecau

  • Mini Robot
  • *
  • Mensagens: 5
Re: Comunicação Serial entre dois Arduinos.
« Responder #8 em: 10 de Novembro de 2009, 00:07 »
Não tás a ligar o TX do B ao RX do C.
bem visto, mas para efeitos de por a coisa a funcionar o B esta só a escutar o que o C estiver a escrever.

TigPT:
a maquina é uma Sony Cyber-shot DSC-T70 - estava com o macro

Offline TigPT

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 5.234
    • Tiago Rodrigues
Re: Comunicação Serial entre dois Arduinos.
« Responder #9 em: 10 de Novembro de 2009, 00:10 »
Muita qualidade para a luz da cena... muito boa câmara!

Offline Fifas

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 2.060
  • El RoboSapiens
Re: Comunicação Serial entre dois Arduinos.
« Responder #10 em: 10 de Novembro de 2009, 17:16 »
Muita qualidade para a luz da cena... muito boa câmara!

realmente, tá brutal :) faz-me lembrar o k800 (joking ;D)

(desculpem o off-topic :D)