Go Down

Topic: Arduino Pro Mini Variablen über RS485 Bus ändern (Read 274 times) previous topic - next topic

peterrre

Guten Tag liebe Community,

in einem Projekt sollen wir mehrere Arduino Pro Mini's über einen seriellen Bus (RS485) ansteuern und je nach Information einige Variablen per Interrupt (vllt. geht es auch einfacher?? ) verändern.

Die Pro Mini's sollen auf eine eindeutige ID reagieren, wenn die ID-Information vom Bus kommt und dann darauf reagieren.
Durch einen Interrupt, oder ähnliches, sollen dann ein paar Variablen die Information vom Bus bearbeiten und die Werte anpassen.
Dies kann z.B. die Farbe von einem LED Streifen von Rot auf Blau per Businformation an ProMini mit der ID-1 sein. Ein weiteres Beispiel, wäre die Helligkeit der Streifen erhöhen.

So die Idee.

Jetzt ist die Frage: Geht das überhaupt, bzw. hat jemand damit Erfahrung oder sogar einen Link zu einem Beispiel, auch wie das Protokoll aussehen könnte?

Vielen Dank im Voraus.

LG


agmue

Ein Quell der Information: Nick Gammon RS485 communications

Besser geeignet scheint mir der CanBus zu sein, der hat Adressierung, Validierung und sowas schon "eingebaut".
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

peterrre

Besser geeignet scheint mir der CanBus zu sein, der hat Adressierung, Validierung und sowas schon "eingebaut".

Leider ist der Bus eine Vorgabe seitens des Projekts. Da können /dürfen wir keinen anderen nehmen.

Rintin

Hmm... RS485 und farbige LEDs ansteuern... vielleicht kannst du DMX512 verwenden.


agmue

Leider ist der Bus eine Vorgabe seitens des Projekts. Da können /dürfen wir keinen anderen nehmen.
Dann mußt Du die Adressierung und Validierung eben selbst erledigen, alles machbar.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

combie

Quote
hat jemand damit Erfahrung oder sogar einen Link zu einem Beispiel, auch wie das Protokoll aussehen könnte?
In solchen Fällen, meine erste Wahl: CmdMessenger
Wollen, ist wie machen.
Nur nicht so effektiv!

peterrre

Ein Quell der Information: Nick Gammon RS485 communications

Diese Library ist in C++, wir sollen aber mit C arbeiten (ja ich weiß, aber die Vorgaben sind leider soo...)

Ich hab mal recherchiert und folgendes gefunden:
https://github.com/kohyama/AVR-RS485

Hat jemand mit dieser Library schon gearbeitet?

combie

Quote
Diese Library ist in C++, wir sollen aber mit C arbeiten (ja ich weiß, aber die Vorgaben sind leider soo...)
Ihr arbeitet also NICHT mit der Arduino IDE...

Natürlich bekommst du in einem Arduino Forum nur(?) C++ antworten.
Ist ein bisschen wie in einem Obstgarten, da gibts auch eher selten  Räder und Türen.
Wollen, ist wie machen.
Nur nicht so effektiv!

peterrre

Ihr arbeitet also NICHT mit der Arduino IDE...
Zuerst war es VSCode mit PlatformIO, jedoch konnte man da nicht besonders gut debuggen. Jetzt arbeiten wir mit Atmel Studio 7. Da könnte man zwar auch cpp files einbinden und damit arbeiten, aber in diesem Projekt wird seitens der Projektleitung ein reines C Projekt empfohlen. Sorry für diese späte Information

agmue

... aber in diesem Projekt wird seitens der Projektleitung ein reines C Projekt empfohlen.
So lange die Projektleitung den Mehraufwand für "Knüppel zwischen die Beine" bezahlt, kann es Dir ja egal sein.

Arduino ist für mich nur Hobby, weshalb mir die scharfe Trennung zwischen C und C++ egal sein kann. Da muß ich notgedrungen aussteigen.

Viel Erfolg!
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Tommy56

Wenn Ihr kein C++ nutzen dürft, dann könnt Ihr doch einfach die C++ Libs in pure C-Funktionen umschreiben. Ist eine Sch... Arbeit, aber gegen genug Schmerzensgeld von der Projektleidung...
Oder Ihr kümmert Euch um eine neue Projektleidung.
Mein Favorit wäre 2.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Go Up