LusoRobótica - Robótica em Português
Electrónica => Protocolos => Tópico iniciado por: joaopedrocmp em 18 de Junho de 2012, 23:09
-
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
-
SPI talvez seja a melhor opção, um RFM12 ou até um NRF24L01
procura por jeenode
-
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..
-
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?
-
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 ?
-
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.
-
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?
-
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://en.wikipedia.org/wiki/CAN_bus)
http://www.gaw.ru/data/Interface/CAN_BUS.PDF (http://www.gaw.ru/data/Interface/CAN_BUS.PDF)
-
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://en.wikipedia.org/wiki/CAN_bus)
http://www.gaw.ru/data/Interface/CAN_BUS.PDF (http://www.gaw.ru/data/Interface/CAN_BUS.PDF)
Obrigado.
Venho esclarecer duvidas assim que ler isto :)
hehe