Arduino Forum

Forum 2005-2010 (read only) => International => Deutsch => Topic started by: Thhherapy on Jan 22, 2011, 03:23 pm

Title: 2 Arduino verbinden
Post by: Thhherapy on Jan 22, 2011, 03:23 pm
Hallo,
bin ganz neu im Gebiet Programmierung und Mikocontroller.
Dachte ich fang mal mit Arduino an, weil für für das andere fehlt mir einfach die Zeit.

Zu meinem ersten Projekt.....
Ich möchte 2 Arduino miteinander verbinden. Es wird einen Sender geben und einen Empfänger.
Am Sender wird z.b. Eingang 1 gesetzt und am Emfänger wird z.b. Ausgang 5 und 6 gesetzt.
Verbunden wird das ganze störungssicher über Kabel. Die Frage dabei ist, welche Art von Verbinung und wie schnell ist die?


Ich brauche eine möglichst verzögerungsfreie Übertragung. (das ist Wichtig!)

Ich hätte eigentlich an RS232 gedacht.
Jetzt hab ich noch was von I2C gelsesen.
Ein Ethernet Shild gibts ja auch noch....


Was wär jetzt am besten und am schnellsten?




Falls es möglich wäre, möchte ich auch noch 2 Analogsignale übertragen
Analogeingang am Sender und Analogausgang am Empfänger.
Wie siehts da mit der übertragungsgeschwindigkeit aus, geht das ruckelfrei?
Title: Re: 2 Arduino verbinden
Post by: stundenblume on Jan 22, 2011, 04:28 pm
Willkommen,

http://www.instructables.com/id/I2C-between-Arduinos/

Quote
Ever wanted to connect more Arduino's to transfer data or commands between them?
What purpose? Maybe you don't have enough I/O Pins or Analog In's. Maybe you want to do separate tasks on the same project but still want to communicate between the Arduino's. Or maybe you just need to do a simple thing more complicated.

There are many ways to send a command to another Microcontroller:

UART -   Requires pins 0 and 1. The problem with UART is that only one device can send data to another. And also it's already in use by the USB port of the Arduino to connect to the computer.

DIGITAL I/O -  Basically put a pin HIGH and read it on the other Arduino. But with this you have a
limited number of commands and devices.

I2C - I2C Requires Analog Pins 4 and 5 and two pull-up resistors. You can connect more than 100 Arduino's on the same 2 pins. It's simple, reliable and easy-to-use.
Title: Re: 2 Arduino verbinden
Post by: Thhherapy on Jan 23, 2011, 02:12 am
Nach stundenlanger recherche im Internet bin ich wieder etwas schlauer.

Arduinos haben eine UART Schnittstelle (keine RS232 wie ich angenommen habe) und jetzt weis ich auch wie diese funktioniert.

Digital I/O fällt weg, die brauch ich für was anderes.

I2C fällt ja eigentlich auch weg, weil
Quote
Ungeeignet ist der I²C-Bus zur Überbrückung größerer Entfernungen, wie es beispielsweise für Feldbusse typisch ist. Für Übertragungen zwischen verschiedenen Geräten mit getrennten Gehäusen ist der Bus nicht störsicher genug.


Title: Re: 2 Arduino verbinden
Post by: bytzmaster on Jan 23, 2011, 09:03 am
Im Link hat es jmd auf über 200m geschafft mit I²C.

http://www.mikrocontroller.net/topic/40880
Title: Re: 2 Arduino verbinden
Post by: stundenblume on Jan 23, 2011, 10:38 am
Ich würde ebenfalls I²C bevorzugen. Falls Du aber gern Seriell arbeiten möchtest und keinen Mega mit 4 UARTS verwendest gibt es hier Hilfe: http://arduiniana.org/libraries/NewSoftSerial/
Title: Re: 2 Arduino verbinden
Post by: uwefed on Jan 23, 2011, 10:50 am
Bei Arduinos mit ATmega328 oder Atmega168 wird die als Hartware implementierte Schnittstelle wird für den Upload der Sketch verwendet. Du kannst sie auch verwenden, mußt aber für Uploads dann die externe Beschaltung entfernen damit Uploads funktionieren.

Für Alternativen: stundenblume war mal schneller als ich.

Grüße Uwe
Title: Re: 2 Arduino verbinden
Post by: Thhherapy on Jan 23, 2011, 05:20 pm
Das versteh ich jetzt nicht ganz...

Ich lade doch nur jeweils einmal das Programm auf die 2 Arduino und dann benutz ich diese Schnittstelle nur noch zwischend den beiden als Datenaustausch.

Funktioniert das nicht?
Wieso?
Meinst du mit externer Beschaltung den USB-Wandler?
Title: Re: 2 Arduino verbinden
Post by: uwefed on Jan 23, 2011, 10:46 pm
Ich meine externe Beschaltung am TX und RX PIN ( PIN 1 und Pin 0) des Arduino's.
Der FT232 ist über 2 Widerstände an RX und TX Pin angeschlossen. Darum wenn Du etwas an TX oder RX hängst wird der Datenaustauch zwischen Arduino und FT232 gestört.

Grüße Uwe
Title: Re: 2 Arduino verbinden
Post by: Thhherapy on Jan 23, 2011, 11:48 pm
achso, dein Post und er von stundenblume hat mich jetzt etwas iritiert.
Bei ihm hört sich das so an wie wenn es nur mit dem Mega richtig funktionieren würde....

villeicht nimm ich doch I²C.... mal sehn.