Home » , , , » Deteksi Jarak menggunakan Sensor Ultrasonic  L041MTW

Deteksi Jarak menggunakan Sensor Ultrasonic  L041MTW

Written By SBlog on Friday, May 22, 2026 | May 22, 2026

Tidak semua sensor ultrasonic dapat bekerja saat berada di bawah air. Sebagian besar sensor ultrasonic (JSN-SRT04T, HC-SR04, atau A02YYUW) dirancang untuk pendeteksian jarak di medium udara. Sensor L04xMTW adalah sensor sonar ultrasonik bawah air (underwater echosounder) yang menggunakan komunikasi UART/serial. Sensor ini umum dipakai untuk:

  • ROV
  • robot bawah air
  • depth measurement
  • water level
  • obstacle avoidance underwater

Berikut spesifikasi sensor ultrasonic bawah air L04xMTW. 


Pada projek ini sesnor akan digunakan seperti sonar dalam pendeteksian kedalaman air. Untuk membaca data dari sensor, digunakan ESP8266 dengan rangkaian berikut.


Skematik diagram ESP8266 dengan Ultrasonic L041MTW


Berikut program deteksi jarak sensor:

#include <SoftwareSerial.h>

// RX, TX

SoftwareSerial sonar(13, 12);


unsigned char data[4];

void setup()

{

  Serial.begin(115200);


  // baud sensor

  sonar.begin(115200);

  Serial.println("Start");

}


void loop()

{

  // trigger sonar

  sonar.write(0x55);

  delay(200);

  if(sonar.available() >= 4)

  {

    for(int i=0; i<4; i++)

    {

      data[i] = sonar.read();

    }


    Serial.print("HEX : ");

    for(int i=0; i<4; i++)

    {

      Serial.print("0x");

      if(data[i] < 16)

        Serial.print("0");


      Serial.print(data[i], HEX);

      Serial.print(" ");

    }

    Serial.println();


    // cek frame

    if(data[0] == 0xFF)

    {

      int checksum =

      (data[0] +

       data[1] +

       data[2]) & 0xFF;


      if(checksum == data[3])

      {

        int distance =

        (data[1] << 8) +

         data[2];


        Serial.print("Distance : ");

        Serial.print(distance);

        Serial.println(" mm");

      }

    }

  }

  else

  {

    Serial.println("No Data");

  }

  delay(1000);

}


Pada program tersebut sensor diperintahkan untuk transmit dengan mentrigger sensor   sonar.write(0x55);

perhitungan jarak dilakukan dengan rumus :

jarak = kecepatan suara × waktu / 2

diperoleh data dalam HEX  : 0xFF 0x00 0x88 0x87 

struktur data : FF DATA_H DATA_L CHECKSUM

ByteNilaiFungsi
0FFHeader
100High byte
288Low byte
387Checksum


Hasil pendeteksian kedalam air terbaca 136 mm (13.6 cm). Berikut tampilah serial data dari sensor.


Sensor ini dirancang untuk pendeteksian pada medium air, jika digunakan pada medium udara maka data yang terbaca 0 mm. Artinya sensor gagal mendeteksi jarak dan dianggap 0 dikarenakan beda cepat rambat antara medium air dan udara. 

  • Kecepatan suara di air ≈ 1480 m/s
  • Kecepatan suara di udara ≈ 343 m/s


  • 0 comments:

    Post a Comment

    (^_^) [o_o] (^.^) (".") ($.$)