IOXESP32
  • รู้จักกับ IOXESP32 / IOXESP32U
  • รู้จักกับ IOXESP32PS
  • รู้จักกับ IOXESP32+
  • การใช้งาน IOXESP32 กับ ArduinoIDE
  • การใช้งาน IOXESP32 กับ MicroPython
  • การใช้งาน IOXESP32 เขียนโปรแกรมด้วยบล็อก
  • การใช้งาน IOXESP32 ร่วมกับ microBlock IDE
  • วาดวงจรบอร์ด IOXESP32 ด้วยโปรแกรม Fritzing
  • IOXESP32 Audio shield
    • รู้จักกับ IOXESP32 Audio shield
    • รู้จักกับ IOXESP32 Audio shield V2
    • การต่อ IOXESP32 Audio shield เข้ากับบอร์ด IOXESP32
    • การเตรียม IOXESP32 Audio shield ให้พร้อมเขียนโปรแกรมสั่งงาน
    • การใช้งาน IOXESP32 Audio shield กับ ArduinoIDE
    • การใช้งาน IOXESP32 Audio shield ทำลำโพงบลูทูธ
  • IOXESP32 Ethernet shield
    • รู้จักกับ IOXESP32 Ethernet shield
    • การต่อ IOXESP32 Ethernet shield เข้ากับบอร์ด IOXESP32
    • การเตรียม IOXESP32 Ethernet shield ให้พร้อมเขียนโปรแกรมสั่งงาน
    • การใช้งาน IOXESP32 Ethernet shield กับ ArduinoIDE
  • IOXESP32 Mini LCD shield
    • รู้จักกับ IOXESP32 Mini LCD shield
    • การต่อ IOXESP32 Mini LCD shield เข้ากับบอร์ด IOXESP32
    • การใช้งาน IOXESP32 Mini LCD shield กับ ArduinoIDE
  • IOXESP32 Battery shield
    • รู้จักกับ IOXESP32 Battery shield
    • การต่อ IOXESP32 Battery shield เข้ากับบอร์ด IOXESP32
    • การต่อแบตเตอรี่เข้ากับ IOXESP32 Battery shield
    • การใช้งาน IOXESP32 Battery shield กับ ArduinoIDE
  • IOXESP32 4-Digit shield
    • รู้จักกับ IOXESP32 4-Digit shield
    • การต่อ IOXESP32 4-Digit shield เข้ากับบอร์ด IOXESP32
    • การใช้งาน IOXESP32 4-Digit shield กับ ArduinoIDE
  • IOXESP32 DotMatrix shield
    • รู้จักกับ IOXESP32 DotMatrix shield
    • การต่อ IOXESP32 DotMatrix shield เข้ากับบอร์ด IOXESP32
    • การใช้งาน IOXESP32 DotMatrix shield กับ ArduinoIDE
  • IOXESP32 Power Shield
    • รู้จักกับ IOXESP32 Power shield
    • รู้จักกับ IOXESP32 Power shield V2
    • การต่อ IOXESP32 Power shield เข้ากับบอร์ด IOXESP32
    • การจ่ายไฟเข้าบอร์ด IOXESP32 ผ่าน IOXESP32 Power shield
  • IOXESP32 Modbus RTU shield / Lite
    • รู้จักกับ IOXESP32 Modbus RTU shield
    • รู้จักกับ IOXESP32 Modbus RTU shield (Lite)
    • การต่อ IOXESP32 Modbus RTU shield / Lite เข้ากับบอร์ด IOXESP32
    • การใช้งาน IOXESP32 Modbus RTU shield / Lite กับโมดูล XY-MD02 วัดอุณหภูมิและความชื้น
    • การใช้งาน IOXESP32 Modbus RTU shield / Lite กับบอร์ดรีเลย์ Modbus RTU/RS485 4 ช่อง 12V
  • IOXESP32 CAN Bus shield
    • รู้จักกับ IOXESP32 CAN Bus shield
    • การต่อ IOXESP32 CAN Bus shield เข้ากับบอร์ด IOXESP32
    • การสื่อสารระหว่าง ESP32 กับ Arduino Uno ผ่าน CAN bus เบื้องต้น
  • IOXESP32 4-20mA Receiver shield
    • รู้จักกับ IOXESP32 4-20mA Receiver shield
    • การต่อ IOXESP32 4-20mA Receiver shield เข้ากับบอร์ด IOXESP32
    • การต่อ IOXESP32 4-20mA Receiver shield เข้ากับเซ็นเซอร์ 4-20mA
    • การใช้ IOXESP32 4-20mA Receiver shield อ่านค่าสัญญาณ 4-20mA
  • IOXESP32 Motor shield
    • รู้จักกับ IOXESP32 Motor shield
    • การต่อ IOXESP32 Motor shield เข้ากับบอร์ด IOXESP32
    • การต่อวงจรมอเตอร์เข้ากับ IOXESP32 Motor shield
    • การใช้งาน IOXESP32 Motor shield กับ Arduino IDE
  • IOXESP32 Display Adapter shield
    • รู้จักกับ IOXESP32 Display Adapter shield
    • การต่อ IOXESP32 Display Adapter shield เข้ากับบอร์ด IOXESP32
    • การต่อ IOXESP32 Display Adapter shield เข้ากับจอ TFT LCD
    • การตั้งค่าไลบรารี่ TFT_eSPI
      • การใช้งานจอ LCD TFT ร่วมกับ ESP32 ด้วยไลบรารี่ TFT_eSPI
  • IOXESP32 HUB75 Matrix Panel shield
    • รู้จักกับ IOXESP32 HUB75 Matrix Panel shield
    • การต่อใช้งาน IOXESP32 HUB75 Matrix Panel shield
    • การเขียนโปรแกรมสั่งงานจอ P4/P5/P10 RGB Matrix Panel
  • IOXESP32 I/O shield
    • รู้จักกับ IOXESP32 I/O shield
    • การต่อ IOXESP32 I/O shield เข้ากับบอร์ด IOXESP32
    • การใช้งาน IOXESP32 I/O shield ต่ออุปกรณ์ภายนอก
  • IOXESP32 Base
    • รู้จักกับ IOXESP32 Dual Base
    • รู้จักกับ IOXESP32 Triple Base
    • รู้จักกับ IOXESP32 Proto Base
    • รู้จักกับ IOXESP32 Main Power Base
  • โครงงาน
    • สร้างเกมนกหลบท่อด้วยแพลตฟอร์ม IOXESP32
Powered by GitBook
On this page
  • การต่อวงจร
  • การเขียนโปรแกรม
  • การทดสอบ

Was this helpful?

  1. IOXESP32 Modbus RTU shield / Lite

การใช้งาน IOXESP32 Modbus RTU shield / Lite กับโมดูล XY-MD02 วัดอุณหภูมิและความชื้น

ตัวอย่างการใช้งาน IOXESP32 Modbus RTU shield ต่อกับโมดูล XY-MD02 เพื่ออ่านค่าอุณหภูมิและความชื้น

Previousการต่อ IOXESP32 Modbus RTU shield / Lite เข้ากับบอร์ด IOXESP32Nextการใช้งาน IOXESP32 Modbus RTU shield / Lite กับบอร์ดรีเลย์ Modbus RTU/RS485 4 ช่อง 12V

Last updated 3 years ago

Was this helpful?

XY-MD02 เป็นโมดูลวัดอุณหภูมิและความชื้นที่สื่อสารผ่าน Modbus RTU นิยมใช้ในการศึกษาการทำงานของ Modbus RTU / RS485 ในบทความนี้จะนำโมดูลดังกล่าวมาต่อเข้ากับ IOXESP32 Modbus RTU shield เพื่อทดสอบการทำงานและเรียนรู้การใช้งาน

ห้ามจ่ายไฟผ่านช่อง 7-24V พร้อมเสียบสาย USB โดยเด็ดขาด

การต่อวงจร

ให้ต่อวงจรระหว่างชุด IOXESP32 Modbus RTU shield กับ XY-MD02 ดังนี้

  • โมดูล IOXESP32 Modbus RTU shield ใช้ไฟจาก USB จึงไม่ต้องต่อไฟเลี้ยงเข้าอีก

  • XY-MD02 ใช้ไฟจากแหล่งจ่ายไฟแยก 5V ถึง 30V

  • IOXESP32 Modbus RTU shield และ XY-MD02 เชื่อมต่อผ่าน RS485 ด้วยสาย A และ B โดย A ต่อ A และ B ต่อ B

การเขียนโปรแกรม

ใช้โปรแกรม ArduinoIDE ในการพัฒนา ... อัพโหลดโค้ดโปรแกรมต่อไปนี้ลงบอร์ด IOXESP32

/* Dev by IOXhop.com */

float temp = 0, humi = 0;

void readXY_MD02() {
  uint8_t buff[] = {
    0x01, // Devices Address
    0x04, // Function code
    0x00, // Start Address HIGH
    0x01, // Start Address LOW
    0x00, // Quantity HIGH
    0x02, // Quantity LOW
    0x20, // CRC LOW
    0x0B  // CRC HIGH
  };

  Serial2.write(buff, sizeof(buff));
  Serial2.flush(); // wait MODE_SEND completed

  if (Serial2.find("\x01\x04")) {
    uint8_t n = Serial2.read();
    if (n != 4) {
      Serial.println("Error data size");
      return;
    }

    temp = ((uint16_t)(Serial2.read() << 8) | Serial2.read()) / 10.0;
    humi = ((uint16_t)(Serial2.read() << 8) | Serial2.read()) / 10.0;
  } else {
    Serial.println("ERROR Timeout");
    return;
  }
}

void setup() {
  Serial.begin(115200);

  Serial2.begin(9600, SERIAL_8N1, 27, 26); // Rx, Tx
  Serial2.setTimeout(200);
}

void loop() {
  readXY_MD02();
  Serial.print("Temperature: ");
  Serial.print(temp);
  Serial.println(" *C");
  Serial.print("Humidity: ");
  Serial.print(humi);
  Serial.println(" *C");
  delay(500);
}

การทดสอบ

เปิด Serial Monitor ขึ้นมา ตั้งค่าความเร็วเป็น 115200 baud หาก IOXESP32 Modbus RTU shield กับ XY-MD02 สามารถสื่อสารกันได้ ค่าอุณหภูมิและความชื้นที่วัดได้จะแสดงดังรูป