You are on page 1of 11
BAB IX. SENSOR ULTRASONIC 9.1 Tujuan 1. Mahasiswa mampu membuat interface mikrokontroler Arduino dengan modul sensor ultra sonic HC-SR04 2. Mabasiswa mampu membuat program untuk mengendalikan modul Sensor Ultrasonic 3. Mahasiswa mampu menggunakan modul sensor ultrasonic sebagai alat ukur jarak 9.2 Peralatan 1, Sebuah Komputer 2. Satu set trainer mikrokontroler 9.3 Teori Seperti halnya kinerja dari sensor suara ultrasonic yang dimiliki lumba-lumba ataupun kelelawar untuk mengukur jarak. Suara ultrasonic tidak bisa didengarkan manusia. Sensor jarak ultrasonik sangat cocok dipakai untuk aplikasi-aplikasi yang perlu melakukan pengukuran jarak. Secara umum, sensor ini sangat populer untuk dipakai pada aplikasi-aplikasi robotika. Selain itu, sensor ini juga bisa bermanfaat dalam sistem security dan sebagai alternatif lain penggantian sensor jarak infrared. Sensor jarak ultrasonik yang dipakai dalam tugas akhir ini adalah sensor “Parallax's PING)))™ Ultrasonic Range Finder” atau biasa disebut dengan sensor PING. Berdasarkan datasheet, sensor PING ini dapat digunakan untuk mengukur jarak benda sejauh 3 — 300 cm. Dimensi dan kaki pin sensor PING ditunjukkan pada Gambar 9.1. 147 Dari Gambar 9.1. Sensor Ultrasonic sumber datasheet yang —dipublikasikan—di_—_micropik.com (htp://www.micropik.com/PDF/HCSRO4 pdf), sensor ultrasonik ini mempunyai spesifikasi : Power Supply :+5V DC Quiescent Current : <2mA Working Curmt: 1SmA Effectual Angle: <15° Ranging Distance : 2m — 400 cm/1" - 13f Resolution : 0.3 cm Measuring Angle: 30 degree ‘Trigger Input Pulse width: 10uS Dimension: 45mm x 20mm x 15mm. Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik (40kHz) selama t8URST (200us) kemudian mendeteksi pantulannya. Sensor PING 148 memancarkan gelombang ultrasonik sesuai dengan sinyal kontrol dari pengontrol mikro (sinyal kontrol berupa pulsa trigger dengan {OUT min 2ps). Gelombang ultrasonik ini melalui udara dengan Kecepatan 344 m/s, mengenai objek, kemudian memantul kembali ke sensor. Sensor PING mengeluarkan pulsa output high pada pin SIG setelah memancarkan gelombang ultrasonik. Setelah gelombang pantulan terdeteksi, sensor PING akan membuat output low pada pin SIG. Lebar pulsa high (IN) akan sama dengan lama waktu dipancarkan sampai diterima kembali pantulan gelombang ultrasonik akibat objek. Maka jarak yang diukur dapat dilihat pada Persamaan berikut. Hustrasi cara kerja sensor PING ditunjukkan pada Gambar 9.2. Untuk dapat lebih_ memahami penggunaan cara kerja sensor PING, pada Gambar 9.2 ditunjukkan diagram waktu sensor PING 8% B44) Is 2 Jarak meter Sinyal ultrasonic eee » % waktu pantul ) | obyet @ @ panulan prey) Torok yang dinkur Gambar 9.2, Diagram Waktu Sensor Ultrasonic Hal-hal yang dapat menyebabkan sensor PING tidak teliti untuk mengukur jarak suatu objek adalah sebagai berikut : 1, Jarak objek tersebut diluar jangkauan ukur (<3em atau > 30cm). 2. Sudut objek terhadap sensor (0) < 45°, sudut yang terlalu keeil antara sensor jarak ultrasonik dan objek schingga gelombang ultrasonik tidak dapat dipantulkan kembali ke sensor. 3. Objek tersebut terlalu kecil untuk memantulkan gelombang ultrasonik kembali ke sensor, 4. Jenis material objek yang bersifat meredam suara, bentuk permukaan yang tidak 149, beraturan, sudut ruangan, dan laine lain schingga mungkin tidak dapat ‘memantulkan gelombang ultrasonik yang cukup untuk dideteksi dengan teliti et bon - 4 betcone e --» ——illl__ + fe touer —_— Host Device tour 2 4s (min), 5 Hs typical — PING))) Sensor thowoorr 750 ys tounst 200 ys @ 40 kHz Aovanax, 115 ps tovaane 18.5 ps Gambar 9.3. Diagram Sinyal Digital dalam Waktu Selain itu, sensor PING dapat digunakan untuk mendeteksi permukaan air, tetapi tidak dianjurkan untuk digunakan di lingkungan yang basah Gambar 9.4, Karakteristik pendeteksian objek (a) Sinyal tidak terpantul kembali(b) Objek terlalu kecil 150 9.4 Percobaan 1 : Deteks jek HC-SRO4 Ultrasonic Sensor adalah sensor jarak / pendeteksi objek untuk menentukan jarak jangkauan, komponen ini sering digunakan terutama untuk menghindari objek dalam berbagai proyek robotika, Ini pada dasamya memberikan Arduino mata / kesadaran spasial dan dapat mencegah robot dari menabrak atau jatuh dati meja, Ini juga telah digunakan dalam aplikasi menara, penginderaan tingkat air, dan bahkan sebagai sensor parkir. Proyek sedethana ini akan menggunakan sensor HC-SR04 dengan Arduino dan sketsa Processing untuk memberikan tampilan interaktif kecil yang rapi pada layar komputer Anda. Sa gheslese ee) Gambar 9.5. Rangkaian Arduino dan Modul Ultrasonic Kode Program : #define echoPin 7 // Echo Pin #define trigPin 8 // Trigger Pin #define LEDPin 13 // Onboard LED int maximumRange = 200; //Maximum range needed int minimumRange = 0; // Minimum range needed 151 long duration, distance; //used to calculate distance void setup() { Serial. (9600); pinMode(, OUTPUT) + pinMode(echoPin, INPUT); PinMode(LEDPin, OUTPUT); //Use LED indicator ) void loop() { digitalWr(trigPin, Low); @igitalWrite(trigPin, HIGH); delayMicroseconds (10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); if (distance >= maximumRange || distance <= minimumRange) ( /* Send a negative number to computer and Turn LED ON to indicate "out of range" */ Serial.print1n("-1"); digitalwrite(LEDPin, HIGH); } else { Serial.print1n (distance) ; digitalWrite (LEDPin, LOW); } //Delay 50ms before next reading. delay (50); 9.5 Percobaan 2 : Library Sensor Jarak Pereobaan kali ini menggunakan library NewPing .h yang digunakan untuk menggantikan fungsi dari konfigurasi pin dan konversi dari hasil perhitungan. 152 Kode Program : #include #defin TRIGGER_PIN 12 #defineECHO_PIN = 11 #define MAX_DISTANC 200 § Sonar (TRIGGER PIN, ECHO_PIN, MAX DISTANCE); void setup() ( Serial.begin (115200 void loop() delay (50); Serial.print ("Ping: "3 //mengambil nilai hasil pemantauan objek sekiter Serial.print (sonar.ping_em( ))s Serial.println("cm"); Penjelasan Kode Program include Menambahkan header library NewPing.h pada aplikasi yang nantinya akan digunakan untuk mengukur jarak dengan satuan tertentu, Feature yang dimiliki oleh library ini cukup lengkap disamping bisa melihat objek sekitar juga dilengkapi dengan variasi satuan jarak juga. NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); Inisialisasi library NewPing ke objek dengan nama sonar dengan dilengkapi beberapa parameter yang dibutubkan diantaranya trigger pin sensor, echo pin sensor dan maksimal jarak yang diukur. Jarak yang bisa diukur berdasarkan kemampuan sensor diantara 200 —400 em. 153 9.6 Percobaan 3 : Sensor Jarak dan Servo Percobaan Arduino dengan Sensor Ultrasonik digunakan untuk menggerakan Motor Servo, yang logikanya apabila Hasil jarak yang terhitung pada sensor ultrasonik kurang dari 1Sem, maka akan menggerakan Motor servo dari 90 derajat ke 180 derajat, lalu ke 0 derajat. Dan kembali ke 90 derajat lagi apabila jarak lebih dari 1S em : Gambar 9.6. Rangkaian Modul Ultrasonic dan Servo Kode Program #include //Library untuk Sensor Ultrasonic #include //Library untuk Servo #define trigPin 12 //set Trigger HCSRO4 di Pin digital 12 #define echoPin 13 //Set Echo HCSRO4 di Pin digital 13 fidefine MAX_DISTANCE 500 //Set jarak maksimal NewPing sonar(trigPin, echoPin, MAX DISTANCE); int LEDhijau = 3, LEDmerah = 2; //Set Pin LEDhijau dan LEDmerah Servo myservo; //Buat object 1 buah motor servo 154, void setup() Serial.begin (115200); //Kecepatan komunikasi serial pinMode(trigPin, OUTPUT); //Set pin Trigger sebagai output PpinMode(echoPin, INPUT); //Set pin Echo sebagai input PinMode (LEDmerah, OUTPUT); //Set LEDmerah sebagai output, PinMode (LEDhijau, OUTPUT); //Set LEDhijau sebagai output, myservo.attach(9); //Set servo pada pin PWM 9 void loop() { int duration, jarak, posisi=0, i; digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite(trigPin, Low); duration = pulseIn(echoPin, HIGH); jarak = (duration/2) / 29.1; /Jatau distance = duration/58.2; Serial.print (jarak); Serial.printin(" cm") // Jarak (Cm) dapat anda sesuaikan { digitalWrite(LEDhijau, Low); //LEDhijau mati digitalWrite(LEDmerah, HIGH) ;//LEDmerah hidup myservo.write(); //Posisi servo pada 180 derajat delay(450); //Delay digitalWrite(LEDmerah, Low); //LEDmerah mati myservo.write (90. //Posisi servo pada 90 derajat delay (450); //Delay digitalWrite(LEDmerah, HIGH); //LBDmerah hidup 155 myservo.write (0); //Posisi servo pada 0 derajat delay (450); //Delay digitalWrite(LEDmerah, Low); // myservo.write (90); //Posisi servo pada 90 derajat else{ //Jika jarak lebih dari yang ditentukan digitalWrite(LEDmerah, Low); //LEDmerah mati digitalWrite(LEDhijau, KIGH); //LEDh myservo.write (90); //Posisi servo pada 90 dera a hidup delay (450); //Delay 9.7 Latihan 1. Lihat kembali pereobaan ke 3, adakah script yang tidak dicksekusi dan berpeluang, ‘memperlambat proses!? silakan optimasi script pada percobaan ke-3 tersebut! 2. Buat percobaan dengan memanfaatkan HC-SR04 sebagai pengukur tinggi badan tampilkan hasil pengukuran dalam LCD 12. 3. Desain percobaan Jain dengan menggunakan aplikasi fritzing rangkaian yang menggunakan HC-SRO4. (setiap kelompok beda). 4. Pilih salah satu project, buat desain dengan menggunakan fritzing Tipe A: 1. Pintu gerbang 2 motor (kel 4) 2. Pendeteksi Banjir (kel 1) 3. Tongkat Tunanetra (kel 2) 4. Pintu Garasi (kel 3) Tipe B: 1, Menghitung jml pengunjung(Kel 5) 2. Bel Rumah Otomatis (Kel 2) 156 3. Pengunei Pintu Otomatis (Kel 1) 4. Lampu Otomatis (Kel 4) Kran air otomatis (Kel 3) 157

You might also like