Ultrasonic Range Sensor HC-SR04 dengan Library NewPing

Wow, posting terakhir yang saya buat sudah hampir setahun yang lalu. Mohon maaf, karena kesibukan mengurus Toko Online Famosa Studio, saya tidak sempat membuat posting yang baru. Tapi mulai sekarang akan diusahakan untuk terus menambah posting di Blog ini lebih sering lagi.

Ok, kali ini kita akan menjelaskan tentang Library Arduino yang baru untuk Sensor Jarak Ultrasonic HC-SR04, yaitu library NewPing.

NewPing

Library NewPing ini dibuat Tim Eckel dan dapat di-download di sini: NewPing. Tim merasa tidak puas dengan performa sensor ultrasonic yang dipakainya dan setelah dipelajari ternyata itu disebabkan karena library yang digunakan dan bukan karena sensornya. Jadilah Tim membuat library ini. Sampai saat ini library NewPing sudah sampai pada versi 1.5. Selain untuk HC-SR04, library ini dapat juga digunakan untuk sensor ultrasonic SRF05, SRF06, DYP-ME007 & Parallax PING)))™.

HC-SR04

Menggunakan library NewPing ini dengan sensor HC-SR04 sangat mudah sekali. Pertama, download library-nya dari link di atas. Copy folder yang ada di dalam file zip ke dalam folder libraries yang ada di dalam folder aplikasi IDE Arduino anda. Kemudian hubungkan sensor ultrasonic HC-SR04 dengan Arduino. Cara koneksi antara Arduino dengan HC-SRo4 dapat juga dilihat pada link NewPing diatas, atau dapat dilihat di posting yang ini: Menggunakan Ultrasonic Range Sensor HC-SR04 dan SDM-IO.

HC-SR04 dan Arduino Uno R3

 

Buka aplikasi IDE Arduino anda, kemudian buka contoh kode program NewPing dari menu: File>Examples>NewPing>NewPingExamples. Nanti akan ada 2 tab NewPingExample yang muncul pada aplikasi IDE Arduino anda. Pilih salah satu tab, saya pilih tab yang kedua, lalu copy kode program ke dalam Sketch kosong. Contoh kode program pada tab kedua tersebut dapat dilihat di bawah ini.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------

#include <NewPing.h>

#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}

void loop() {
  delay(50); // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  int cm = sonar.ping_cm(); // Send out the ping, get the results in centimeters.
  Serial.print("Ping: ");
  Serial.print(cm); // Print the result (0 = outside the set distance range, no ping echo)
  Serial.println("cm");
}

Sesuaikan pin TRIGGER dan ECHO yang digunakan. Contoh kode program di atas menggunakan pin 12 untuk TRIGGER dan pin 11 untuk ECHO. Pada kode program di atas ada parameter MAX_DISTANCE, yaitu jarak terjauh (dalam cm) yang dapat diukur oleh sensor ultrasonic yang digunakan tersebut. Contoh di atas memakai nilai 200 (200 cm atau 2 meter) untuk jarak terjauhnya. Sesuaikan parameter ini dengan jarak terjauh yang dapat diukur oleh sensor ultrasonic anda. Lalu lakukan verfikasi jika perlu (menu Sketch>Verify/Compile atau tombol keyboard Ctrl+R). Kemudian upload kode program ke Arduino (File>Upload atau Ctrl+U).

Kalau tidak ada pesan error maka sensor ultrasonic HC-SR04 akan langsung bekerja dan mulai mengukur jarak benda yang ada di depannya. Gunakan Serial Monitor (Tools>Serial Monitor atau Ctrl+Shift+M) pada aplikasi IDE Arduino untuk melihat hasil pengukuran. Sesuaikan baudrate serial monitor dengan yang ada di kode program (115200).

Bagaimana, mudah sekali bukan? Anda sekarang dapat mulai berkreasi untuk menggunakan library NewPing ini dengan sensor ultrasonic HC-SR04 (atau sensor ultrasonic yang lain) pada proyek Arduino anda.

You may also like...

19 Responses

  1. ari says:

    tetep ga bisa pake newping mas…

  2. Suhir says:

    NewPingExample:11: error: ‘NewPing’ does not name a type
    NewPingExample.ino: In function ‘void loop()’:
    NewPingExample:19: error: ‘sonar’ was not declared in this scope
    NewPingExample:21: error: ‘US_ROUNDTRIP_CM’ was not declared in this scope

    Knapa ya mas?

  3. Resi Prambudi says:

    Selamat sore, saya telah mencoba hal di atas. upload program berhasil kendalanya saya menggunakan serial monitor untuk melihat hasilnya, tp saya tidak mengerti selanjutnya mengapa hasil pembacaannya tidak muncul pada serial monitor. baudrate serial monitor sdh saya sesuaikan. dan ada satu lagi, selesai program di upload, muncul tulisan:
    Binary sketch size: 3.446 bytes (of a 32.256 byte maximum)
    avrdude: stk500_getsync(): not in sync: resp=0x00

    apakah upload program benar2 dinyatakan berhasil? terimakasih.

    • Zerfani Yulias says:

      Kalau ada error itu, sebenarnya program tidak berhasil diupload.

      Ada beberapa sebab kenapa error itu muncul, antara lain:
      1. Salah pilih board Arduino di menu Tools>Board –> cek pilihan board-nya
      2. Salah pilih COM Port di menu Tools>Serial port –> lepas kabel USB, matikan IDE Arduino, kemudian pasang lagi dan cek COM Port-nya
      3. Kable USB kurang bagus –> coba diganti dengan kabel lain
      4. Ada yang memakai pin 0 dan 1 (RX, TX) –> coba dilepas dulu kalau ada alat lain yang memakai pin ini, setelah upload berhasil baru dipasang lagi
      5. Fungsi RESET di Arduino tidak jalan –> setelah Compile selesai, tekan ombol RESET sebelum program diupload
      4. Bootloader dari Arduino rusak (ini kecil kemungkinannya) –> burn ulang bootloader-nya, atau pakai chip ATmega328 lain yang tidak bermasalah

    • bugishere says:

      Mas, coba ganti kabel USB buat ngeupload program arduino’a…
      Kemgkinan kabel’a tuh klo sprti itu…

      CMIIW

  4. aji eko says:

    sensor ping ini cuma bisa liat benda di depannya aja ya ? maksudnya buat deteksi bentuk apakah bisa ? mohon penjelasannya

    • Zerfani Yulias says:

      Sensor ultrasonic digunakan untuk mengukur jarak antara sensor dengan benda didepannya.
      Kemudian kalau sensor ultrasonic hendak digunakan untuk mendeteksi bentuk object sepertinya agak susah karena sudut deteksinya cukup lebar.

      Yang sudut deteksinya cukup tipis itu adalah sensor jarak Infrared. Dengan cara yang tepat bisa juga digunakan untuk mendeteksi bentuk object yang ada didepan sensor, walaupun mungkin tidak bisa tepat hasil deteksinya.

  5. riza says:

    pak kenapa di serial monitornya hasilnya terus jalan ga bisa berhenti..?

  6. adi says:

    Master kenapa angkanya terus berjalan…..?

  7. NANDA says:

    ia mas sya juga mau untuk serial read” tpi saya juga ingin bertanya mas saya kan baru ini untuk membaca sensor untuk gerakin motor masih belum bisa ada contohnya gak ya masih bingung ni mas

  8. Hambali raka kusuma says:

    makasih gan… 100% work

  9. dwi says:

    Maaf mau tanya
    jika saya inginkan dalam 10 mS didapatkan 10 data, sehingga bisa saya rata-rata untuk mendapatkan data yang akurat dan stabil pada lcd, line program mana yang harus saya ubah?
    terima kasih
    mohon bantuannya

  10. nanda says:

    pak “saya pemula tpi saya ingin tahu pak gemana ya cara menggunakan liberary ini untuk mengeluarkan output atau mengendalikan motor soalnya saya belum mengerti jika untuk pengendali tapi kalau membaca sesornya udah bisa pak… terima kasihh

  11. rama says:

    pak sketch untuk sensor ultrasonik digabungkan dengan servo kenapa tidak bisa

  12. Cybronyx says:

    maksimal jarak sensornya berapa meter yah? apakah akurat? thx.

  13. zaid says:

    gan boleh nanya code ping dan arduino untuk palang parkir, ketika kendaraan lewat maka palang menutup gitu mas, terimakasih

Leave a Reply

Your email address will not be published. Required fields are marked *

Facebook