Arduino Variablen wert ausgeben und an anderem arduino abfragen ?

Hallo,

Ich will einen Variablenwert aus einem Arduino Nano, der als Zähler dient an einen Arduino Uno weiter schicken und ihn mit analogRead abfragen wie kann man das realisieren ?

Z.B. per Satellitentelefon?

An welcher Entfernungen denkst du denn so...

Keine Funkstrecke eine verkabelte Verbindung

Du willst einen numerischen Wert übertragen (über welchen Wertebereich sprechen wir) und den per analogRead abfragen???

Das musst Du echt mal erklären bitte.

Ich könnte glauben, RainbowSchnitzel möchte die 4-20mA Schnittstelle verwenden, aber weiß es noch gar nicht.

Was soll der Teil mit analogRead()? Für kurze Entfernungen kann man bei sowas I2C nehmen. Für längere entfernen die serielle Schnittelle (mit mehreren Option wie TTL, RS-232 oder RS-485)

Wertebereich ca 1 bis 15

Entfernung?

Die Verbindung soll keine Funkverbindung sein . Der Wert soll von einem arduino nano über ein Jumper Kabel in einem analogen Eingang in einen Arduino Uno übertragen werden. Der Wert ist eine Variable mit einem bestimmten wert.

RainbowSchnitzel:
in einem analogen Eingang in einen Arduino Uno übertragen werden.

Woher kommt diese Vorgabe? Eine gute Idee ist das nämlich nicht. Und auch unnötig aufwendig, da die AVRs keine DAC-Ausgänge haben

von einem arduino nano ... in einem analogen Eingang in einen Arduino Uno übertragen werden

Das ist aus mehreren Gründen eine der schlechtestmöglichen Ideen für einen Datenaustausch.

  1. Ein Arduino Nano hat gar keinen Analogen Ausgang
  2. Arduinos arbeiten generell digital
  3. AnalogSignale sind störanfällig
  4. ... ach egal ...

Arduino Variablen wert ausgeben und an anderem arduino abfragen ?

Da gibt es mehrere Möglichkeiten, keine davon benutzt ein Analog-Signal. Welche am sinnvollsten ist, hängt davon ab, wie schnell und wie weit wie viele Werte übertragen werden sollen und evtl. was du an Zusatz-Hardware investieren willst. Und ob du die Serial-Schnittstelle unabhängig davon freihalten möchtest.

Deine Hinweise ("Jumper-Kabel", "Wertebereich ca. 1 bis 15") deuten an, dass deine Anforderungen recht unkritisch sind.

I2C

Achtung Anfänger hier!
Berichtigt mich wenn ich falsch liege.

Aber wäre es nicht möglich mit 4 Kabeln Zahlenwerte von 1 bis 15 zu übertragen?
Der erste Arduino wandelt die zu übertragende Zahl in eine Binärzahl um, und jedes Kabel bekommt eine Binärstelle.
Der Arduino Uno überprüft dann ob an einem der Kabel ein HIGH anliegt, und checkt dann an welchen genau ein High anligt. Dann muss er nur noch die ankommende Binärzahl in eine Dezimalzahl zurückwandeln.
Für z.B

Kabel 1 = 1 bzw HIGH
Kabel 2 = 1 bzw HIGH
Kabel 3 = 0 bzw LOW
Kabel 4 = 0 bzw LOW

würde sich dann ein Dezimalwert von 3 ergeben.
Der Haken dabei ist, dass der Arduino Uno in meinem Beispiel erst überprüft wenn überhaupt ein Signal da ist. Eine Dezimale 0 kann also nicht vorkommen.
Kann der Uno denn genug Strom ziehen, um den andern zu schrotten? d.h kann er die 40mA überschreiten?

Aber wäre es nicht möglich mit 4 Kabeln Zahlenwerte von 1 bis 15 zu übertragen?

Natürlich.
Ist für die Praxis aber ein recht sinnfreies Vorhaben.

Kann der Uno denn genug Strom ziehen, um den andern zu schrotten? d.h kann er die 40mA überschreiten?

Dazu kann ich nichts sagen!

  1. ich verstehe die Frage nicht.
  2. natürlich kann man Arduinos schrotten, wenn man Mist baut

Ich weiß ja nicht was er damit genau erreichen will,

RainbowSchnitzel:
Hallo,
Ich will einen Variablenwert aus einem Arduino Nano, der als Zähler dient an einen Arduino Uno weiter schicken und ihn mit analogRead abfragen wie kann man das realisieren ?

aber mit Analogread wirds doof, da der Arduino kein Analoges Signal ausgeben kann. Die 4 Klabel waren nur als Alternativer Lösungsweg gedacht.

Das mit dem schrotten war so gemeint: Man darf die Pins eines Arduinos (Uno, obs bei den andren auch so ist weiß ich nicht) nicht mit mehr als 40mA belasten. Von kleinen Elektromotoren die mehr Strom ziehen, wird deswegen auch immer abgeraten die direkt anzuschließen. Daher die Frage, ob der Uno, ebenfalls einen so geringen Widerstand hat, dass die Pins des Nanos mit mehr als 40mA strapaziert werden. Ich weiß es nämlich nicht, wüsste es aber gern =P

Er könnte (so glaube ich) bei dem Nano natürlich auch einen Digital-Analog Umsetzer verwenden und den Uno dann das Analoge Signal lesen lassen.

Er kann sich auch eine U-Scheibe ans Knie nageln, wenn ihm danach ist.

Es gibt aber vorhandene und sinnvollere Übertragungswege, als analoge Signale. I2C wurde schon genannt, es gibt weitere. Da der TO aber keine weiteren Informationen gibt, ist alles andere nur sinnloses Spekulieren.

Mal sehen, ob sich der TO nochmal meldet oder schon das Interesse verloren hat.

Gruß Tommy

dass die Pins des Nanos mit mehr als 40mA strapaziert werden.

Warum möchtest du die Ausgänge von 2 Arduinos gegeneinander arbeiten lassen....
Wäre es nicht klüger die Pins, wenigstes einer der Beiden, auf INPUT zu setzen?

Wie gesagt, Newbie.
Aber jetzt wo dus sagst klingts sinnvoll.
Aber selbst wenn man die Pins von einem Arduino auf INPUT stellt, 'verbrauchen' diese doch Strom, oder nicht?

Ja Eingänge nehmen Strom auf, oder geben Strom ab.
Je nach Witterung.

Aber keine mA.
Eher µA
Das Datenblatt gibt gerne Auskunft.

Allerdings gibt es noch eine Sache auf die man achten sollte!

Wenn vom 1. Arduino Ausgänge ohne Widerstände auf den 2. Arduino geführt werden und der ohne
Versorgungsspannung ist, wird der 2. über den Eingang vom 1. Arduino versorgt. Das könnte wird für
den 1. vermutlich tödlich enden!

Wenn nicht sichergestellt werden kann das immer beide gleichzeitig eine Versorgungsspannung erhalten,
einfach Schutzwiderstände in die Verbindungen einbauen. 1kOhm sollte genügen. Damit wird der Strom
am Ausgang auf maximal 5mA begrenzt.

Gruß, Jürgen