Minggu, 07 Februari 2016

Robot Obstacle Avoider Ultrasonic HC-SR04 Arduino (Robot Anti Penghalang)



Ultrasonik, sebutan untuk jenis suara diatas batas suara yang bisa didengar manusia. Seperti diketahui, telinga manusia hanya bisa mendengar suara dengan frekuensi 20 Hz sampai 20KHz. Lebih dari itu hanya beberapa jenis binatang yang mampu mendengarnya, seperti kelelawar dan lumba-lumba. Lumba-lumba bahkan memanfaatkan ultrasonik untuk mengindera benda-benda di laut. Dengan cara mengirimkan sebuah suara dan mengitung lamanya pantulan suara tersebut maka dapat diketahui jarak kapal selam dengan benda tersebut. Mula-mula suara dibunyikan, kemudian dihitung lama waktu sampai terdengar suara pantulan. Jarak dapat dihitung dengan mengalikan kecepatan suara dengan waktu pantulan. Kemudian hasilnya dibagi 2. Misalnya lama waktu pantulan adalah 1 detik, maka jaraknya adalah (344,424m/detik x 1 detik)/2 = 172m.

HC-SR04 Ultrasonic Range Finder, adalah modul pengukur jarak dengan ultrasonic dengan harga yang cukup murah yang didesain khusus untuk teknologi robotika. Dengan ukurannya yang cukup kecil (2,1cm x 4,5cm), sensor seharga 59 Ribu rupiah ini dapat mengukur jarak antara 2 cm sampai 500 cm dengan resolusi 0.3 cm.



Gambar 1 Sensor ultrasonic HC-SR04

Pada dasanya, sensor ultrasonik HC-SR04 terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya. Pada modul sensor ultrasonik HC-SR04 terdapat 4 pin yang digunakan untuk jalur power supply (+5V), ground, Trigger, dan Echo. Pin Trigger berfungsi untuk mengirimkan sinyal ultrasonik, sedangkan Pin Echo berfungsi untuk menerima sinyal ultrasonic ketika didepan sensor ada penghalang.

Berikut adalah skematik robot obstacle avoider dengan sensor ultrasonic:
Gambar 2 Skema lengkap robot obstacle avoider sensor ultrasonic

Gambar 2 adalah desain lengkap robot obstacle avoider anti penghalang menggunakan Arduino Uno. Sensor ultrasonic HC-SR04 memiliki 4 pin, yaitu pin Ground, pin Vcc, Pin Trigger yang dihubungkan dengan Pin A1 dan Pin Echo terhubung dengan Pin A0 Board Arduino. Sedangkan motor driver untuk motor DC terhubung dengan Port Board Arduino yaitu PORT 9, 6, 5, dan 3.

Program IDE Arduino Robot Obstacle Avoider Ultrasonic

Untuk membuat program robot obstacle avoider berbasis sensor ultrasonic HC-SR04, kita dapat menggunakan Library yang tersedia pada IDE Arduino. Berikut adalah langkah pembuatan dan pemrograman robot obstacle avoider:
1. Susun rangkaian robot obstacle avoider seperti Gambar 3 berikut:
Gambar 3 Desain Fritzing rangkaian robot obstacle avoider sensor ultrasonic
2.  Hubungkan Arduino ke komputer dengan kabel USB.  Buka software Arduino, sesuai dengan Library Sensor Ultrasonik dan ketik program berikut:

//ROBOT ANTI PENGHALANG
// sensor ultrasonic

const int pingPin = A1;
const int echoPin = A0;

//motor DC

int kiriA = 9;
int kiriB = 6;
int kananA = 5;
int kananB = 3;

void setup()
{
  Serial.begin(9600);
  pinMode(kiriA,OUTPUT);
  pinMode(kiriB,OUTPUT);
  pinMode(kananA,OUTPUT);
  pinMode(kananB,OUTPUT);
}

void loop()
{

 long duration, inches, cm;

  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(pingPin, LOW);

  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);

  // konversi waktu ke jarak
  inches = microsecondsToInches(duration);
  cm = microsecondsToCentimeters(duration);

  // SERIAL DEBUG
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  delay(100);

  if (cm <=50)
  {
  analogWrite(kiriA,255);
  analogWrite(kiriB,0);
  analogWrite(kananA,0);
  analogWrite(kananB,255);
  }
  else
  {
  analogWrite(kiriA,0);
  analogWrite(kiriB,255);
  analogWrite(kananA,0);
  analogWrite(kananB,255);
  }

}

long microsecondsToInches(long microseconds)
{
  return microseconds / 74 / 2;
}
long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}


3. Pilih Board dan Serial PORT yang digunakan di menu Tools. 
4.Tekan tombol Verify dipojok kiri toolbar. 
5. Setelah muncul pesan “Done Compiling”, selanjutnya tekan tombol Upload yang ada di kanan tombol Verify sampai muncul pesan “Done Uploading”.
6. Untuk menguji sistem yang dibuat dapat dibuat simulasi berikut, jika jarak objek yang terdeteksi kurang dari 50 cm, maka robot akan berbelok arah, sedangkan jika jarak objek lebih dari 50 cm, maka robot akan bergerak lurus ke depan.
Gambar 4 Pengujian simulasi robot obstacle avoider ultrasonic HC-SR04


Gambar 5 Prototipe robot hexapod obstacle avoider ultrasonic HC-SR04
Share:

3 komentar:

  1. Mohon bantuan gan, saya sudah ikuti semua tutorial bersama sketchnya tapi error gan microseconds was not declared in this scope, kira2 salahnya dimana ya...?

    BalasHapus
  2. gk sesuai di skematik ma ma dah jadi, msak dah jadi ada servo, di skematik gak da

    BalasHapus