Arduino hx711 e RS485/ModBus

Buonasera, vorrei provare ad usare un arduino per leggere i dati di una cella di carico e inviarli sull rs485, non avendo mai utilizzato rs485 ho guardato qualche video online ma mi è poco chiaro il tutto… Ho praticamente fatto un copia e incolla e ho integrato l’hx711, siccome non ho ancora il dispositivo rs485 da integrare su arduino non posso provarla, ma mi piacerebbe capire in anticipo nell’attesa che mi arrivi se sono completamente fuoristrada oppure no. ecco il codice qui sotto: (grazie mille in anticipo!)

#include "HX711.h"
#include <Wire.h>
#include <ModbusSlave.h>
#include <SoftwareSerial.h>

SoftwareSerial RS485Serial(10, 11); // RX, TX

Modbus slave(RS485Serial, 1, 2);


HX711 scale(3, 4);

float calibration_factor = -1020; //valore che differisce per ogni tipo di cella di carico
float units;//misurazione peso



void setup() {
  Serial.begin(9600);
  scale.set_scale();//inizializzazione
  scale.tare(); //tara
  scale.set_scale(calibration_factor); //calibrazione in base al valore sopra definito
  {

    pinMode(2, OUTPUT);



    slave.cbVector[CB_READ_COILS] = readDigital;
    slave.cbVector[CB_READ_DISCRETE_INPUTS] = readDigital;

    RS485Serial.begin(9600);
    slave.begin( 9600 );
  }

}

void loop() {
  units = scale.get_units(); //esegue una singola lettura e la salva dentro units


  Serial.println(units);
  delay(50);//verificare con display se può essere rimosso o ridotto

  slave.poll();
}


uint8_t readDigital(uint8_t fc, uint16_t address, uint16_t length) {
  Serial.print("FC=01/02: ");
  Serial.println(fc);
  Serial.println(address);
  Serial.println(length);


  for (int i = 0; i < length; i++) {
    int bt = 0;
    if (i == 0) bt = units;
    slave.writeCoilToBuffer(i, bt);
  }

  return STATUS_OK;
}