Como conectar dois Arduino sem escudos?


14

Estou planejando um sistema Arduino que consiste em várias placas Arduino. A distância máxima entre as pranchas é de cerca de 50 metros. Quero enviar dados básicos entre eles, como cadeias curtas ou números inteiros. Sei que poderia enviar dados através de cabos ethernet, mas isso requer uma blindagem ethernet ou a placa Ethernet Arduino que dobra os custos. Existe uma maneira de baixo orçamento para conectar as placas usando apenas as placas mais básicas (como Uno) e alguns outros componentes, mas não uma blindagem completa?


Se o orçamento não era um problema, você pode usar os chips bluetooth ou xbee. Eles não são muito ruim, mas será executado um total de ~ $ 60 como você vai precisar 2.
Steven10172

@ Dispositivos Steven10172 Bluetooth são úteis, mas parece que o OP quer uma solução barata, sem escudos (baixo perfil talvez?)
Pinguim Anônimo

3
Certifique- se de conectar os motivos se o seu meio de transferência for eletricidade !!!
Anonymous Penguin

Respostas:


9

Para comunicação com fio de longa distância, consulte o RS-485 .

Como usa uma linha balanceada diferencial sobre um par trançado (como o RS-422), pode percorrer distâncias relativamente grandes (até 4.000 pés (1.200 m)). Uma regra prática é que a velocidade em bit / s multiplicada pelo comprimento em metros não deve exceder 108. Portanto, um cabo de 50 metros não deve sinalizar mais rápido que 2 Mbit / s

Você pode usar o chip MAX485. É muito fácil trabalhar, mas também há uma boa biblioteca:

https://github.com/Protoneer/RS485-Arduino-Library


Ele não podia simplesmente descascar os fios no RS-485 ou similar e usá-lo como serial para economizar dinheiro? 9600 não funciona quase tão rápido quanto 2 Mbps. Existe algo especial sobre o protocolo / voltagens / etc. isso o torna adequado para longas distâncias? Pode poupar algum dinheiro ...
Anonymous Penguin

É um sinal diferencial enviado por um par trançado. Reduz o ruído. pt.wikipedia.org/wiki/Differential_signaling
sachleen

Esta página é um excelente recurso no RS485 com o Arduino gammon.com.au/forum/?id=11428
DaveP 2/15

7

Existem duas categorias em que posso pensar para classificar os recursos de desinstalação das placas Arduino:

Entre 2 dispositivos:

  • Serial: Fácil de usar e requer apenas 2 linhas de dados.
  • OneWire: mais difícil de usar e lento, mas usa apenas uma linha de dados

Entre mais de 2 dispositivos

  • I2C: você pode ter até 128 dispositivos em uma rede, endereçáveis ​​individualmente, mas requer um dispositivo mestre, usa 2 linhas de dados. isso também é conhecido como Wire.
  • SPI: difícil de usar, mas seleção de dispositivos muito rápida e fácil. usa muitas linhas de dados (3 + num de dispositivos)
  • OneWire: o uso do oneWire endereçado é ainda mais lento que o oneWire normal, mas apenas uma linha de dados
  • SoftwareSerial: Você pode ter vários dispositivos conectados por diferentes linhas seriais, mas é mais lento.
  • CAN: disponível apenas no vencimento e endereçável

Existem outros métodos disponíveis, mas estes listados requerem apenas um mínimo de hardware externo.

Para classificações de distância, consulte http://forum.arduino.cc/index.php?topic=82937.0 e http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html

Essas taxas de dados são diretamente controladas em série e podem ser ajustadas em muitas outras.


5

O Freakduino fabrica algumas placas Arduino sem fio integradas. O alcance sem fio de longo alcance é de 900 MHz e o alcance mais curto é de 2,4 GHz. Eu acho que eles são realmente rádios XBee e para programação você usaria uma biblioteca chamada chibiArduino, que está disponível (e documentada) no site do Freakduino. Ao se comunicar sem fio com outro rádio, você pode usar o Broadcast ou especificar um rádio pelo seu ID, que é um valor que você precisa definir na EEPROM do Freakduino.

Tomado diretamente do site do Freakduino:

A adição de um rádio sem fio integrado baseado no protocolo IEEE 802.15.4 (o mesmo protocolo de rádio que o XBee) permite o controle sem fio de dispositivos ou a coleta de dados de sensores sem fio. Um circuito opcional de bateria foi adicionado para que ele pudesse funcionar como um verdadeiro nó sem fio sem cabos de energia externos. A placa também foi projetada para caber em um gabinete robusto para que o design possa ser transportado com segurança ou implantado em um cenário de uso real sem se preocupar em danificar o circuito.

Este rádio de 900 MHz é um dos meus favoritos. Eu uso o tempo todo, porque 900 MHz oferece alcance muito melhor em comparação com 2,4 GHz. O rádio pode emitir até 10 mW de potência de transmissão, o que pode obter uma quantidade surpreendente de alcance. Com a linha de visão direta, algumas centenas de metros não seriam surpreendentes. Se for necessário um alcance adicional, o modo de modulação também pode ser alterado de OQPSK para BPSK. Isso resulta em um alcance adicional à custa da taxa de dados, com o máximo passando de 250 kbps a 40 kbps no modo padrão.


0

Como você disse, os escudos Ethernet são caros, mas você não precisa usá-lo. Confira o enc28j60 para redes com fio ou o ESP8266, se você preferir a conexão sem fio. Ambos são cerca de US $ 4USD. Agora estou usando o ESP8266 e tenho cerca de 8 dispositivos conversando entre si e um Raspberry Pi. É realmente um ótimo chip! Não posso falar pessoalmente com o ENC28j60, pois eles ainda estão no pacote em minha mesa.


0

Você pode usar uma placa Ethernet (US $ 2 na Sparkfun). Isso permite que você use os cabos Ethernet, mas não precisa usar um protocolo TCP / IP completo. Em vez disso, basta conectar os pinos de dados à placa de interrupção, usar a Ethernet para conectá-los e depois falar com serial. Eu uso isso um pouco para colocar os sensores de um fio mais longe do Arduino para uma conexão forte e barata.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.