Modbus RTU keine Werte
Posted: 02 May 2024, 15:50
Hallo,
ich würde gerne über den Arduino Ultraschallsensoren einlesen und über den RevPi sammeln. Ich habe leider von C++ wenig Ahnung und die Modbus Verbindung ist mir auch neu.
Zu meinem Setup:
- Modbus Master RevPi Core
- Modbus Slave Arduino Mega mit HCSR04 Ultraschallsensoren (2 Stück)
Ich erhalte beim auslesen der Modbus RTU Verbindung nur 0-en (s. Fotos) Die Sensoren funktionieren, das habe ich mit einem anderen Skript und einer Verbindung über pc kontrolliert.
Skript:
#include <HCSR04.h>
UltraSonicDistanceSensor distanceSensor1(10, 9); // Initialize sensor that uses digital pins 13 and 12.
UltraSonicDistanceSensor distanceSensor2(7, 6);
// UltraSonicDistanceSensor distanceSensor3()
// UltraSonicDistanceSensor distanceSensor4()
// UltraSonicDistanceSensor distanceSensor5()
// UltraSonicDistanceSensor distanceSensor6()
void setup () {
Serial.begin(9600); // We initialize serial connection so that we could print values from sensor.
}
void loop () {
// Every 500 miliseconds, do a measurement using the sensor and print the distance in centimeters.
Serial.println("Sensor1");
Serial.println(distanceSensor1.measureDistanceCm());
delay(600);
Serial.println("Sensor2");
Serial.println(distanceSensor2.measureDistanceCm());
delay(600);
}
Skript für die Modbus Verbindung: RevPi PiCtory einstellungen:
device path: /dev/ttyACM1
baud_rate: 19200
parity: None
data_bits: 8
stop_bits: 1
ich würde gerne über den Arduino Ultraschallsensoren einlesen und über den RevPi sammeln. Ich habe leider von C++ wenig Ahnung und die Modbus Verbindung ist mir auch neu.
Zu meinem Setup:
- Modbus Master RevPi Core
- Modbus Slave Arduino Mega mit HCSR04 Ultraschallsensoren (2 Stück)
Ich erhalte beim auslesen der Modbus RTU Verbindung nur 0-en (s. Fotos) Die Sensoren funktionieren, das habe ich mit einem anderen Skript und einer Verbindung über pc kontrolliert.
Skript:
#include <HCSR04.h>
UltraSonicDistanceSensor distanceSensor1(10, 9); // Initialize sensor that uses digital pins 13 and 12.
UltraSonicDistanceSensor distanceSensor2(7, 6);
// UltraSonicDistanceSensor distanceSensor3()
// UltraSonicDistanceSensor distanceSensor4()
// UltraSonicDistanceSensor distanceSensor5()
// UltraSonicDistanceSensor distanceSensor6()
void setup () {
Serial.begin(9600); // We initialize serial connection so that we could print values from sensor.
}
void loop () {
// Every 500 miliseconds, do a measurement using the sensor and print the distance in centimeters.
Serial.println("Sensor1");
Serial.println(distanceSensor1.measureDistanceCm());
delay(600);
Serial.println("Sensor2");
Serial.println(distanceSensor2.measureDistanceCm());
delay(600);
}
Skript für die Modbus Verbindung: RevPi PiCtory einstellungen:
device path: /dev/ttyACM1
baud_rate: 19200
parity: None
data_bits: 8
stop_bits: 1