Arduino Mega Tx Rx auf digtiale Pins ändern

Hallo Alle Miteinander,
Ich arbeite gerade an einem Projekt, bei dem ich Daten von einem Esp an den Arduino Mega über Tx Rx schicken muss. Ich habe aber an meinem Arduino Mega ein Display angeschlossen, welches diese Daten dann ausgeben soll. Das Problem hierbei ist, dass das Display die beiden Tx Rx schon besetzt und ich meinen Esp nirgends anschließen kann außer an digitalen Pins. Ich habe schon versucht mit der Software Serial Bibliothek über die Pins 41 und 39 auf den Seriellen Monitor zuzugreifen, aber leider funktioniert das bei mir nicht. Kann mir hier jemand helfen?
'''''''
#include <SoftwareSerial.h>

SoftwareSerial mySerial(41, 39); // RX (pin 41), TX (pin 39)

void setup() {
Serial.begin(9600); // Standard-Serielle Schnittstelle für die Überwachung
mySerial.begin(9600); // SoftwareSerial initialisieren
}

void loop() {
// Daten von ESP8266 an Arduino senden
if (mySerial.available()) {
char data = mySerial.read();
Serial.print("Empfangene Daten: ");
Serial.println(data);
}

// Daten von Arduino an ESP8266 senden
if (Serial.available()) {
char data = Serial.read();
mySerial.print(data);
}
}
''''''
Das ist der Code mit dem ich gearbeitet hab

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.

mfg ein Moderator.

Hallo meschnee

Der Arduino Mega hat vier serielle Ports.

Hast du schon alle verwendet?

Mega hat ingesamt 4 Hardware Serials also weg mit Soft serial😊

Mit Mega geht nicht so einfach mit ESP sprechen er darf nur 3.3 V auf den Pins haben, Mega sendet mit 5 V.
Auf der Seite vom ESP muss ein Spannungsteiler dran.

1 Like

Nein,
Ich wusste auch, dass er mehr hat, aber auf diesen funktioniert es leider auch nicht. Müsste da auch im Prgrammtext was ändern, soweit ich weiß.

Hab mit dem Esp schon Daten zum Arduino geschickt, per Tx rx halt und da hat es problemlos funktioniert, nur jetzt geht es halt nichtmehr weil die Pins belegt sind oder war das darauf bezogen, dass man bei den digitalen Pins einen Spannungsteiler braucht

Ist nicht mein ESP, lange wird er nicht Leben, meine die RX Pins, die werden dir sterben nach der Reiche

Habe einen Node Mcu, muss ich da wirklich einbauen, weil bisher gab es halt noch garkeine Probleme und ich nutzen den schon ein halbes Jahr

Jede serielle Schnittstelle hat einen eigenen Namen, über den die Schnittstelle angesprochen werden kann.

Zusammen mit Mega? Dan hast verdammt viel Glück :wink:

Wie mache ich das dann mit den zweiten Tx rx pins, wie kann ich dem arduino sagen, dass er die Daten von diesen abrufen soll

Du bist verwirrt, wie mir scheint!
Was gefällt dir an der Arduino Serial Doku nicht?

Dann hast du tiefersitzende Probleme, als du ahnst.


Mein Rat:
Doku lesen!

Es ist hilfreich, dafür ein Tutorial zu studieren.

Es ist eigentlich ganz einfach, eigentlich.

die Anlaufsstelle für gegenseitige Serial Kommunikation ist das

Serial Input Basic Tutorial:
Serial Input Basics - updated - Using Arduino / Introductory Tutorials - Arduino Forum

das soll eigentlich das grundsätzliche gut erklären.

Grundsätzlich solltest dir aber überlegen, ob du wirklich zwei Microcontroller benötigst.
Evtl. wäre ein ESP32 der den ganzen Code verarbeitet EINFACHER zu handhaben als zwei Microcontroller + eine Kommunikation dazwischen.

Ich hab ja auch nur den Esp8266 , aber auf den kann ich halt nicht das Display direkt aufstecken

Dann zeige dein Display Link reicht.

Sieht das bei Dir in etwa so aus?
image

Dann hättest Du ohne Probleme Zugriff auf serielle Schnittstellen (Pins 14 ... 19):

image

Beispiel für die Nutzung der weiteren seriellen Ports beim Mega siehe https://www.arduino.cc/reference/de/language/functions/communication/serial/begin/

Und hier noch eine Quelle zum Thema Logiklevel
https://www.heise.de/blog/Arduino-goes-ESP8266-3240085.html

die freundlicherweise Deine gesamte Aufgabe gut abdecken sollte ... :wink:

Viel Erfolg!

du kannst ja auch ganz kurze Dupont Kabel verwenden.
Imho ist das wesentlich einfacher als eine Kommunikation zwischen 2 Microcontroller aufzubauen.

Dann solltest du uns eine kurze Beschreibung liefern, was dein Projekt machen soll.
Evtl. findet sich da noch eine bessere Lösung, um mit nur einem Controller auszukommen. Z.B. ein reines SPI-Display, das kommt mit weniger, ca. 4 - 5 Verbindungen zwischen Display und Controller.