Arduino MAX485 Library

swarkn

swarkn

Stefans Schwerpunkte liegen im Umfeld von Betriebssystemen, serverbasierten Diensten und im weitesten Sinne in allgemeiner technischer Infrastruktur. Tagsüber mit strategischen IT-Themen beschäftigt, tackert er Nachts doch mal gerne ins schwarze Loch.
swarkn

Hallo zusammen,

EDIT (05.05.2015): Projektseite mit mehr Details erstellt.

vor ein paar Tagen habe ich euch in meinem Blogpost über das „TTL to RS-485 module“ berichtet. Nun möchte ich euch gerne zeigen, wie Ihr damit über einfachste Methoden eine Kommunikation zwischen zwei Arduinos aufbauen könnt. Dazu habe ich eine „Arduino MAX485 Library“ (s. github) geschrieben, die euch dabei helfen kann.

Zu allererst stellt folgende Verdrahtung her:

Arduino MAX485 LibraryDas passt alles super auf ein Breadboard. Keine Angst wegen der fehlenden Widerstände. Auf diese Entfernung spielt das keine Rolle. Wenn ihr wie ich die großen TTL to RS-485 Module habt, kein Problem. Ich habe mir mit einem Testboard (s. Titelbild) ausgeholfen. Hier die Verdrahtung in tabellarischer Form:

Arduino LinksMAX485 Links
VIN5V
GNDGND
D8Pin2 (RE)
D9Pin3 (DE)
D10Pin1 (RO)
D11Pin4 (DI)
MAX485 LinksMAX485 Rechts
Pin8 (VCC)5V
Pin7 (B)Pin7 (B)
Pin6 (A)Pin6 (A)
Pin5 (GND)GND

Der rechte MAX485 muss natürlich analog des linken MAX485 aber mit dem rechten Arduino verbunden werden. Damit ist der Testaufbau beendet.

Verwenden der Arduino MAX485 Library

Ladet jetzt die MAX485 Bibliothek von uns aus github herunter. Diese eignet sich übrigens hervorragend, um eigene kleine anwendungsspezifische Protokolle zu schreiben. Extrahiert die ZIP-Datei in euren libraries-Ordner. Es müsste sich nun ein „MAX485-master“ Ordner darin befinden. Benennt diesen einfach in „MAX485“ um. Jetzt seid ihr startklar.

Programmiert den linken Arduino mit dem „EIA-485_Master“ Sketch. Den rechten Arduino programmiert ihr mit dem „EIA-485_Slave2USB“ Sketch.

Um die Funktion des Testaufbaus zu verfolgen, belasst den rechten Arduino via USB am PC verbunden und öffnet die serielle Konsole des USB-Ports. Die Ausgabe sollte ungefähr so aussehen:

Arduino MAX485 Library

Unter Umständen kann – wie auf dem Screenshot zu sehen – die Übertragung gerade bei den ersten Bytes nicht fehlerfrei verlaufen. Ein Grund, weswegen man sich bei eigenen Protokollentwicklungen sicher das ein oder andere zum Thema Error-Detection einfallen lassen muss.

Ich hoffe ihr findet den Artikel und meine einfache Arduino MAX485 Library irgendwie hilfreich. 🙂

Viel Spaß dabei,
Swarkn

pinterest