• Welcome to LusoRobótica - Robótica em Português.
 

Protocolo Utilizavél?

Started by joaopedrocmp, 18 de June de 2012, 23:09

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

joaopedrocmp

Boas,

Queria fazer qualquer coisa do género:

Pc-----usb/Serial converter --- Transceiver     ) ) <> ( (       Transceiver ------|---------------|--------------|
                                                                                                                 Arduino          arduino       Arduino


Cada arduino tem um endereço, o pc envia um conjunto de 3 digitos Hex, o arduino que tiver o endereço, envia (noutro canal) 3 digitos Dec, Pausa,3 digitos dec, pausa, 999 Dec para terminar.

Acham que comunicação serial é o indicado para este tipo de "rede"?

Tive a ver i2c, e entretanto vou pesquisar

CBX

SPI talvez seja a melhor opção, um RFM12 ou até um NRF24L01

procura por jeenode

senso

Não sei se o IDE do Arduino tem código 100% funcional para slave de i2c.
Dependendo das distancias, can ou rs-485 será uma melhor opção..
Avr fanboy

joaopedrocmp

Tive a pensar, que se calhar seria melhor dar um endereço aos arduinos e ao pc, e enviava mensagens do tipo:

inicio,endereço,mensagem,fim


As distancias, sao cerca de 20 /30m entre os arduinos, e por wirless nao faz diferença, ou faz?

joaopedrocmp

Quote from: senso on 18 de June de 2012, 23:58
Não sei se o IDE do Arduino tem código 100% funcional para slave de i2c.
Dependendo das distancias, can ou rs-485 será uma melhor opção..

E ha exemplos de can / rs-485 ?

senso

Can é standart da industria, tens app-notes de todos os fabricantes de micro-controladores, escolhe um com CAN ou usas um chip á parte para isso, tens por exemplo o MCP2515 da Microchip que fala por SPI e trata de implementar a camada de hardware, depois adicionas um transceiver e está feito, ou tens os atmegas com can, os AT90CAN, que têm can em hardware, é só adicionar um transceiver, para o que queres fazer can parece-me perfeito.
RS-485 é serial half-duplex que usa serial com 9 bits para diferenciar entre dados e endereço, e é a camada fisica de algo muito conhecido que se chama DMX usado em iluminação.
Avr fanboy

joaopedrocmp

Quote from: senso on 19 de June de 2012, 00:20
Can é standart da industria, tens app-notes de todos os fabricantes de micro-controladores, escolhe um com CAN ou usas um chip á parte para isso, tens por exemplo o MCP2515 da Microchip que fala por SPI e trata de implementar a camada de hardware, depois adicionas um transceiver e está feito, ou tens os atmegas com can, os AT90CAN, que têm can em hardware, é só adicionar um transceiver, para o que queres fazer can parece-me perfeito.
RS-485 é serial half-duplex que usa serial com 9 bits para diferenciar entre dados e endereço, e é a camada fisica de algo muito conhecido que se chama DMX usado em iluminação.

Isto é par uma experiência de domotica industrial. Como estamos a fazer o programa para o pc de raiz, podemos escolher o protocolo.
Quanto a dmx, conheço perfeitamente, Visto fazer LJ  em karaokes :)

Então, caso use CAN, é adicionar um chip CAN depois do serial adapter, outro antes da input serial de cada arduino, e outro no output serial de cada arduino, certo?.

Depois de o pc enviar dados pela serial, o chip passa para CAN, envia atravez do wirless, o receptor envia os dados para o outro chip can, e passa para serial e envia para o arduino. é isso?

senso

Não, can é um protocolo por si só, não tem nada a ver com serial.
Acho que se quiseres usar, podes começar a ler:
http://en.wikipedia.org/wiki/CAN_bus
http://www.gaw.ru/data/Interface/CAN_BUS.PDF
Avr fanboy

joaopedrocmp

Quote from: senso on 19 de June de 2012, 00:38
Não, can é um protocolo por si só, não tem nada a ver com serial.
Acho que se quiseres usar, podes começar a ler:
http://en.wikipedia.org/wiki/CAN_bus
http://www.gaw.ru/data/Interface/CAN_BUS.PDF

Obrigado.

Venho esclarecer duvidas assim que ler isto :)
hehe