Fråga:
Hur man ansluter två Arduino utan sköldar?
totymedli
2014-02-14 04:32:44 UTC
view on stackexchange narkive permalink

Jag planerar ett Arduino-system som består av flera Arduino-kort. Det maximala avståndet mellan brädorna är cirka 50 meter. Jag vill skicka grundläggande data mellan dessa, som korta strängar eller heltal. Jag vet att jag kunde skicka data via Ethernet-kablar men det kräver en Ethernet-skärm eller Arduino Ethernet-kort som fördubblar kostnaderna. Finns det ett lågbudget sätt att ansluta korten med endast de mest grundläggande korten (som Uno) och några andra komponenter men inte en hel skärm?

Om budget inte var ett problem kan du använda Bluetooth eller xbee-chips. De är inte så dåliga, men kommer att kosta totalt ~ $ 60 eftersom du behöver 2.
@Steven10172 Bluetooth-enheter är praktiska, men det verkar som om OP vill ha en billig lösning utan skärmar (låg profil kanske?)
Se till att ** se till att ansluta tomten om ditt överföringsmedium är el !!!
Relaterat: [Skickar minimala data mellan två Arduinos långt ifrån varandra] (https://arduino.stackexchange.com/questions/76947/sending-minimal-data-between-two-arduinos-far-away-from-each- Övrig)
Fem svar:
#1
+9
sachleen
2014-02-14 04:59:03 UTC
view on stackexchange narkive permalink

För trådbunden kommunikation, se RS-485.

Eftersom den använder en differentiell balanserad linje över tvinnat par (som RS-422), kan sträcka sig relativt stora avstånd (upp till 4000 fot (1200 m)). En tumregel är att hastigheten i bit / s multiplicerad med längden i meter inte bör överstiga 108. Således bör en 50 meter kabel inte signalera snabbare än 2 Mbit / s

Du kan använd MAX485-chipet. Det är ganska lätt att arbeta med men det finns också ett bra bibliotek:

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

Kunde han inte bara ta av ledningarna i RS-485 eller liknande och bara använda den för serie för att spara pengar? 9600 baud körs inte * nästan * så snabbt som 2 MBPS. Finns det något speciellt med protokollet / spänningar / etc. som gör den lämplig för långa sträckor? Det kan spara lite pengar ...
Det är en differentiell signal som skickas över ett tvinnat par. Minskar buller. http://en.wikipedia.org/wiki/Differential_signaling
Den här sidan är en utmärkt resurs på RS485 med Arduino http://www.gammon.com.au/forum/?id=11428
#2
+7
TheDoctor
2014-02-14 04:42:53 UTC
view on stackexchange narkive permalink

Det finns två kategorier som jag kan tänka mig för att klassificera finjusteringsfunktioner på Arduino-korten:

Mellan två enheter:

  • Seriell: Enkel att använda och kräver bara två datalinjer.
  • OneWire: svårare att använda och långsam, men använder bara en datarad

Mellan mer än två enheter

  • I2C: Du kan ha upp till 128 enheter i ett nätverk, individuellt adresserbara, men kräver en huvudenhet, använder två datalinjer. detta kallas också Wire.
  • SPI: svårt att använda, men väldigt snabbt och enkelt enhetsval. använder många datalinjer (3 + antal enheter)
  • OneWire: att använda adresserad oneWire är ännu långsammare än vanlig oneWire, fortfarande bara en datalinje
  • SoftwareSerial: Du kan ha flera enheter anslutna med olika serier, men det är långsammare.
  • CAN: endast tillgängligt på förfallodagen och adresserbart

Det finns andra metoder tillgängliga, men dessa listas endast kräver ett minimum av extern hårdvara.

För avståndsklassificering, se http://forum.arduino.cc/index.php?topic=82937.0 och http: / /www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html

Dessa datahastigheter styrs direkt i Serial och kan justeras i många andra.

#3
+5
HK1
2014-02-14 05:01:48 UTC
view on stackexchange narkive permalink

Freakduino tillverkar några Arduino-kort med inbyggt trådlöst. Deras långa räckvidd trådlöst är 900 MHz och deras kortare räckvidd är 2,4 GHz. Jag tror att de faktiskt är XBee-radioer och för programmering skulle du använda ett bibliotek som heter chibiArduino, som är tillgängligt (och dokumenterat) på Freakduino-webbplatsen. När du kommunicerar trådlöst med en annan radio kan du använda Broadcast eller ange en radio med dess ID, vilket är ett värde du behöver ställa in i EEPROM i Freakduino.

Hämtat direkt från Freakduino-webbplatsen:

Tillägget av en integrerad trådlös radio baserad på IEEE 802.15.4-protokollet (samma radioprotokoll som XBee) möjliggör trådlös styrning av enheter eller insamling av trådlös sensordata. Valfri batterikrets har lagts till så att den kan fungera som en riktig trådlös nod utan externa strömkablar. Kortet är också utformat för att passa en robust kapsling så att designen kan transporteras säkert eller distribueras i ett verkligt användningsscenario utan att oroa sig för att skada kretsarna.

Denna 900 MHz-radio är min personliga favorit. Jag använder den hela tiden eftersom 900 MHz erbjuder mycket bättre räckvidd jämfört med 2,4 GHz. Radion kan sända upp till 10 mW sändningseffekt vilket kan få en överraskande mängd räckvidd. Med direkt siktlinje skulle några hundra meter inte vara förvånande. Om ytterligare intervall behövs kan moduleringsläget också ändras från OQPSK till BPSK. Detta resulterar i ytterligare intervall på bekostnad av datahastigheten, med max går från 250 kbps till 40 kbps i standardläge.

#4
  0
Butters
2015-03-02 08:04:45 UTC
view on stackexchange narkive permalink

Som du sa är Ethernet-sköldar dyra, men du behöver inte använda skölden. Kolla in enc28j60 för trådbundet nätverk eller ESP8266 om du föredrar trådlöst. Båda är ungefär $ 4USD. Jag använder ESP8266 nu och har ungefär 8 enheter som pratar med varandra och en Raspberry Pi. Det är ett riktigt bra litet chip! Jag kan inte prata personligen med ENC28j60, eftersom de fortfarande sitter i paketet på mitt skrivbord.

#5
  0
Nathan
2015-03-02 22:26:50 UTC
view on stackexchange narkive permalink

Du kan använda ett Ethernet-breakoutkort ($ 2 på Sparkfun). Detta låter dig använda Ethernet-kablarna, men du behöver inte använda ett fullständigt TCP / IP-protokoll, istället kan du bara ansluta datapinnar till breakout-kortet, använda Ethernet för att ansluta dem och sedan få dem att prata med seriell. Jag använder detta ganska mycket för att placera en trådsensor längre från Arduino för en stark men billig anslutning.



Denna fråga och svar översattes automatiskt från det engelska språket.Det ursprungliga innehållet finns tillgängligt på stackexchange, vilket vi tackar för cc by-sa 3.0-licensen som det distribueras under.
Loading...