Arduino aus grosser Entfernung steuern

Hallo zusammen

Ich hab ein paar Schrittmotoren und Schalter an meinem Arduino MEGA und möchte jetzt das ganze aus grösserer Entfernung (30-100m) mit meinem Laptop steuern könnnen. Wichtig ist eine bidirektionale Verbingung, ich möchte sowohl vom Laptop aus Befehle senden können, die der Arduino dann ausführt, als auch vom Arduino den Status von Sensoren oder Schaltern an den Laptop schicken.

Schön wäre das ganze natürlich kabellos, aber ich würde mich auch mit einer kabelgebundenen Lösung zufrieden geben.

Momentan kommuniziere ich am Laptop über Max/MSP über die Serielle Schnittstelle (USB) mit dem Arduino. Aber ein 100m langes USB Kabel wird ja wohl nicht funktionieren? Oder doch?

Hat da jemand eine Idee?

Danke und Gruss, T

Wie wärs mit WLAN?

XBee PRO Series 2?

markbee

Hallo joghurt

Hab im Netzt das da hier gefunden: http://www.sparkfun.com/products/10004

Muss ich mir das ungefähr so vorstellen: Dieses WiFi Modul schliess ich irgendwie an meinen Arduino an, und kann dann z.B. zwischen meinem Laptop und dem WiFi Modul ein Netz aufbauen?

danke und gruss,t

Selber probiert hab ich das noch nicht aber im Prinzip sollte es so funktionieren.

Die 100m sind Luftlinie ohne Hindernisse gerechnet. XBee Pro haben da größere Reichweiten (bis 1600m) Grüße Uwe

Wenn kabelgebunden eine Option ist, dann würde ich die im Zweifelsfall bevorzugen. Ist einfacher und weniger störanfällig. Drahtlos ist immer so eine Sache. Auch WLAN funktioniert nicht immer wie es soll. Vor allem wenn Wände im weg sind.

Was genau ist der Anwendungsfall? D.h. was für Übertragungsraten brauchst Du und was ist allem zwischen Sender und Empfänger an Hindernissen?

Hallo Udo

Übertragungsraten wird wohl nicht der Knackpunkt sein, es muss nicht abnormal schnell gehn... Zum einen will ich wie gesagt über den Laptop die Schrittmotoren steuern; dazu schicke ich dem Arduino eine Befehlskette über den seriellen Bus, der rest passiert dann eigentlich im Arduinocode. Die Schrittmotoren bewegen sich, und falls einer der Schutzschalter gedrückt wird, soll wird die Bewegung sofort gestoppt (im Arduinocode) und es soll an den Laptop ein Code über den seriellen Bus geschickt werden, der das meldet... Evtl. kommt noch ein Entfernungssensor dazu, der ausgewertet wird, vielleicht 1 pro ms...

Mir schwebt eigentlich eine Lösung vor, bei der ich ein Kabel mit bsp. drei Adern verlegen kann, beim Arduino einstecken, beim Laptop in irgend eine Art "Interface" einstecken, und dann steht die Verbindung..

Stell ich mir das ganze zu einfach vor?

LG t

Bei solchen Sachen würde ich nicht unbedingt auf eine Funklösun setzen. Wie wärs mit einer RS-485-Verbindung? RS-232 wäre bei 9600 Bit/s auch bis knapp über 150 Meter möglich...

Bluetooth… könnte allerdings auf 100m etwas eng werden bzw. mit einer Wand dazwischen wird das ziemlich sicher nicht gehen. Dafür ist so ein BT Modul schnell angestöpselt und prinzipiell genau so in der Handhabung wie eine “normale” serielle Schnittstelle.

Wie wäre es mit einer RS485 Schnittstelle via SN75176 oder einem MAX485.Wenn die Geschwidigkeit keine Rolle spielt kannst du das auch über eine Soft.Serial auf dem Arduino machen. Für den PC gibt es da auch schon günstige Lösungen USB=>RS485 oder RS232=>RS485. Mit dem 485 kannst du problemlos 500m treiben (zwischen 2 Punkten).

hey volvodani

dein Vorschlag klingt nicht übel. Wenn ich das richtig verstanden habe, verbinde ich meinen ArduinoMega mit dem SN75176 oder einem MAX485 und dann über ein sagen wir 100m Kabel gehe ich in so ein USB->RS485 Adapter in meinen Laptop.
Vom Laptop aus kann ich wie üblich über einen Seriellen Port was auf diese Leitung schicken?
Richtig so?

Gibts da vielleicht schon Beispielpatches oder ähnliches?

Merci und Gruss
t