09-10-2021, 21:20
Witam,
męczę temat wysyłania danych po modbus z czujnika odległości VL53L1X.
Założenie jest takie że arduino pracuje jako slave a master co jakiś czas odpytuje po modbusie i otrzymuje odpowiedź z odległością zmierzoną przez czujnik.
Komunikacja po RS485 uruchomiona i działa, arduino wysyła dane ale jak dopisać do tego sketcha obsługę modbus żeby odpytując 40001 otrzymać zmienną z pomiaru odległości?
męczę temat wysyłania danych po modbus z czujnika odległości VL53L1X.
Założenie jest takie że arduino pracuje jako slave a master co jakiś czas odpytuje po modbusie i otrzymuje odpowiedź z odległością zmierzoną przez czujnik.
Komunikacja po RS485 uruchomiona i działa, arduino wysyła dane ale jak dopisać do tego sketcha obsługę modbus żeby odpytując 40001 otrzymać zmienną z pomiaru odległości?
Kod:
#include <Wire.h>
#include <VL53L1X.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10); // RX, TX port dla rs485
VL53L1X sensor;
void setup()
{
Serial.begin(115200); //baudrate serial po USB
mySerial.begin(9600); //baudrate dla rs485
Wire.begin();
Wire.setClock(400000); // 400 kHz I2C
sensor.setTimeout(500);
if (!sensor.init())
{
Serial.println("Brak czujnika!");
while (1);
}
sensor.setDistanceMode(VL53L1X::Long);
sensor.setMeasurementTimingBudget(15000);
sensor.startContinuous(150);
Serial.println("nowy odczyt");
}
void loop()
{
Serial.println(String(sensor.read()));
mySerial.println(String(sensor.read()));
}