Sensor Ultrasonic
Sensor Ultrasonic
Add a Footer 2
Pin Trig berfungsi sebagai pemicu (trigger). Pin ini harus diberi sinyal “HIGH” kemudian “LOW”. Siapa
yang memberinya ? Ya tentu saja Arduino. Berapa lama ? Seperti pada gambar yaitu minimal 10 µs
(micro seconds).
Begitu mendapat trigger, sensor ultrasonik (bagian pemancar) akan memancarkan gelombang ultrasonik
sebanyak 8 siklus dengan frekuensi 40 Khz. Gelombang ultrasonik akan terus merambat, bergerak
dengan kecepatan 344 m/s.
selama gelombang ultrasonik masih merambat (belum mengenai penghalang/dinding), logika pin
Echo adalah “HIGH”.
Begitu ultrasonik mengenai penghalang/dinding, sebagian gelombang akan diteruskan ke media yang
ditabrak, sebagian lagi memantul dan kembali menuju arah sensor. Pada saat ultrasonik diterima
kembali oleh sensor, maka otomatis pin ECHO akan berubah logikanya menjadi “LOW”.
Lebar pulsa atau “lamanya” pin ECHO berlogika “HIGH” = waktu tempuh ultrasonik.
Penjelasan Detail:
• Ketika gelombang ultrasonik memancar (transmit/pergi) maka logika pin Echo = 1.
• Selama gelombang ultrasonik masih merambat (belum memantul kembali) logika pin Echo = 1.
• Setelan gelombang ultrasonik memantul dan kembali trus terdeteksi oleh sensor penerima, maka
pin ECHO = 0.
Kecepatan (cepat rambat) gelombang ultrasonik di udara = 344 m/s (meter per-detik). Artinya untuk
menempuh jarak 344 m dibutuhkan waktu 1 detik. Atau untuk menempuh jarak 1 m butuh waktu 1/344
s atau 0,0029 s. Jika menempuh jarak 1 cm ( 1 cm = 0,01 m) maka butuh waktu 0,01 x 0,0029 s =
0,000029 s (29 µs).
karena gelombang ultrasonik melakukan perjalanan pergi – pulang (pancar – terima) sehingga waktu
yang dibutuhkan menjadi 2x. Hal ini berpengaruh pada perhitungan jaraknya. Waktu tempuh menjadi
2x, sehingga untuk menempuh jarak 1 cm diperlukan waktu 29 µs x 2 = 58 µs.
CODING TANPA LIBRARY SENSOR duration = pulseIn(echoPIN, HIGH);
void setup() {
Serial.begin(9200); }
// put your setup code here, to run
once:
Bisa juga pakai coding yg ini:
#define PIN_TRIG 8 // Hitung jarak yang diperoleh
#define PIN_ECHO 7 float jarak = 0.0343 * ( waktu / 2);
void setup() if (jarak > 50 || jarak <= 0)
{ {
Serial.begin (9600); Serial.println("di luar jangkauan sensor");
pinMode(PIN_TRIG, OUTPUT); }
pinMode(PIN_ECHO, INPUT); else
} {
Serial.print(jarak);
void loop() Serial.println(" cm");
{ }
// Berikan isyarat HIGH pada pin trig 10
mikrodetik
digitalWrite(PIN_TRIG, HIGH); delay(1000); // Tunda satu detik
delayMicroseconds(10); // Tunda 10 }
mikrodetik
digitalWrite(PIN_TRIG, LOW);
void loop() {
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
• Tes jarak 25 cm
Add a Footer 11
• Tes Jarak 15 cm
Add a Footer 12
• Tes Jarak 2 cm
Add a Footer 13
• Tes Fails pada jarak
10 cm, karena
benda rintangan
kecil
Add a Footer 14
• Tes Fails, karena
dinding permukaan
terlalu miring
Add a Footer 15
• Tes fails, Spons atau busa di
anggap 0 pada jarak 25 cm • Tes fails, Spons atau busa di
anggap 0 pada jarak 5 cm
Add a Footer 16
THANK YOU
Add a Footer 17