ESP32 -> ARDUINO MEGA [ผมส่งค่า จาก mega ไปยัง esp32 ได้ครับ แต่ ไม่สามารถส่งค่า จาก esp32 มายัง mega]

ผมไปลองดูมาหลาย forum ของ arduino forum แล้วครับ
เขาบอกว่าให้ลองใช้ level shifter ระหว่าง esp32 กับ arduino mega ผมลองแล้วก็ ไม่สามารถ ส่งค่าจาก esp32 ไปยัง mega ได้เลยครับ

พอมีข้อมูลอยู่บ้างครับ แต่เป็น ESP8266 นะครับ
/Arduino mega 2560 → ESP8266
12 (RX) → D7 (GPIO 13) (TX)
13 (TX) → D6 (GPIO 12) (RX)
GND → GND
/

MEGA รับส่งข้อมูลไป ESP8266

#include <SoftwareSerial.h>
SoftwareSerial MEGA1(12, 13);  // RX, TX

void setup()  {

Serial.begin(57600);    // Serial Monitor ที่ Port ต่อกับ Computer
  MEGA1.begin(57600);     // Serial Monitor ที่ สร้างขึ้นเพื่อ ติดต่อกับ Esp8266

}


//รับข้อมูลมาจาก NODE MCU ESP 8266  ผ่าน Serial Port
void(){

  while (MEGA1.available() > 0) {
    int valFromEsp8266 = MEGA1.parseFloat();
    if (MEGA1.read() == '\n') {

      //-----------------------------------------------------------------------------------

      if (valFromEsp8266 == 110) {//on
        Btn1 = 1;
      }
      if (valFromEsp8266 == 111) {//off
        Btn1 = 0;
      }
 
  }

//ส่งข้อมูลไป ESP8266
 MEGA1.print(10); //Print buttonState to Serial Port
 MEGA1.print('\n');


}//End void loop

ESP8266 รับส่งข้อมูล ไป MEGA

#include <SoftwareSerial.h>
SoftwareSerial NodeSerial(D6, D7);

void setup() {

 Serial.begin(115200);
  NodeSerial.begin(57600);

}

void loop() {

//รับข้อมูล จาก ARDUINO MEGA
  //ทำการอ่านค่าจาก ARDUINO MEGA เข้ามาผ่านทาง port serial

while (NodeSerial.available() > 0) {

int ValFromMega = NodeSerial.parseFloat();
    //--------------------------------------------------
    if (NodeSerial.read() == '\n') {

      //Serial.println(ValFromMega);
      //------------------------------------------------
      //ถ้ารับค่า 11 เข้ามา จะให้ทำอะไร
      if (ValFromMega == 10) {  //ส่ง ON  มา
        Device_1_On();

      }

      //ถ้ารับค่า 10 เข้ามา  จะให้ทำอะไร
      if (ValFromMega == 11) {
        Device_1_Off();
      }
      //------------------------------------------------


}//end while


//ส่ง ไปสั่งให้ MEGA ทำงาน
  //------PB 1 -----------------//


  if (Device_1sent == 11 ) {//on

    NodeSerial.print(110);
    NodeSerial.print('\n');
  }
  if (Device_1sent == 10 ) {//off

    NodeSerial.print(111);
    NodeSerial.print('\n');
  }




}//end void loop


ใช่ครับ กับตัว ESP8266 ไม่มีปัญหาเลยครับ แต่ กับ บอร์ด mcu ที่ ไฟเลี้ยง เป็น 3.3v จะมีปัญหาครับ
ผมทดลองกับ ตัว RTL-8720DN และ ARDUINO MEGA 2560 ปัญหาเหมือนกันเลยครับ MEGA ส่งไปได้
แต่ RTL ส่งไปยัง MEGA ไม่ได้ครับ