Bermain dengan Ultrasonic Range Sensor

2:10 AM 0 Comments A + a -

Ultrasonic Range Sensor merupakan sensor yang biasa digunakan para pencinta robotika. Fungsi utama dari sensor ini adalah untuk mengetahui jarak benda yang terdapat di depan sensor tersebut. Pada umumnya, sensor ultrasonic ini berbentuk papan elektronik berukuran kecil yang dilengkapi dengan beberapa rangkaian elektronik dan dua buah transducer. Transducer yang pertama berfungsi sebagai transmitter gelombang ultrasonic dan transducer yang satunya berfungsi sebagai receiver. Pada beberapa produk kadang hanya ditemukan satu buah transducer yang bertindak sebagai transmitter sekaligus receiver sekaligus.

Sensor ini bekerja dengan cara menghasilkan gelombang suara pada frekwensi tinggi yang kemudian akan segera dipancarkan oleh tranducer yang bertindak sebagai transmitter. Pantulan gelombang yang mengenai benda di depannya akan di tangkap oleh transducer yang bertidak sebagai receiver. Dengan mengetahui lamanya waktu antara dipancarkannya gelombang ultrasonic sampai dengan ditangkap kembali oleh receiver, maka akan diketahui jarak dari benda yang terdapat di depan sensor tersebut.

Kecepatan suara adalah 340m/detik, lamanya waktu tempuh gelombang ultrasonic dikalikan kecepatan suara, kemudian dibagi dua akan menghasilkan jarak antara sensor tersebut dengan benda di depannya.

Pada posting kali ini kita akan menggunakan sensor ultrasonic HC-SR04 yang merupakan produk dari ITead Studio. Library untuk sensor ini telah tersedia dalam arduino IDE jadi kita dapat langsung menggunakannya tanpa perlu menambahkan library terlebih dahulu.

Perlengkapan yang dibutuhkan adalah :
  1. Arduino Uno R3
  2. Breadboard
  3. Ultrasonic Sensor (HC-SR04)
  4. 1 Led Merah
  5. 1 Led Hijau
  6. 1 buah buzzer
  7. 2 buah resistor 330 ohm
  8. Jumper
Kemudian rangkai semua perlengkapan tersebut seperti gambar dibawah ini




Setelah selesai merakit semua komponen seperti gambar diatas, kemudia buka arduino IDE, tuliskan kode berikut pada sketch.


/*

    Ultrasonic Range Sensor - HC-SR04
    YaDoY666 - http://yadoy666.blogspot.com
   
 */

#define trigPin 12
#define echoPin 13
int ledmerah = 8;
int ledhijau = 9;
int preeet = 10;
void setup() {      
  Serial.begin (9600);
  pinMode(trigPin, OUTPUT);
  pinMode(ledmerah, OUTPUT);
  pinMode(ledhijau, OUTPUT);
  pinMode(preeet, OUTPUT);
  pinMode(echoPin, INPUT);
}

void loop() {
  int duration, distance;
  digitalWrite(trigPin, HIGH); //
  delayMicroseconds(1000);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2) / 29.1;
  if (distance >= 200 || distance <= 0){
    Serial.println("Out of range");
    digitalWrite(ledhijau, HIGH);
    digitalWrite(ledmerah, LOW);
    digitalWrite(preeet, LOW);
  }
  else {
    if (distance <= 5) {
      digitalWrite(ledhijau, LOW);
      digitalWrite(ledmerah, HIGH);
      digitalWrite(preeet, HIGH);
      Serial.print(distance);
      Serial.println(" cm");
    }
    else {
      digitalWrite(ledhijau, HIGH);
      digitalWrite(ledmerah, LOW);
      digitalWrite(preeet, LOW);
      Serial.print(distance);
      Serial.println(" cm");
    }
  }
  delay(500);
}

Setelah selesai coba verify, apabila tidak terdapat error segera upload ke board arduino anda. Hasil akhir dari contoh diatas dapat dilihat seperti pada video berikut ini.



Gimana, menarik kaaan.... ^_^