Laporan Akhir Praktikum
"Alat Parkir Otomatis untuk Kendaraan Roda Empat"
1. Tujuan [kembali]
- Praktikan dapat merancang sebuah sistem secara detail sehingga rancangan tersebut dapat menjadi sebuah alat
- Praktikan dapat mengkombinasikan berbagai sensor, akuator dan display
- Praktikan dapat membuat sebuah sistem menggunakan mikrokontroler
- Arduino Uno
- LCD
- Sensor Ultrasonik
- Buzzer
- Potensiometer
- LED
- Breadboard
- Jumper
- Modul Wireless nRF24L01
A. Arduino
Arduino adalah kit elektronik atau papan rangkaian elektronik open
source yang di dalamnya terdapat komponen utama yaitu sebuah chip
mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita
gunakan pada prkatikum ini adalah arduino mega yang menggunakan chip
AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC,
timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama
modul atau alat lain dengan protocol yang berbeda-beda. Bahasa
pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah
dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah
dalam memprogramnya. Dalam memprogram arduino, kita bisa menggunakan
serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun
aplikasi lain.
B. LCD
Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk menampilkan output sebuah sistem dengan cara membentuk suatu citra atau
gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD
terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah
elektroda transparan dan 2 buah filter polarisasi (polarizing filter).
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati
dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang
dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga
para pemakai dapat mengontrol tampilan LCD dengan mudah dengan
menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input
yang sudah tersedia.
C. Sensor Ultrasonik
Sensor
ultrasonik PING terdiri dari tiga bagian utama yaitu :
- Transmitter Gelombang Ultrasonik
- Receiver Gelombang Ultrasonik
- Rangkaian kontrol
Transmitter
berfungsi sebagai pemancar gelombang ultrasonik. Gelombang yang dipancarkan
memiliki frekuensi 40KHz. Gelombang ini akan dipancarakan dengan kecepatan
344.424m/detik atau 29.034uS per centimeter. Jika didepan terdapat halangan
atau objek maka gelombang tersebut akan memantul. Pantulan gelombang akan
dideteksi oleh receiver. Rangkaian kontrol akan mendeteksi pantulan gelombang
dan menghitung lama waktu saat gelombang dipancarkan dan gelombang terdeteksi
pantulannya. Lama waktu pemantulan gelombang ini akan dikonversi menjadi sinyal
digital dalam bentuk pulsa. Sinyal inilah yang nantinya diolah oleh
mikrokontroler atau mikroprosesor sehingga didapat nilai jarak antara objek dan
sensor. Nilai jarak dapat diperoleh melalui rumus berikut ini :
Jarak
(cm) = Lama Waktu Pantul (uS) / 29.034 / 2
Rumus
jarak didapat dari pembagian lama waktu pantul dengan kecepatan gelombang
ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi dua kali jarak
tempuh antara sensor dengan objek. Yaitu pada saat gelombang dipancarkan dari
transmitter ke objek dan pada saat gelombang memantul ke receiver ultrasonik.
Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04
Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04
Gambar sistem pewaktu pada sensor HC-SR04 |
D. Buzzer
Buzzer adalah sebuah komponen elektronika yang mengubah energy
listrik menjadi energy Mekanik atau getaran. Energy getaran ini akan
mengahasilkan suara. Buzzer juga biasanya digunakan untuk indicator
suara untuk alarm, input keypad, dan pemberitahuan kerusakan pada sebuah
system electronic, seperti di mother board computer.
E. Potensiometer
Potensiometer adalah resistor tiga terminal dengan sambungan geser
yang membentuk pembagi tegangan dapat disetel.[1] Jika hanya dua
terminal yang digunakan (salah satu terminal tetap dan terminal geser),
potensiometer berperan sebagai resistor variabel atau Rheostat.
Potensiometer biasanya digunakan untuk mengendalikan peranti elektronik
seperti pengendali suara pada penguat. Potensiometer yang dioperasikan
oleh suatu mekanisme dapat digunakan sebagai transduser, misalnya
sebagai sensor joystick.
F. LED
LED adalah suaatu semikonduktor yang memancarkan cahaya, LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n)
dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED
terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus
listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED
diberikan arus terbalik, hanya akan ada sedikit arus yang melewati LED.
Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.
G. Breadboard
Breadboard adalah board yang digunakan untuk membuat rangkaian
elektronik sementara dengan tujuan uji coba atau prototipe tanpa harus
menyolder. Dengan memanfaatkan breadboard, komponen-komponen elektronik
yang dipakai tidak akan rusak dan dapat digunakan kembali untuk membuat
rangkaian yang lain. Breadboard umumnya terbuat dari plastik dengan
banyak lubang-lubang diatasnya. Lubang-lubang pada breadboard diatur
sedemikian rupa membentuk pola sesuai dengan pola jaringan koneksi di
dalamnya.
H. Jumper
Jumper digunakan sebagai konektor antar modul satu dengan modul
lainnya. Jumper terdiri dari jumper male-male, male-female, dan
female-female dimana penggunaanya disesuaikan terhadap rangkaian yang
ada.
I. Module Wireless nRF24L01
Module Wireless nRF24L01 merupakan module yang mempunyai fungsi untuk komunikasi jarak jauh atau nirkabel yang memanfaatkan gelombang RF 2.4 GHz yang biasanya diaplikasikan untuk Scientific , Industrial, maupun Medical.
Pada modul ini menggunakan antarmuka SPI (Serial Parallel Interface) untuk berkomunikasi dengan mikrokontroler dalam hal ini Arduino. Tegangan operasional normal untuk mengakses module ini yaitu 3.3Vdc, yang biasanya dibantu dengan regulator AMS1117.
Module nRF24L01 memiliki perangkat keras yang berupa baseband logic Enhanced ShockBurst dan protocol accelerator yang memungkinan untuk berkomunikasi dalam kecepatan tinggi.
Selain itu, module ini juga memiliki fitur true ULP solution, yang berfungsi sebagai penghemat konsumsi daya sehingga hemat energi. Dan bisa digunakan juga sebagai pembuatan perangkat fitnes dan olahraga, pendukung PC, mainan anak-anak, piranti perangkat untuk permainan, dan lainnya.
Kesimpulan dari beberapa fitur Modul Wireless RF nRF24L01 :
- Data rate mencapai 2Mbps
- Penanganan transaksi paket otomatis
- Beroperasi pada pada pita ISM 2.4 GHZ
- Konsumsi daya yang rendah
- Penanganan paket data otomatis
- Jarak komunikasinya 1100 meter
Pin Out dari Modul Wireless RF nRF24L01
MASTER
//MASTER
#include <LiquidCrystal.h>
#include <Wire.h>
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int trig = 13;
int echo = 12;
int trig1 = 11;
int echo1 = 8;
int trig2 = A0;
int echo2 = A3;
int ledg1 = A1;
int ledr1 = A2;
int ledg2 = A4;
int ledr2 = A5;
int jarak,durasi, jarak1, durasi1, jarak2, durasi2;
RF24 radio(9, 10); // CE, CSN
const byte addresses[][6] = {"00298", "00910"};
char data;
void setup() {
lcd.begin(16,2);
pinMode(trig, OUTPUT); // set pin trig menjadi OUTPUT
pinMode(echo, INPUT); // set pin echo menjadi INPUT
pinMode(trig1, OUTPUT); // set pin trig menjadi OUTPUT
pinMode(echo1, INPUT); // set pin echo menjadi INPUT
pinMode(trig2, OUTPUT); // set pin trig menjadi OUTPUT
pinMode(echo2, INPUT); // set pin echo menjadi INPUT
pinMode(ledg1, OUTPUT);
pinMode(ledr1, OUTPUT);
pinMode(ledg2, OUTPUT);
pinMode(ledr2, OUTPUT);
Serial.begin(115200);
radio.begin();
radio.openWritingPipe(addresses[1]); // 00001
radio.openReadingPipe(1, addresses[0]); // 00002
radio.setPALevel(RF24_PA_MAX);
}
void loop()
{
int durasi;
delay(50);
// program dibawah ini agar trigger memancarakan suara ultrasonic
digitalWrite(trig, LOW);
delayMicroseconds(8);
digitalWrite(trig, HIGH);
delayMicroseconds(8);
digitalWrite(trig, LOW);
delayMicroseconds(8);
durasi = pulseIn(echo, HIGH); // menerima suara ultrasonic
int jarak = (durasi / 2) / 29.1; // mengubah durasi menjadi jarak (cm)
Serial.print(jarak);
Serial.print('\t');
delay(200);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Jarak =");
lcd.setCursor(9,0);
lcd.print(jarak);
lcd.setCursor(14,0);
lcd.print("cm");
delay(200);
radio.stopListening();
if (jarak > 30 ) {
data = '1';
lcd.setCursor(0,1);
lcd.print("Mundur Lagi");
delay(100);
radio.write(&data, sizeof(data));
Serial.println(data);
delay(200);
}
else if (jarak > 10 && jarak <= 30)
{
data = '2';
lcd.setCursor(0,1);
lcd.print("Sudah Pas");
delay(100);
radio.write(&data, sizeof(data));
Serial.println(data);
delay(200);
}
else {
data = '3';
lcd.setCursor(0,1);
lcd.print("Berhenti!!");
delay(100);
radio.write(&data, sizeof(data));
Serial.println(data);
delay(200);
}
delay(500);
digitalWrite(trig1, LOW);
delayMicroseconds(8);
digitalWrite(trig1, HIGH);
delayMicroseconds(8);
digitalWrite(trig1, LOW);
delayMicroseconds(8);
durasi1 = pulseIn(echo1, HIGH); // menerima suara ultrasonic
jarak1 = (durasi1 / 2) / 29.1; // mengubah durasi menjadi jarak (cm)
if (jarak1 > 10){
digitalWrite(ledg2, HIGH);
digitalWrite(ledr2, LOW);
}
else{
digitalWrite(ledg2, LOW);
digitalWrite(ledr2, HIGH);
}
delay(500);
digitalWrite(trig2, LOW);
delayMicroseconds(8);
digitalWrite(trig2, HIGH);
delayMicroseconds(8);
digitalWrite(trig2, LOW);
delayMicroseconds(8);
durasi2 = pulseIn(echo2, HIGH); // menerima suara ultrasonic
jarak2 = (durasi2 / 2) / 29.1; // mengubah durasi menjadi jarak
if (jarak2 > 10){
digitalWrite(ledg2, HIGH);
digitalWrite(ledr2, LOW);
}
else{
digitalWrite(ledg2, LOW);
digitalWrite(ledr2, HIGH);
}
delay(500);
}
SLAVE
//Slave
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#define ledy 4 //Definisi pin led
#define ledg 5 //Definisi pin led
#define ledr 6 //Definisi pin led
#define buzzer 7 //Definisi pin Buzzer
char data;
RF24 radio(9, 10); // CE, CSN
const byte addresses[][6] = {"00298", "00910"};
void setup() {
Serial.begin(115200);
pinMode(ledy, OUTPUT);
pinMode(ledg, OUTPUT);
pinMode(ledr, OUTPUT);
pinMode(buzzer, OUTPUT);
radio.begin();
radio.openWritingPipe(addresses[1]); // 00001
radio.openReadingPipe(1, addresses[0]); // 00002
radio.setPALevel(RF24_PA_MAX);
delay(5);
}
void loop() {
// Menjalankan perintah untuk menghasilkan output
delay(100);
radio.startListening();
while (!radio.available()) {
Serial.println("No Data Received");
}
radio.read(&data, sizeof(data));
Serial.print("Data Received : ");
Serial.println(data);
switch (data) {
case '1' :
digitalWrite(ledy, HIGH);
digitalWrite(ledg, LOW);
digitalWrite(ledr, LOW);
digitalWrite(buzzer, LOW);
break;
case '2' :
digitalWrite(ledy, LOW);
digitalWrite(ledg, HIGH);
digitalWrite(ledr, LOW);
digitalWrite(buzzer, LOW);
break;
case '3' :
digitalWrite(ledy, LOW);
digitalWrite(ledg, LOW);
digitalWrite(ledr, HIGH);
digitalWrite(buzzer, HIGH);
break;
}
radio.stopListening();
delay(300);
}
MASTER
SLAVE
6. Rangkaian Simulasi [kembali]
8. Video Simulasi [kembali]
9. Video Percobaan [kembali]
10. Analisa [kembali]
Pada modul 4 mikro kami
membuat alat dengan judul “Alat Parkir Otomatis untuk Kendaraan Roda Empat”.
Disini ada beberapa komponen alat yang digunakan yaitu adalah Arduino Uno, LCD, Sensor Ultrasonik, Buzzer, Potensiometer,
LED, Breadboard, dan Jumper. Alat ini menggunakan SPI dan wireless sebagai komunikasi antar Arduino.
Jadi Arduino ada 2 yang satu berperan sebagai master yang mentranfer data dan
yang Arduino lain sebagai slave yang berperan menjalankan data yang diberikan
oleh master. Prinsip kerja dari alat ini, pertama-tama sensor yang berfungsi
mendeteksi jarak yang dibacanya terhadap kendaraan roda 4, nantinya hasilnya akan
mengeluarkan dua output yaitu, LED sebagai output analog dan LCD sebagai output
digital. Nilainya akan ditampilkan dalam 3 kondisi. Yang pertama adalah ketika nilainya berada pada jarak lebih dari 30 cm maka LED kuning akan menyala dan LCD akan mengeluarkan nilai jarak dan memberitahukan untuk "Mundur Lagi", jika jaraknya berkisar antara 15 cm sampai 30 cm maka LED hijau akan menyala dan LCD akan menampilkan "Sudah Pas", dan jika nilainya berada pada jarak dibawah 15 cm maka LED merah akan menyala dan buzzer akan berbunyi, LCD akan menampilkan "Berhenti!!".
Karena pada rangkaian alat terdapat 3 buah sensor ultrasonik yang 2 lagi berfungsi untuk mendeteksi alat yang berada di samping kiri dan kanan kendaraan. Kondisi masing-masingnya sama jika sensor ultrasonik mendeteksi jarak lebih dari 10 cm maka LED hijau akan menyala, dan jika kurang dari 10 cm maka LED merah akan menyala menandakan bahwa jaraknya terlalu dekat .
Karena pada rangkaian alat terdapat 3 buah sensor ultrasonik yang 2 lagi berfungsi untuk mendeteksi alat yang berada di samping kiri dan kanan kendaraan. Kondisi masing-masingnya sama jika sensor ultrasonik mendeteksi jarak lebih dari 10 cm maka LED hijau akan menyala, dan jika kurang dari 10 cm maka LED merah akan menyala menandakan bahwa jaraknya terlalu dekat .
11. Link Download [kembali]
1. File HTML
Download File
2. Video simulasi
Download File
3. video Rangkaian
Download File
4. File rangkaian simulasi
Download File
5.Kode Program
Download File
6. Library Proteus Sensor Ultrasonik
Download File
7. Library Proteus Arduino Uno
Download File
8. Library Proteus Wifi NRF24L01
Download File
9. Data Sheet Sensor Ultrasonik
Download File
10. Data Sheet WIFI NRF24L01
Download File
11. Data Sheet Arduino
Download File
12. Flowchart
Download File
Tidak ada komentar:
Posting Komentar