SENSOR ULTRASONIC
Disusun Oleh:
Putri Shafa Salsabella Helmi / 3.34.18.0.18
IK-3A
II. Alat
1. Sebuah Komputer
2. Satu set trainer mikrokontroler
Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik
(40kHz) selama tBURST (200μs) kemudian mendeteksi pantulannya. Sensor PING
memancarkan gelombang ultrasonik sesuai dengan sinyal kontrol dari pengontrol mikro
(sinyal kontrol berupa pulsa trigger dengan tOUT min 2μs). 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 (tIN) akan sama dengan
lama waktu dipancarkan sampai diterima kembali pantulan gelombang ultrasonik akibat
objek. Maka jarak yang diukur dapat dilihat pada Persamaan berikut. Ilustrasi 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.
Hal-hal yang dapat menyebabkan sensor PING tidak teliti untuk mengukur jarak suatu
objek adalah sebagai berikut:
1. Jarak objek tersebut diluar jangkauan ukur (< 3cm atau > 300cm).
2. Sudut objek terhadap sensor (θ) < 45°, sudut yang terlalu kecil antara sensor jarak
ultrasonik dan objek sehingga 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
beraturan, sudut ruangan, dan lain- lain sehingga mungkin tidak dapat memantulkan
gelombang ultrasonik yang cukup untuk dideteksi dengan teliti.
Selain itu, sensor PING dapat digunakan untuk mendeteksi permukaan air, tetapi tidak
dianjurkan untuk digunakan di lingkungan yang basah.
Gambar 9.4. Deteksi Permukaan
1. Percobaan 1
HC-SR04 Ultrasonic Sensor adalah sensor jarak / jarak yang sangat terjangkau yang
telah digunakan terutama untuk menghindari objek dalam berbagai proyek robotika.
Ini pada dasarnya memberikan Arduino mata / kesadaran spasial dan dapat mencegah
robot dari menabrak atau jatuh dari meja. Ini juga telah digunakan dalam aplikasi
menara, tingkat air penginderaan, dan bahkan sebagai sensor parkir. Proyek sederhana
ini akan menggunakan sensor HC-SR04 dengan Arduino dan sketsa Processing untuk
memberikan tampilan interaktif kecil yang rapi pada layar komputer Anda.
Sketch:
Kode:
#define echoPin 7 // pin echo sensor
#define trigPin 8 // pin trigger sensor
#define ledPin 13 // pin LED
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
2. Percobaan 2
Percobaan kali ini menggunakan library .h yang digunakan untuk menggantikan fungsi
dari konfigurasi pin dan konversi dari hasil perhitungan.
Sketch:
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
void setup() {
Serial.begin(115200);
}
void loop() {
delay(50);
Serial.print("Ping: ");
Serial.print(._cm());
Serial.println("cm");
}
3. Percobaan 3
Percobaan Arduino dengan Sensor Ultrasonik digunakan untuk menggerakan Motor
Servo, yang logikanya apabila Hasil jarak yang terhitung pada sensor ultrasonik
kurang dari 15cm, 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 15
cm:
Sketch:
#include <NewPing.h> //Library untuk Sensor Ultrasonic
#include <Servo.h> //Library untuk Servo
#define trigPin 12 //Set Trigger HCSR04 di Pin digital 12
#define echoPin 13 //Set Echo HCSR04 di Pin digital 13
#define 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
void setup() {
Serial.begin (115200); //Kecepatan komunikasi serial
pinMode(trigPin, OUTPUT); //Set pin Trigger sebagai output
pinMode(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; //atau distance = duration/58.2;
Serial.print(jarak);
Serial.println(" cm");
IV. Latihan
1. Lihat kembali percobaan ke 3, adakah script yang tidak dieksekusi dan berpeluang
memperlambat proses? Silahkan optimasi script pada percobaan ke-3 tersebut!
2. Buat percobaan dengan memanfaatkan HC-SR04 sebagai pengukur tinggi badan
tampilkan hasil pengukuran dalam LCD I2C.
3. Desain percobaan lain dengan menggunakan aplikasi fritzing rangkaian yang
menggunakan HC-SR04. (setiap kelompok beda).
Kelas B
1. Pintu gerbang 2 motor (kel 4)
2. Pendeteksi Banjir (kel 1)
3. Tongkat Tunanetra (kel 2)
4. Pintu Garasi (kel 3)
Kelas A
1. Menghitung jml pengunjung (Kel 5)
2. Bel Rumah Otomatis (Kel 2)
3. Pengunci Pintu Otomatis (Kel 1)
4. Lampu Otomatis (Kel 4)
5. Kran air otomatis (Kel 3)