Bagaimana menghubungkan dua Arduino tanpa perisai?

14

Saya merencanakan sistem Arduino yang terdiri dari beberapa papan Arduino. Jarak maksimum antara papan adalah sekitar 50 meter. Saya ingin mengirim data dasar di antara ini, seperti string pendek atau bilangan bulat. Saya tahu saya bisa mengirim data melalui kabel ethernet tetapi itu membutuhkan ethernet shield atau papan Arduino Ethernet yang menggandakan biaya. Apakah ada cara murah saya bisa menghubungkan papan hanya menggunakan papan paling dasar (seperti Uno) dan beberapa komponen lain tetapi tidak perisai penuh?

totymedli
sumber
Jika anggaran bukan masalah, Anda dapat menggunakan chip bluetooth atau xbee. Mereka tidak terlalu buruk, tetapi akan menjalankan total ~ $ 60 karena Anda akan membutuhkan 2.
Steven10172
@ Steven10172 Perangkat Bluetooth sangat berguna, tetapi sepertinya OP menginginkan solusi yang murah tanpa pelindung (low profile mungkin?)
Anonymous Penguin
3
Membuat yakin untuk menghubungkan dengan alasan jika media Anda transfer adalah listrik !!!
Penguin Anonim

Jawaban:

9

Untuk komunikasi kabel jarak jauh, lihat RS-485 .

Karena menggunakan garis seimbang diferensial atas pasangan terpilin (seperti RS-422), ia dapat menjangkau jarak yang relatif besar (hingga 4.000 kaki (1.200 m)). Aturan praktisnya adalah bahwa kecepatan dalam bit / s dikalikan dengan panjang dalam meter tidak boleh melebihi 108. Dengan demikian kabel 50 meter tidak boleh memberi sinyal lebih cepat dari 2 Mbit / s

Anda dapat menggunakan chip MAX485. Ini sangat mudah untuk dikerjakan tetapi ada perpustakaan yang bagus juga:

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

sachleen
sumber
Tidak bisakah dia melepas kabel di RS-485 atau serupa dan hanya menggunakannya untuk serial untuk menghemat uang? 9600 baud tidak berjalan hampir secepat 2 MBPS. Apakah ada sesuatu yang istimewa tentang protokol / voltase / dll. yang membuatnya cocok untuk jarak jauh? Mungkin menghemat uang ...
Anuin Penguin
Ini adalah sinyal diferensial yang dikirim melalui pasangan bengkok. Mengurangi kebisingan. en.wikipedia.org/wiki/Differential_signaling
sachleen
Halaman ini adalah sumber yang bagus tentang RS485 dengan Arduino gammon.com.au/forum/?id=11428
DaveP
7

Ada dua kategori yang dapat saya pikirkan untuk mengklasifikasikan fitur-fitur komunikasi dari papan Arduino:

Antara 2 perangkat:

  • Serial: Mudah digunakan dan hanya membutuhkan 2 jalur data.
  • OneWire: Lebih sulit digunakan dan lambat, tetapi hanya menggunakan satu jalur data

Antara lebih dari 2 perangkat

  • I2C: Anda dapat memiliki hingga 128 perangkat di jaringan, yang dapat dialamatkan secara individual, tetapi membutuhkan perangkat master, menggunakan 2 jalur data. ini dikenal juga sebagai Wire.
  • SPI: sulit digunakan, tetapi pemilihan perangkat sangat cepat dan mudah. menggunakan banyak jalur data (3 + jumlah perangkat)
  • OneWire: menggunakan oneWire yang dialamatkan bahkan lebih lambat daripada oneWire biasa, masih hanya satu jalur data
  • SoftwareSerial: Anda dapat memiliki beberapa perangkat yang terhubung oleh garis Serial yang berbeda, tetapi lebih lambat.
  • BISA: hanya tersedia pada Jatuh Tempo, dan dialamatkan

Ada metode lain yang tersedia, tetapi ini hanya membutuhkan perangkat keras eksternal minimum.

Untuk peringkat jarak, lihat http://forum.arduino.cc/index.php?topic=82937.0 dan http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html

Kecepatan data ini dikendalikan secara langsung dalam Serial dan dapat diubah pada banyak lainnya.

Dokter
sumber
5

Freakduino membuat beberapa papan Arduino dengan nirkabel internal. Nirkabel jarak jauh mereka adalah 900 MHz dan jangkauan mereka yang lebih pendek adalah 2,4GHz. Saya pikir mereka sebenarnya radio XBee dan untuk pemrograman Anda akan menggunakan perpustakaan bernama chibiArduino, yang tersedia (dan didokumentasikan) di situs web Freakduino. Saat berkomunikasi secara nirkabel dengan radio lain, Anda dapat menggunakan Siaran atau menentukan radio berdasarkan ID yang merupakan nilai yang harus Anda tetapkan dalam EEPROM Freakduino.

Diambil langsung dari situs Freakduino:

Penambahan radio nirkabel terintegrasi berdasarkan protokol IEEE 802.15.4 (protokol radio yang sama seperti XBee) memungkinkan kontrol nirkabel perangkat atau pengumpulan data sensor nirkabel. Sirkuit baterai opsional ditambahkan sehingga dapat berfungsi sebagai simpul nirkabel sejati tanpa kabel daya eksternal. Papan juga dirancang agar sesuai dengan penutup yang kokoh sehingga desain dapat diangkut dengan aman atau digunakan dalam skenario penggunaan aktual tanpa khawatir merusak sirkuit.

Radio 900 MHz ini adalah favorit pribadi saya. Saya menggunakannya sepanjang waktu karena 900 MHz menawarkan jangkauan yang jauh lebih baik dibandingkan dengan 2,4 GHz. Radio dapat menghasilkan hingga 10 mW daya pancar yang bisa mendapatkan jumlah jangkauan yang mengejutkan. Dengan berhadapan langsung, beberapa ratus meter tidak akan mengejutkan. Jika rentang tambahan diperlukan, mode modulasi juga dapat diubah dari OQPSK ke BPSK. Ini menghasilkan rentang tambahan dengan mengorbankan kecepatan data, dengan maks yang berkisar dari 250 kbps hingga 40 kbps dalam mode standar.

HK1
sumber
0

Seperti yang Anda katakan, perisai Ethernet itu mahal, tetapi Anda tidak harus menggunakan perisai itu. Periksa enc28j60 untuk jaringan kabel, atau ESP8266 jika Anda lebih memilih nirkabel. Keduanya sekitar $ 4USD. Saya menggunakan ESP8266 sekarang dan memiliki sekitar 8 perangkat yang saling berbicara dan Raspberry Pi. Ini adalah chip kecil yang sangat hebat! Saya tidak dapat berbicara secara pribadi dengan ENC28j60, karena mereka masih duduk di paket di meja saya.

Mentega
sumber
0

Anda bisa menggunakan papan breakout Ethernet ($ 2 di Sparkfun). Ini memungkinkan Anda menggunakan kabel Ethernet tetapi Anda tidak harus menggunakan protokol TCP / IP penuh, Anda hanya bisa menghubungkan pin data ke papan breakout, menggunakan Ethernet untuk menghubungkannya, dan kemudian membuatnya berbicara menggunakan serial. Saya menggunakan ini sedikit untuk menempatkan satu sensor kawat lebih jauh dari Arduino untuk koneksi yang kuat namun murah.

Nathan
sumber