Anda di halaman 1dari 11

LAPORAN SISTEM TERBENAM DAN IOT

SENSOR ULTRASONIC

Disusun Oleh:
Putri Shafa Salsabella Helmi / 3.34.18.0.18
IK-3A

PROGRAM STUDI D3 TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNI NEGERI SEMARANG
2020/2021
I. Tujuan
1. Mahasiswa mampu membuat interface mikrokontroler Arduino dengan modul sensor
ultrasonic HC-SR04
2. Mahasiswa mampu membuat program untuk mengendalikan modul Sensor
Ultrasonic
3. Mahasiswa mampu menggunakan modul sensor ultrasonic sebagai alat ukur jarak

II. Alat
1. Sebuah Komputer
2. Satu set trainer mikrokontroler

III. Dasar 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
aplikasiaplikasi 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 PINGTM 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.

Gambar 9.1. Sensor Ultrasonic


Features: (http://www.micropik.com/PDF/HCSR04.pdf)
• Power Supply: +5V DC
• Quiescent Current: <2mA
• Working Currnt: 15mA
• Effectual Angle: <15°
• Ranging Distance: 2cm – 400 cm/1" - 13ft
• 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 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.

Gambar 9.2. Diagram Waktu Sensor Ultrasonic


Gambar 9.3. Diagram Sinyal Digital dalam Waktu

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.

Gambar 9.5. Rangkaian Arduino dan Modul Ultrasonic

Sketch:
Kode:
#define echoPin 7 // pin echo sensor
#define trigPin 8 // pin trigger sensor
#define ledPin 13 // pin LED

int maxRange = 200; // jangkauan maksimal yg dibutuhkan


int minRange = 0; // jangkauan minimal yg dibutuhkan
long duration, distance; // durasi untuk menghitung jarak

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;

if(distance >= maxRange || distance <= minRange){


Serial.println("-1"); // mengirim nomor negatif dan menalakan
LED untuk mengindikasi di luar jangkauan
digitalWrite(ledPin, HIGH);
}
else{
Serial.println(distance); // mengirim berapa jaraknya ke komputer
dengan Serial Protocol dan mematikan LED untuk mengindikasi sensor
berhasil mendeteksi
digitalWrite(ledPin, LOW);
}
delay(50);
}

Saat di dalam jangkauan


Saat di luar jangkauan

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

(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);

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:

Gambar 9.6. Rangkaian Modul Ultrasonic dan Servo

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");

if(jarak<=15) // 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); //LEDmerah hidup
myservo.write(0); //Posisi servo pada 0 derajat
delay(450); //Delay
digitalWrite(LEDmerah, LOW); //LEDmerah mati
myservo.write(90); //Posisi servo pada 90 derajat
}
else{ //Jika jarak lebih dari yang ditentukan
digitalWrite(LEDmerah, LOW); //LEDmerah mati
digitalWrite(LEDhijau, HIGH); //LEDhijau hidup
myservo.write(90); //Posisi servo pada 90 derajat
}
delay(450); //Delay
}

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)

Anda mungkin juga menyukai