Das Analog In macht genau das, was es sagt - es liest nur analoge Spannungspegel (tastet sie ab).
Bei Verwendung von AnalogWrite (0,2) wird Pin A0 in Analog In nicht zur Ausgabe der Spannung von 2 * AVCC / 1024 verwendet, sondern der Pin D0 wird dazu verwendet. (Den meisten D0-Pins auf Arduino-Karten ist kein PWM-Ausgang zugeordnet, daher ist das Verhalten undefiniert.) In der Zwischenzeit unternimmt Ihr A0 nichts. (Ich vermute, es ist schwebend / nicht verbunden, daher der 3xx-Wert. Könnte das Datenblatt überprüfen, um sicherzugehen.)
Was sollen wir stattdessen tun? Verbinden Sie zunächst den A0 von Arduino B mit dem PWM-Pin von Arduino A. Wenn Sie Uno verwenden, können Sie eine Verbindung zu einem der Pins 11,10,9,6,5,3 herstellen. Dann können Sie den Code verwenden:
int PWMPin = 11; int SignalLvl = 2; analogWrite (PWMPin, SignalLvl);
Probieren Sie es aus. Und du wirst sehen, dass es funktioniert ... irgendwie.
Aber dann gibt es ein Problem. Ihre Messwerte werden nah an dem sein, was Sie wollen, aber ziemlich unberechenbar. Der Grund ist teilweise, dass analoge Signale sehr unzuverlässig sind und mit Rauschen gefüllt sind. Der Hauptgrund ist jedoch, dass Arduinos analogWrite eigentlich NICHT als analoger Signalausgang ausgelegt ist. Es handelt sich um eine PWM, die GND- und AVcc-Pegel in variablen Zeiträumen mit hoher Geschwindigkeit ausgibt, sodass sie sich dem gewünschten Spannungspegel annähert, wenn sie gemittelt wird.
Wenn Sie damit experimentieren möchten, können Sie einen Widerstand und einen Kondensator an den Ausgang anschließen und so ein Tiefpassfilter erstellen. (Hier sind weitere Informationen: http://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/ )
Nach alledem denke ich, dass die meisten von uns die Frage stellen möchten: Gibt es einen Grund, warum Sie Daten analog senden möchten? Analoge Signale sind anfällig für Rauschen. Wenn die Datentreue von entscheidender Bedeutung ist, verwenden Sie am besten die serielle Kommunikation, wie in den meisten Antworten hier hervorgehoben.
Der Einfachheit halber schlage ich I2c vor, das nur 2 Drähte für die Kommunikation verwendet. Wenn Geschwindigkeit von entscheidender Bedeutung ist (z. B. das Schreiben auf 10.000 Datenbytes pro Sekunde), können Sie SPI oder sogar parallele Kommunikation ausprobieren.
Hoffe das hilft und viel Glück!