Skip to content

Instantly share code, notes, and snippets.

@maxpromer
Created September 5, 2025 11:29
Show Gist options
  • Select an option

  • Save maxpromer/7c7ec4d445f675f5126f21e14b36cb6c to your computer and use it in GitHub Desktop.

Select an option

Save maxpromer/7c7ec4d445f675f5126f21e14b36cb6c to your computer and use it in GitHub Desktop.
#include <TinkerC6.h>
#include <ModbusMaster.h>
ModbusMaster sensor;
void setup() {
Serial.begin(115200);
// Enable I2C Power Output (Sensor ON)
TinkerC6.Power.enable12V();
// XY-MD02 init with Modbus slave ID 1
TinkerC6.RS485.begin(9600, SERIAL_8N1);
sensor.begin(1, TinkerC6.RS485);
sensor.preTransmission(TinkerC6_RS485_preTransmission);
sensor.postTransmission(TinkerC6_RS485_postTransmission);
// Enable RS485
TinkerC6.RS485.enable();
}
void loop() {
uint8_t res = sensor.readInputRegisters(1, 2);
if (res == sensor.ku8MBSuccess) {
float t = sensor.getResponseBuffer(0) / 10.0;
float h = sensor.getResponseBuffer(1) / 10.0;
Serial.printf("Temp: %.1f *C\tHumi: %.1f %%RH\n", t, h);
} else {
Serial.printf("Error Code: %d\n", res);
}
delay(1000);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment