การใช้ IOXESP32 4-20mA Receiver shield อ่านค่าสัญญาณ 4-20mA

ใช้โมดูล IOXESP32 4-20mA Receiver shield อ่านค่าสัญญาณ 4-20mA

การเขียนโปรแกรมอ่านค่าจาก IOXESP32 4-20mA Receiver shield ทางผู้พัฒนาได้จัดเตรียมไลบรารี่ของ Arduino IDE ไว้ให้แล้ว เพียงติดตั้งไลบรารี่ แล้วใช้โค้ดตัวอย่างที่มีในไลบรารี่ทดสอบได้เลย

ติดตั้งไลบรารี่ IOXESP32_4-20mA_Receiver

ที่โปรแกรม Arduino IDE ให้เปิดเมนูัดการไลบรารี่ (1) พิมพ์ IOXESP32_4-20mA_Receiver ลงในช่องค้นหา (2) จากนั้นกดปุ่ม Install (3)

เมื่อติดตั้งเสร็จ จะมีข้อความ Installed ขึ้นดังรูป

ทดสอบอ่านค่า 4-20mA ด้วยโค้ดตัวอย่าง

เปิดโปรแกรมตัวอย่างขึ้นมา โดยกดที่ File > Examples > IOXESP32_4-20mA_Receiver > IOXESP32_4-20mA_Read

ได้โค้ดโปรแกรมตัวอย่าง (ดังรูป)

เลือกบอร์ด เลือกพอร์ต แล้วอัพโหลดโค้ดโปรแกรมตัวอย่างลงบอร์ด

จากนั้นเปิด Serial Monitor ขึ้นมา ปรับ 115200 สังเกตว่าค่าที่อ่านได้จะแสดงขึ้นมาแล้ว

การสอบเทียบค่า (Calibration)

กรณีค่ากระแสไฟฟ้าที่แสดงใน Serial Monitor ไม่ตรงกับค่าจริง สามารถสอบเทียบค่าใหม่ได้ ดังนี้

  1. ปรับกระแสไปที่ 4mA แล้วบันทึกค่า Raw ที่แสดงใน Serial Monitor ไว้

  2. ปรับกระแสไปที่ 20mA แล้วบันทึกค่า Raw ที่แสดงใน Serial Monitor ไว้

  3. นำค่า Raw ของ 4mA และ 20mA มาใส่ในคำสั่ง sensor.begin()

ตัวอย่างผู้เขียนอ่านค่า Raw ของ 4mA ได้ 6410 และอ่านค่า Raw ของ 20mA ได้ 31952 จึงนำ 2 ค่าไปใส่ในคำสั่ง sensor.begin() ตามลำดับ (ดังรูป)

อัพโหลดโปรแกรมลงบอร์ด ผลที่ได้คือกระแสไฟฟ้าที่วัดได้จะถูกต้องแล้ว

การเปลี่ยน I2C Address

โมดูล IOXESP32 4-20mA Receiver shield รองรับการต่อใช้งานพร้อมกันถึง 4 ชุด โดยกำหนด I2C Address แต่ละตัวไม่ให้ซ้ำกัน การกำหนด I2C Address ให้บัดกรีจุดจั้ม A0 และ A1 จากนั้นดูค่า I2C Address ใหม่ตามตารางในหัวข้อ การเปลี่ยน I2C Address แล้วนำหมายเลข I2C Address ใหม่มาใส่ในบรรทัด Receiver4_20 sensor();

ตัวอย่างผู้เขียนบัดกรีจุดจั้ม A0 และ A1 ได้หมายเลข I2C Address ใหม่เป็น 0x40 จึงแก้ไขเลข 0x45 เป็น 0x40 (ดังรูป)

Last updated