Lecture d'informations avec Modbus RS485

Dans quelques semaines, je vais recevoir un capteur avec une interface modbus (RS485) pour mon travail. Malheureusement, je n'ai aucune expérience en matière de programmation modbus. J'ai essayé de me documenter et j'ai écrit ce programme. Mon arduino est utilisé comme maître et le capteur comme esclave. Je veux lire à l'adresse 0x0001 la valeur du débit d'eau. Dans la fiche technique il est dit : "Lire les registres correspondants avec le code de fonction 4 (0x04) (Read Input Registers)".
Suis-je sur la bonne voie ou y a-t-il des améliorations à apporter jusqu'à ce que je récupère le capteur ?

//#include <ArduinoRS485.h>



//#include <ArduinoModbus.h>


#include <ModbusMaster.h>

#define MAX485_DE 3   // Pin names that are connected between the MAX485 TTL to RS-485 converter module and Arduino UNO.
#define MAX485_RE_NEG 2

ModbusMaster node;                    //object node for class ModbusMaster


// preTrasnmission()  and postTrasmission() for making the Pins RE and DE of Max485 TTL to RS-485 convertor module high or low to Transmit or Receive data

void preTransmission()
{
  digitalWrite(MAX485_RE_NEG, 1);
  digitalWrite(MAX485_DE, 1);
}

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


void setup() {
  // put your setup code here, to run once:

  pinMode(MAX485_RE_NEG, OUTPUT);
  pinMode(MAX485_DE, OUTPUT);

  // intit receive mode

  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(MAX485_DE, 0);

  Serial.begin(9600);

  node.begin(1, Serial);

  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);


}

void loop() {
  // put your main code here, to run repeatedly:

  float valueSensor;
  valueSensor = node.readInputRegisters(0x0001, 1);
  delay(1000);

}