actionbrowser.com
Ein Protokoll oder Steckerbelegung wird nicht festgelegt. Dies hat natürlich den Vorteil, dass man den RS485 für seine eigenen Anwendungen komfortabel nutzen kann, das Protokoll kann "frei" gewählt werden, die Art der Teilnehmer kann stark heterogen sein, o. ä. Der RS485 Bus kann Vollduplex (zeitgleich Senden und Empfangen) oder Halbduplex (Senden und Empfangen, aber nicht zeitgleich) betrieben werden. Die gängigste Methode ist der Betrieb im Halbduplex, dazu benötigt man 2 Kabel. Für den Vollduplexbetrieb werden 4-Kabel benötigt. Mit dem Arduino den RS485 Bus nutzen | orxor. RS-485 Bus, 2 Kabel, Halbduplex Im Halbduplexbetrieb findet das Senden und Empfangen über die gleiche Leitung statt. Alle Teilnehmer können miteinander kommunizieren. Bei besonders langen Kabeln, muss am Anfang und am Ende ein Widerstand von ca. 120 Ω (R1 und R2) angebracht werden. Bei kurzen Kabellängen, kann darauf verzichtet werden. RS-485, 4 Kabel, Vollduplex Im Vollduplexbetrieb findet das Senden und Empfangen über zwei unterschiedliche Kanäle statt. Problematisch ist hier jedoch, dass Bus-Master und Bus-Slave von vornherein festgelegt sind.
digitalWrite ( 3, HIGH); break; case 'c': digitalWrite ( 4, HIGH); case 'd': digitalWrite ( 5, HIGH); case 'e': digitalWrite ( 6, HIGH); default: //wenn das Zeichen keinem der oben überprüften entspricht, passiert das Folgende: // Schalte die Spannung an allen Pins aus. for ( int thisPin = 2; thisPin < 7; thisPin ++) { digitalWrite ( thisPin, LOW);}} Übertragen von Zahlenwerten (als menschenlesbarer ASCII-Text) In vielen Fällen wollen wir nicht nur ein Kommando übertragen ("fahre geradeaus"), sondern auch dazugehörige Zahlenwerte ("wie lange? ", "wie schnell? ", "wie weit? "). Datenübertragung zwischen zwei Arduinos - Arduino Tutorial (german) [1080p] - YouTube. Das geht ganz einfach mit den beiden Befehlen rseInt() (für Ganzzahlen) oder rseFloat() (Für Kommazahlen). Beide Befehle lesen solange Daten aus der seriellen Schnittstelle, bis entweder längere Zeit nichts mehr gekommen ist ("timeout") oder das nächste Zeichen nicht mehr Teil einer Zahl sein kann (also irgendetwas ausser 0…9, '+', '-' oder '. ' ist). Achtung: Als Dezimaltrennzeichen wird (wie eigentlich immer beim Programmieren) der Punkt (anstelle des Kommas) verwendet.
Der RS485 Bus erlaubt es Daten zwischen mehreren Teilnehmern auszutauschen. Serielle Datenübertragung mit JSON. Eingesetzt wird er besonders dann, wenn die Teilnehmer mehrere hundert Meter voneinander entfernt sind und/oder eine recht hohe Datenübertragungsrate benötigt wird. Aus diesem Grund wird der RS485 Bus auch oft in der Gebäudetechnik eingesetzt. Bekannte Anwendungen wie der Profibus (von Siemens) oder die DMX Schnittstelle (Verwaltungstechnik für Lichtsteuerungsanlagen) basieren auf der Idee des RS485 Bus. Besonders geschätzt werden folgende Eigenschaften: – Länge der Kabel, bis zu 1200 m (bei 1200m eine Übertragungsrate von 100 kbit/s) – Maximale Datenübertragungsrate von 12Mb/s (wird nur bei recht kurzen Kabellängen erreicht) – Bis zu 32 Teilnehmer an einem Bus (bei besonderen Konfigurationen und Dimensionierung können auch mehr Teilnehmer verwendet werden) Wichtig zu beachten ist jedoch, dass es sich bei dem RS485 (auch EIA-485) um eine "Leitungskodierung" handelt, es werden die elektrischen Eigenschaften in der Spezifikation festgelegt.
Auffallend ist jedoch, dass Pin 2 und 3 des ICs an einen Parallelport des Microcontrollers angeschlossen sind. Dies ist notwendig, um dem Bus "Treiber" mitzuteilen, ob er von dem Bus lesen (LOW an Pin 2 und 3 des Treiber ICs) oder auf den Bus schreiben (HIGH an Pin 2 und 3 des Treiber ICs) soll. Zu beachten ist, dass Pin 2 und 3 nur auf HIGH-Pegel gesetzt werden sollte, wenn wirklich Daten gesendet werden, da sonst der Bus komplett blockiert wird. Datenaustausch zwischen zwei arduino tutorial. Um nun mit dem Arduino auf den Bus zu schreiben, werden (wie beim Benutzen der TTL-Serial-Schnittstelle) wie gewohnt die Befehle (), () oder intln() (o. ä. ) verwendet. Quellenverzeichnis: Click to access Johannes Kinzig