• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Kamis, Juni 19, 2025
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home ESP32

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Jimmi Sitepu by Jimmi Sitepu
Juli 7, 2022
0 0
0
sensor URM14 Arduino
0
SHARES
2.5k
VIEWS
Share on FacebookShare on Twitter

Pengenalan Sensor

Sensor URM14 RS48 adalah Sensor Jarak dengan High Frekuensi 200khz dengan cover industrial Grade IP65, Sehingga sensor ini sangat cocok di gunakan di outdoor, karena tahan debu dan air ( water proof). Sensor ini menggunakan interface RS485 dengan protokol Modbus RTU. Jadi dengan konsep ini kita bisa menggunakan banyak sensor pada satu controller. Jadi sangat cocok di gunakan di outdoor.

Sensor ini bekerja di range 100mm-1500mm dengan akurasi 1mm dan error 1%. Sensor ini juga memiliki sensor suhu di dalam nya.

READ ALSO

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Mendapatkan Waktu Akurat dengan NTP GPS

Ada pun spesifikasi lengkap dari sensor ini adalah sebagai berikut:

  1. Voltage input 7-15VDC
  2. Arus max 350mA
  3. Range Jarak 100mm – 1500mm
  4. Resolusi pengukuran 0.1mm
  5. Akurasi pengukran 1mm
  6. Resolusi Pengukuran Suhu 0.1 C
  7. Tempratur Error 1C
  8. Frekuensi Pengukuran 30khz
  9. bekerja di tempratur -20c – 80c
  10. Sensor Acoustic Frequency: 200KHz±4%
  11. Directional Angle: 12°±2°(-6dB)
  12. Protection Grade: IP65
  13. Communication interface: RS485

Tampilan Sensor

Dengan PIN out sebagai Berikut

  • Orange—–VCC
  • Black——GND
  • Blue——RS485-B
  • White—–RS485-A

Register List

Membaca Sensor URM14-RS485

Untuk membaca sensor ini kita perlu menambah library pada Arduino IDE kita, download dan tambah library di bawah ini,

Download Modbus Library Arduino

Setelah di tambah, maka Wiring seperti pada gambar di bawah ini

Obrolan di WhatsApp
Wiring URM14

Perhatikan warna kabel agak tidak salah dalam pengkabelan nya,

  1. Warna Coklat URM14 adalah 12V
  2. Warna Hitam URM adalah GND
  3. Warna Putih URM adalah RS485 + ( A )
  4. Warna Biru URM adalah RS485 – (B)

Program Baca Sensor

Default Setting parameter Sensor URM14 bisa di lihat pada table register di atas. Agar Sensor dapat dibaca dengan baik, maka default setting pada register 0x08 harus di rubah menjadi auto detection. Sehingga setiap perubahan jarak pada sensor dapat di terima oleh ESP32 nanti nya. Setting nya adalah sebagai berikut,

  uint8_t result=0;
 //result = node.writeSingleRegister(0x08, 4); //default setting 0100 -> passive detection
  result = node.writeSingleRegister(0x08, 0); // write address 0x08 with data 0000 -> autodetection 
  Serial.print("write config: ");
  Serial.println(result);

Parameter ini lah yang paling penting untuk di setting, jika ingin merubah parameter lain, seperti baudrate, maka gunakan cara yang sama.

Program keseluruhan

#define RXD1 32
#define TXD1 25
#define EN_RS485 33
#define LED 12
#include <ModbusMaster.h>
ModbusMaster node;
#define   SLAVE_ADDR                ((uint16_t)0x0C)
#define   TEMP_CPT_SEL_BIT          ((uint16_t)0x01)
#define   TEMP_CPT_ENABLE_BIT       ((uint16_t)0x01 << 1)
#define   MEASURE_MODE_BIT          ((uint16_t)0x01 << 2)
#define   MEASURE_TRIG_BIT          ((uint16_t)0x01 << 3)
uint16_t trigger  = 0;
float jarak = 0.0;
float suhu = 0.0;
void preTransmission()
{
  digitalWrite(EN_RS485, 1);
  digitalWrite(LED, 1);
}
void postTransmission()
{
  digitalWrite(EN_RS485, 0);
  digitalWrite(LED, 0);
}
void setup() {
  // put your setup code here, to run once:
  pinMode(EN_RS485, OUTPUT);
  pinMode(LED, OUTPUT);
  
  Serial.begin(115200);
  Serial1.begin(115200, SERIAL_8N1, RXD1, TXD1);
  
  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);
  node.begin(SLAVE_ADDR, Serial1);
  delay(1000);
  trigger |= MEASURE_MODE_BIT;//Set bit2 , Set to trigger mode
  trigger &= ~(uint16_t)TEMP_CPT_SEL_BIT;//Select internal temperature compensation
  trigger &= ~(uint16_t)TEMP_CPT_ENABLE_BIT;//enable temperature compensation
  delay(1000);
  conf_autoDistance();
}
void loop() {
  // put your main code here, to run repeatedly:
  baca_urm14();
  delay(2000);
}
void baca_urm14() {
  Serial.println("baca urm14");
  uint8_t result;
  uint16_t data[6];
  trigger |= MEASURE_TRIG_BIT;//Set trig bit
  result = node.writeSingleRegister(3, trigger);
  Serial.print("result_t: ");
  Serial.println(result);
  delay(300);
  result = node.readHoldingRegisters(0, 9);
  Serial.print("result_r: ");
  Serial.println(result);
  if (result == node.ku8MBSuccess)
  {
    jarak = node.getResponseBuffer(5) / 10;
    suhu = node.getResponseBuffer(6) / 10;
    Serial.print("jarak: ");
    Serial.print(jarak);
    Serial.println(" mm");
    Serial.print("suhu: ");
    Serial.print(suhu);
    Serial.println(" C");
    Serial.println("-----------------------");
  }else{
    Serial.println("modbus fail");
  }
}
void conf_autoDistance(){
  uint8_t result = node.writeSingleRegister(0x08, 0); // write address 0x08 with data 0000 / 
  Serial.print("write config: ");
  Serial.println(result);
}

Video Pengujian nya bisa dilihat pada video di bawah ini

Tertarik ingin order atau tanya-tanya modul nya? whatspp kita dengan klik tombol mudah di bawah ini

Obrolan di WhatsApp

Catatan Penting

Jika program di atas tidak bekerja dengan baik, maka coba rubah nilai baudrate secara bergantian, sampai terbaca jarak dari sensor,

  1. 2400
  2. 4800
  3. 9600
  4. 14400
  5. 19200
  6. 38400
  7. 57600
  8. 115200

Saya biasa nemu di baudrate 19200 atau 115200

Semoga bermanfaat, Thanks

ShareTweet
Previous Post

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega
Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS
ESP32

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G
IOT

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32
Arduino

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
jangka sorong arduino
Arduino

Sensor Pengukur Jarak dengan Jangka Sorong Digital Presisi 0.01mm

Februari 24, 2022
Setting Parameter Dengan ESP32 HTML Form melalui Access Point
Arduino

Setting Parameter Dengan ESP32 HTML Form melalui Access Point

Desember 10, 2020
Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.