You are on page 1of 7

LAPORAN PRAKTIKUM

LABORATORIUM SENSOR DAN TRANDUSER II

Disusun Oleh :
Aryawa Bintang Muhammad
NIM. 3.32.17.0.06
Muhammad Choiril Atho’
NIM. 3.32.17.0.17

PROGRAM STUDI D3 TEKNIK ELEKTRONIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2019
I. JUDUL : Sensor Ultrasonic HC-SR04 (Percobaan 1)

II. TUJUAN :
1. Membuat alat ukur jarak berbasis arduino
2. Membuat alat ukur jarak dilengkapi indikator LED RGB dan Buzzer
3. Mengembangkan operasi dasar dari sensor ultrasonic HC-SR04 pada
bidang lainnya

III. LIST PROGRAM


a) Program pengukur jarak dengan indikator LED RGB
/*Ultrasonic Sensor Hc-SR04 and Arduino
*
* ARYAWA BINTANG MUHAMMAD 3.32.17.0.06
* MUHAMMAD CHOIRIL ATHO' 3.32.17.0.17
*
*/
#include <LiquidCrystal.h> //Deklarasi Library LCD

LiquidCrystal lcd(0,1,2,3,4,5); //Deklarasi PIN LCD

//Deklarasi pin RGB


const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;

//Deklarasi pin sensor ultrasonic


const int trigPin = 8;
const int echoPin = 7;
const int buzzer = 6;

//Deklarasi tipe data duration, distanceCm, distanceInch.


long duration;
int distanceCm,distanceInch;

void setup() {
lcd.begin(16,2); //Inisialisasi LCD mulai

//Penyetelan Input Output


pinMode(buzzer,OUTPUT);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
digitalWrite(buzzer, LOW); //mengirim pulsa digital 0 ke buzzer
}
void loop() {
digitalWrite(trigPin,LOW); //mengirim pulsa digital 0 ke trigPin
delayMicroseconds(2); //Delay
digitalWrite(trigPin,HIGH); //mengirim pulsa digital 1 ke trigPin
delayMicroseconds(10); //Delay
digitalWrite(trigPin,LOW); //mengirim pulsa digital 0 ke trigPin
duration = pulseIn(echoPin,1); //Deklarasi duration
distanceCm = duration*0.034/2; //Rumus jarak dalam satuan Cm
distanceInch = duration*0.0133/2; //Rumus jarak dalam satuan Inch

//Menampilkan data pada LCD


lcd.setCursor(0,0);
lcd.print("Distance:");
lcd.print(distanceCm);
lcd.print("Cm ");
delay(100);
lcd.setCursor(0,1);
lcd.print("Distance:");
lcd.print(distanceInch);
lcd.print("Inch ");
delay(100);

//Program nyala RGB


if (distanceCm>=30){
setColor(255, 255, 0); // jika jarak benda >=30cm maka kuning
delay(50);
}
if(distanceCm<30 && distanceCm>=20){
setColor(0, 0, 255); // jika jarak benda 20-29cm maka biru
delay(100);
}
if (distanceCm<20 && distanceCm>=10){
setColor(0, 255, 0); // jika jarak benda 10-19cm maka green
delay(100);
}
if (distanceCm<10 && distanceCm>=0){
setColor(255, 0, 0); // jika jarak benda 0-9cm maka red
delay(100);
}
if (distanceCm<5 && distanceCm>=0){
digitalWrite(buzzer,1); // jika jarak benda 0-4cm maka buzzer nyala
delay(50);
digitalWrite(buzzer,0);
}
}

void setColor(int red, int green, int blue){ //Deklarasi data RGB
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}

b) Program pengukur level air dengan tinggi lebih 30 cm


/*Ultrasonic Sensor Hc-SR04 and Arduino
*
* ARYAWA BINTANG MUHAMMAD 3.32.17.0.06
* MUHAMMAD CHOIRIL ATHO' 3.32.17.0.17
*
*/
#include <LiquidCrystal.h> //Deklarasi Library LCD

LiquidCrystal lcd(0,1,2,3,4,5); //Deklarasi PIN LCD

//Deklarasi pin RGB


const int redPin = 11;
const int greenPin = 10;
const int bluePin = 9;

//Deklarasi pin sensor ultrasonic


const int trigPin = 8;
const int echoPin = 7;
const int buzzer = 6;

//Deklarasi tipe data duration, distanceCm, distanceInch.


long duration;
int distanceCm,distanceInch;

void setup() {
lcd.begin(16,2); //Inisialisasi LCD mulai

//Penyetelan Input Output


pinMode(buzzer,OUTPUT);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
digitalWrite(buzzer,0); //mengirim pulsa digital 0 ke buzzer
}

void loop() {
digitalWrite(trigPin,LOW); //mengirim pulsa digital 0 ke trigPin
delayMicroseconds(2); //Delay
digitalWrite(trigPin,HIGH); //mengirim pulsa digital 1 ke trigPin
delayMicroseconds(10); //Delay
digitalWrite(trigPin,LOW); //mengirim pulsa digital 0 ke trigPin
duration = pulseIn(echoPin,1); //Deklarasi durasi
distanceCm = duration*0.034/2; //Rumus jarak dalam satuan Cm
distanceInch = duration*0.0133/2; //Rumus jarak dalam satuan Inch

//Menampilkan data pada LCD


lcd.setCursor(0,0);
lcd.print(">>Water Level<<");
lcd.setCursor(0,1);
lcd.print("Ting. air:");
lcd.print(distanceCm);
lcd.print("Cm ");
delay(100);

//Program nyala RGB (indikator level air)


if (distanceCm>=30){
setColor(255, 0, 0); //jika tinggi air >=30cm dari rata-rata nyala merah
delay(100);
digitalWrite(buzzer,1); //buzzer menyala
delay(50);
digitalWrite(buzzer,0); //buzzer mati
}
if(distanceCm<30 && distanceCm>=20){
setColor(255, 255, 0); //jika tinggi air 20-29cm dari rata-rata nyala kuning
delay(100);
}
if (distanceCm<20 && distanceCm>=10){
setColor(0, 255, 0); //jika tinggi air 10-19cm dari rata-rata nyala hijau
delay(100);
}
if (distanceCm<10 && distanceCm>=0){
setColor(0, 0, 255); //jika tinggi air 0-9cm dari rata-rata nyala biru
delay(100);
}
}

void setColor(int red, int green, int blue){


analogWrite(redPin, red); //Deklarasi data RGB
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
IV. PENJELASAN PROGRAM
a. Untuk program 1 yaitu program pengukuran jarak dengan LED RGB,
cara kerjanya adalah sebagai berikut :
 Ketika benda berjarak >30 cm maka LED kuning akan menyala
 Ketika benda berjarak 20-29 cm maka LED biru akan menyala
 Ketika benda berjarak 10-19 cm maka LED hijau akan menyala
 Ketika benda berjarak 0-9 cm maka LED merah akan menyala
 Ketika benda berjarak 0-4 cm maka buzzer akan berbunyi
b. Untuk program 2 yaitu pengukuran level air dengan tinggi lebih 30 cm,
cara kerjanya adalah sebagai berikut :
 Ketika tinggi air >30 cm dari rata-rata maka LED merah akan
menyala
 Ketika tinggi air 20-29 cm dari rata-rata maka LED kuning akan
menyala
 Ketika tinggi air 10-19 cm dari rata-rata maka LED hijau akan
menyala
 Ketika tinggi air 0-9 cm dari rata-rata maka LED biru akan
menyala
 Ketika tinggi air >30 cm dari rata-rata maka buzzer akan
menyala

V. HASIL PERCOBAAN
a. Program untuk mengukur jarak dengan indikator LED RGB

Gambar 5.1 Ketika benda berjarak 3 cm/ 1 inch


b. Program untuk mengkur level air

Gambar 5.2 Ketika tinggi air5 cm

VI. KESIMPULAN
1. Sensor ultrasonic HCSR merupakan sensor jarak jauh dengan prinsip
kerja memantulkan sura ultrasonic melalui terminal trigger /
transmitter dan diterima oleh echo / reciver.
2. Selain untuk mengukur jarak, sensor ultra sonic juga dapat digunakan
untuk mengukur volume benda, tinggi benda, penghitung benda,
pendeteksi benda lewat, dsb.

You might also like