Hello guys, can you help me?
I try to read temperature and humidity from xymd-02 sensors using RS485. I connect them to arduino uno. I also using modbus as the protocol. This the code i use :
========================================================
#include <ModbusMaster.h>
#define MAX45_DE 3
#define MAX45_RE_NEG 2
ModbusMaster node;
void preTransmission(){
digitalWrite(MAX45_RE_NEG, 1);
digitalWrite(MAX45_DE,1);
delay(15);
}
void postTransmisson(){
digitalWrite(MAX45_RE_NEG, 0);
digitalWrite(MAX45_DE,0);
delay(15);
}
void setup() {
// put your setup code here, to run once:
pinMode(MAX45_RE_NEG, OUTPUT);
pinMode(MAX45_DE, OUTPUT);
digitalWrite(MAX45_RE_NEG, 0);
digitalWrite(MAX45_DE,0);
Serial.begin(115200);
node.begin(1,Serial);
node.preTransmission(preTransmission);
node.postTransmission(postTransmisson);
}
void loop() {
// put your main code here, to run repeatedly:
uint8_t resultMain;
resultMain = node.readInputRegisters(0x0001, 2);
Serial.print("Hasil : ");
if (resultMain == node.ku8MBSuccess) {
Serial.print("Suhu : ");
Serial.println(node.getResponseBuffer(0x0001)/100.0f);
Serial.print("Kelembapan : ");
Serial.println(node.getResponseBuffer(0x02)/100.0f);
}
delay(1000);
}
When i try to run this code, on serial monitor always display something like this:
βΈ®
and when i try to print resultMain on monitor, it always display 226.
Anyone can help to solve this problem?