collapse

* Links de Robótica

* Posts Recentes

Ajuda com TRIAC por senso
[Ontem às 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]


Preciso de uma fonte de corrente constante ? por samc
[09 de Novembro de 2017, 14:18]


Pressoestato 0-10V por artur36
[07 de Novembro de 2017, 23:22]


Ideias para construir um quadrúpede simples por Njay
[07 de Novembro de 2017, 18:39]

Autor Tópico: comunicação entre arduinos e PC  (Lida 3497 vezes)

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

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
comunicação entre arduinos e PC
« em: 25 de Abril de 2013, 01:03 »
Boa noite.

Estou para fazer um upgrade a um projecto meu já antigo e o objectivo é adicionar um arduino, porque no  antigo já não tenho mais espaço de memória nem espaço físico.

No segundo arduino terei sensores e motores, disponível com porta série mas sem SPI (queimou porque a ponte H lá ligada entrou em cc), no outro vai ter a porta série ocupada com o PC poderá não levar sensores mas vai comunicar com o segundo arduino.

A minha questão agora era saber qual a melhor forma de comunicação. consigo interligar através de I2C? enviar dados para um porto de modo a que saiam em série? em ultimo caso pulsos, mas nunca mais saia dali :/

PS: a comunicação entre o primeiro arduino e o PC é constante, por isso não dá jeito haver interrupção.

Offline dropes

  • Mini Robot
  • *
  • Mensagens: 1.926
Re: comunicação entre arduinos e PC
« Responder #1 em: 25 de Abril de 2013, 16:22 »
O modo de comunicação em I2C é mais para endereçamentos, não sendo o mais indicado; rs232 também não é muito adequado porque não se pode interromper a comunicação a meio e o sincronismo tem de ser preciso, por isso resta o spi, se não tens disponível fisicamente sempre podes fazer por software.

Offline npereira

  • Mini Robot
  • *
  • Mensagens: 95
  • Abstuntis Majoris
    • Site Pessoal
Re: comunicação entre arduinos e PC
« Responder #2 em: 25 de Abril de 2013, 17:26 »
Talvez o mais simples é fazer comunicação serie por software entre os dois arduinos.
Nelson Pereira
Automação, Robótica e Controlo Industrial

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: comunicação entre arduinos e PC
« Responder #3 em: 26 de Abril de 2013, 00:23 »
O modo de comunicação em I2C é mais para endereçamentos, não sendo o mais indicado; rs232 também não é muito adequado porque não se pode interromper a comunicação a meio e o sincronismo tem de ser preciso, por isso resta o spi, se não tens disponível fisicamente sempre podes fazer por software.

A informação que quero receber também é "curta" 4 inteiros de 4 dígitos de cada vez, repete-se é muitas vezes

Talvez o mais simples é fazer comunicação serie por software entre os dois arduinos.

era +- isso que estava a pensar, mas não de forma tão simples, embora no I2C só preciso de 2 fios, função genérica, e consigo por ex partilhar um RTC pelos 2.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: comunicação entre arduinos e PC
« Responder #4 em: 26 de Abril de 2013, 00:39 »
Não sei se é muito boa ideia partilhar periféricos, pode ser feito, mas á que ter em atenção ao código, não seria uma solução melhor, usar só um micro maior/com mais pinos?
Avr fanboy

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: comunicação entre arduinos e PC
« Responder #5 em: 26 de Abril de 2013, 01:08 »
Não sei se é muito boa ideia partilhar periféricos, pode ser feito, mas á que ter em atenção ao código, não seria uma solução melhor, usar só um micro maior/com mais pinos?

não por causa do processamento, enquanto fica a fazer contas passa o tempo para a resposta do PC

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: comunicação entre arduinos e PC
« Responder #6 em: 26 de Abril de 2013, 12:31 »
Por falta de processamento?
Avr fanboy

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: comunicação entre arduinos e PC
« Responder #7 em: 26 de Abril de 2013, 12:54 »
Por falta de processamento?

O PC pede comunicação x em x milissegundos, caso não haja resposta ele reinicia a comunicação, quando o arduino vai a responder, já vai tarde depois de fazer as contas e actuar os motores.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: comunicação entre arduinos e PC
« Responder #8 em: 26 de Abril de 2013, 13:08 »
Isso deve é ser código mal pensado, até porque serial é algo lento, o que é que o micro está mesmo a fazer com o que envia/recebe para o pc?
Avr fanboy

StarRider

  • Visitante
Re: comunicação entre arduinos e PC
« Responder #9 em: 27 de Abril de 2013, 02:17 »
Boas,


Eu tenho uma solução para o teu dilema ... mas possivelmente não a vais querer ouvir ;)

Abraços,
PA

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: comunicação entre arduinos e PC
« Responder #10 em: 27 de Abril de 2013, 13:36 »
É mandar o IDE do arduino pela janela fora, porque para que está a fazer o atmega deve servir perfeitamente..
Avr fanboy

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: comunicação entre arduinos e PC
« Responder #11 em: 27 de Abril de 2013, 20:12 »
o arduino está a comunicar com o PC com um programa chamado setellarium. Então o arduino tem que receber a informação converter os dados, ler posição e corrigir/mudar de posição actuando motores.

Esta ultima parte é a mais lenta e que faz desligar a comunicação, podia meter por interrupção mas acho que complica :/

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: comunicação entre arduinos e PC
« Responder #12 em: 27 de Abril de 2013, 20:18 »
O serial implementado no Arduino funciona por interrupções, como é que "desliga" a comunicação?
O teu código está mal feito e é bloqueante na parte do movimento, só pode..
Avr fanboy

Offline filipe89

  • Mini Robot
  • *
  • Mensagens: 163
Re: comunicação entre arduinos e PC
« Responder #13 em: 27 de Abril de 2013, 20:42 »
Se ficar a actuar motores, estando dentro dum ciclo for, não vai poder responder ao PC

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.400
  • Helpdesk do sitio
Re: comunicação entre arduinos e PC
« Responder #14 em: 27 de Abril de 2013, 20:54 »
Não precisa de bloquear para rodar um stepper ou dois, tens de alterar a estrutura do código, olha para o exemplo blinky without delay e entende como ele funciona, podes implementar milhentas coisas diferentes para que funcionem de x em x tempo sem serem bloqueantes, foi precisamente isso que o Njay te disse para fazeres e te deu links(noutro tópico penso eu).
Avr fanboy