modbus rtu maestro-max485 funciona en simulación pero no en fisico

Hola que tal colegas tengo dudas y quisiera que me ayuden, estoy tratando con el protocolo modbus rtu con rs485 con la librería modbusmaster que lo instale del mismo id de arduino.
Quiero leer los registros 0x0002 y 0x0003 del esclavo y el código que les muestro me funciona en simulacion “proteus y modsim32” pero a la hora de implementarlo en físico con un arduino uno, modsim32 y el conversor TTL-RS485 no me funciona, puse un led dentro del condicional para saber si estoy recibiendo los datos correcto y no se enciende osea no esta entrando al condicional.
alguien sabra algo de que este haciendo mal, porque me sorprende que en simulación funcione y a la hora de implementarlo no funciona, no se si sera por el hardware arduino o Talvez hay un truco.
Gracias.

#include <ModbusMaster.h>               //Library for using ModbusMaster

#define MAX485_DE 7
#define MAX485_RE_NEG 6
#define LED 8
ModbusMaster node;                    //object node for class ModbusMaster

void preTransmission(){  //Function for setting stste of Pins DE & RE of RS-485
delay(10);
digitalWrite(MAX485_RE_NEG, 1);             
digitalWrite(MAX485_DE, 1);
}

void postTransmission(){
delay(10);
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
}

void setup() {

pinMode(MAX485_RE_NEG, OUTPUT);
pinMode(MAX485_DE, OUTPUT);
pinMode(LED , OUTPUT);
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);

Serial.begin(19200);              

node.begin(1, Serial);            //Slave ID as 1
node.preTransmission(preTransmission);  //Callback for configuring RS485 Transreceiver correctly
node.postTransmission(postTransmission);

}

void loop() {

uint8_t result;

result = node.readHoldingRegisters(0x0002, 2);
 
if (result == node.ku8MBSuccess){
uint16_t data1,data2;
digitalWrite(LED , HIGH);
data1 = node.getResponseBuffer(0x00);
data2 = node.getResponseBuffer(0x01);

Serial.print("[0002]:  ");
Serial.println(data1);
Serial.print("[0003]:  ");
Serial.println(data2);


 }

}
[code]
#include <ModbusMaster.h>               //Library for using ModbusMaster

//#define MAX485_DE      3
//#define MAX485_RE_NEG  2
#define MAX485_DE 7
#define MAX485_RE_NEG 6
ModbusMaster node;                    //object node for class ModbusMaster

void preTransmission(){  //Function for setting stste of Pins DE & RE of RS-485
delay(10);
digitalWrite(MAX485_RE_NEG, 1);             
digitalWrite(MAX485_DE, 1);
}

void postTransmission(){
delay(10);
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
}

void setup() {

pinMode(MAX485_RE_NEG, OUTPUT);
pinMode(MAX485_DE, OUTPUT);
pinMode(8, OUTPUT);
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);

Serial.begin(19200);              //Baud Rate as 115200

node.begin(1, Serial);            //Slave ID as 1
node.preTransmission(preTransmission);         //Callback for configuring RS-485 Transreceiver correctly
node.postTransmission(postTransmission);

}

void loop() {

uint8_t result;

int value = analogRead(A0);
result = node.readHoldingRegisters(0x0002, 2);
 
if (result == node.ku8MBSuccess){
uint16_t data1,data2;
digitalWrite(8, HIGH);
data1 = node.getResponseBuffer(0x00);
data2 = node.getResponseBuffer(0x01);
//result = node.readHoldingRegisters(0x40001, 1);
//result = node.readWriteMultipleRegisters(0x40001, 1);
//result = node.readInputRegisters(0x31000, 1);

Serial.print("value: ");
Serial.println(value);
Serial.print("[0002]:  ");
Serial.println(data1);
Serial.print("[0003]:  ");
Serial.println(data2);
//delay(30);
//node.clearResponseBuffer();



//}
 }
//delay(1000);
}
[code]

could you tell me the wire connections what should it be ?

La conexión es la siguiente
ARDUINO - MAX485
TX -> DI
RX -> RO
pin 7 -> DE
pin 6 -> RE

pin 8 ->LED