Hallo ich habe ein Problem,
ich habe einen Arduino Uno und einen Arduino Nano die miteinander kommunizieren sollten. Fürs erste funktioniert es super, jedoch wenn ich mein response printen will und danach das Serial.println("Get data"); aufrufen will und die Daten auslesen will funktioniert es nicht mehr.
Arduino Uno (Master) Code:
void setup() {
Serial.begin(9600);
}
void loop() {
String response = Serial.readString();
response.trim();
Serial.println(response);
if (response == "I am here") {
Serial.println("Get data"); // Senden Sie das Kommando an den Slave
}
else {
Serial.println("Are you there"); // Senden Sie das Kommando an den Slave
}
delay(1000);
}
Wenn ich beim Master Code das Serial.println(response); weglasse, dann funktioniert es im Seriellen Monitor vom Arduino Nano.
Aber ich bräuchte diese Daten auf dem Seriellen Monitor vom Master (Arduino Uno).
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Atmega328p hat nur ein UART und du benutzest die für miteinander kommunizieren. Für Nachrichten an dich brauchst du ein anderes(zusatzliches) Interface aufbringen.
Ich wurde ein Arduino Mega, ESP32 oder was anderes nehmen was hat mehrere Serials, oder Software Serial ginge auch, man braucht dafür aber zwei freie Pins.
Bei Software Serial nur max 9600Baud nutzen.
ja klar, aber ich will nur dass die Daten vom Nano auf den Uno gehen. Dass die Daten die vom Seriellen Monitor vom Slave beim Seriellen Monitor vom Master zu sehen sind.
Es funktioniert auch nicht. Außerdem darf ich nur die RX und TX Pins anschließen. Das Problem ist dass die Abfrage (response =="Get Data") im Slave nicht funktioniert. Aber wenn ich das Serial.println("I am here") weglasse, dann
funktioniert es.
Du musst dein Sketch anpassen Hardware Serial zu senden und empfangen, Soft zu Ausgabe danach sollte funktionieren. Mit einem Serial sehe das Schwarz.
Mag sein das ich mich irre.
Schau dir doch die Beispiele an
"seriellen Monitor" gibt es nur am Rechner. verbinde beide Platinen über SoftwareSerial, dann hast du seriellen Port der am USB hängt frei um dir Debugging Nachrichten am Rechner in ArduinoIDE SerialMonitor oder SerialPlotter an zu zeigen, oder andere Terminal Programm deiner Wahl.
Wie sollen wir dir helfen, wenn du uns nicht das zeigst, was nicht funktioniert.
Merke: Wir können nicht auf deinen Arbeitsplatz und auf deinen PC sehen.
Was genau heißt das ?
Du darfst keine anderen Pins verwenden ?
Wer sagt das ?
Bei diesen Pins ist das Problem, die werden auch vom USB-Serialwandler benutzt.
Damit geht die Ausgabe auf den seriellen Monitor schief. Die verwendete UART ist kein Bus, sonder eine Punkt zu Punkt Schnittstelle.
Anscheinend bist du nicht mal mit Basics vertraut, denn man liest aus dem Port nicht einfach so, man muss sicher sein dass da etwas zu lesen ist, sonst response wird = -1.