Anda di halaman 1dari 14

BAB 3

METODE PERANCANGAN

3.1 Waktu dan Tempat Penelitian


Perancangan serta pengujian alat dilakukan dirumah tinggal penulis
sesuai dengan anjuran pemerintah untuk Stay at Home terkait dengan adanya
wabah virus corona ini. Waktu dan lama penelitian dan perancangannya
selama ± 6 bulan, dimulai dari bulan Februari 2021 sampai bulan Agustus
2021.

3.2 Alat dan Bahan


Berikut adalah spesifikasi dari alat, bahan dan komponen pendukung
dalam perancangan sistem monitoring ketersediaan lahan parkir.
Tabel 3-1 Alat dan Bahan

No Nama Spesifikasi Jumlah


1 Laptop ASUS X455L i3 1
2 Arduino Board Arduino Mega 2560 1 Pcs
3 LCD TFT 2,4 inci 1 Pcs
4 Servo SG90 Max 180° 1 Pcs
5 IR Sensor FC-51 7 Pcs
6 LED Green LED Green 0,5 mm 3 Pcs
7 LED Red LED Red 0,5 mm 3 Pcs
8 Breadboard 8,5x5,5 cm 1 Pcs
9 Kabel Jumper 10cm 50 Pcs
10 Miniatur Mobil Skala 1:100 6 Pcs
11 Karton Board Ukuran A4 2 Lembar
12 Rumput Diorama Serbuk Sintetis 25 Gram
13 Aksesoris Parkir Skala 1:100 3 Pcs
14 Cat Akrilik 100 ml 4 Pcs
3.3 Perancangan
Dalam perancangan sistem monitoring ketersediaan lahan parkir ini
penulis membagi kedalam dua bagian, yaitu perancangan Hardware yang
merupakan perangkat keras, dan juga perancangan Software yang merupakan
perangkat lunak.
Pada alat terpasang Sensor Infrared yang bekerja melakukan
pendeteksi adanya mobil yang masuk, Arduino MEGA 2560 sebagai kendali
sistem. Kemudian LCD TFT 2.4 inci & LED berupa output sebagai indikator
dan monitoring dimana apabila terdapat input maka akan berwarna merah
sedangkan jika tidak terdapat input maka akan berwarna hijau. Terakhir motor
Servo sebagai pembuka dan penutup palang parkir.

IR Sensor

LCD TFT 2.4

LED

Arduino Mega 2560 Servo

Gambar 3-1
Diagram Blok Perancangan

3.3.1 Perancangan Hardware


Perancangan prototype ini menggunakan Arduino MEGA 2560
sebagai mikrokontroller atau kendali utamanya sehingga diperlukan
sebuah modul Arduino Mega 2560 untuk menjadi sebuah Sistem
Monitoring Ketersediaan Lahan Parkir Menggunakan LCD TFT 2.4 inci,
Sensor Infrared dan LED untuk indicator sedangkan untuk membuka
dan menutup palang parkir menggunakan motor servo sehingga dapat
terwujudnya pembuatan alat ini diperlukan program Arduino IDE.
Gambar 3-2
Skematic Perancangan Hardware

3.3.1.1 Modul Sensor Infrared dengan Arduino Mega


Modul sensor infrared yang terdiri dari IR transmitter
dan IR receiver yang berfungsi memancarkan radiasi
inframerah dan mendeteksi radiasi yang dipantulkan. Jarak
pendeteksian adalah 2cm sampai 30cm.

Tabel 3-2 koneksi pin antara Modul IR dengan Arduino Mega

FC-51 Arduino Mega


VCC 5V
GND GND
Pin Out Analog

3.3.1.2 LCD TFT 2.4 inci dengan Arduino Mega


LCD TFT adalah salah satu layer grafis yang paling
banyak digunakan, dengan 240*320 piksel resolusi dan dengan
kemampuan untuk menampilkan 262000 warna berbeda,
termasuk touchpad dan dengan tegangan suplai 5v.
Tabel 3-3 koneksi pin LCD TFT 2.4 inci dengan Arduino Mega

LCD TFT Arduino Mega


3.3V 3.3V
5V 5V
GND GND
LCD_RD A0
LCD_WR A1
LCD_RS A2
LCD_CS A3
LCD_RST A4
LCD_D2 D2
LCD_D3 D3
LCD_D4 D4
LCD_D5 D5
LCD_D6 D6
LCD_D7 D7
LCD_D9 D8
LCD_D1 D9
SD_CS D10
SD_DI D11
SD_DO D12
SD_SCK D13

3.3.1.3 LED dengan Arduino Mega


LED adalah komponen elektronika yang dapat
memancarkan cahaya monokromatik ketika diberikan tegangan
maju. LED sebagai lampu indikator.

Tabel 3-4 koneksi pin antara LED dengan Arduino Mega

LED Arduino Mega


(+) 3V
(-) GND
3.3.1.4 Servo SG90 dengan Arduino Mega
Komponen utama penyusun motor servo antara lain
motor DC, gear rasio, potensiometer serta controller servo.
fungsi dari controller servo yaitu memberikan sinyal – sinyal
PWM (Pulse Width Modulator) untuk menggerakan motor
melalui kabel motor. Pada perancangan alat ini servo berfungsi
sebagai palang pintu otomatis.

Tabel 3-5 koneksi pin antara Servo SG90 dengan Arduino Mega

Servo SG90 Arduino Mega


GND GND
Vdc 5V
Data Analog

3.3.2 Perancangan Software


Perancangan perangkat lunak sangat penting karena menentukan
proses kinerja sistem monitoring ketersediaan lahan parkir yang di
inginkan user. Perancangan sangat dibutuhkan dalam pembuatan sebuah
alat agar alat yang akan dibuat dapat bekerja sesuai dengan yang
diharapkan. Penulis mengharapkan alat ini dapat membantu para
pengunjung mendapatkan lahan parkirnya sekaligus membantu
pengelola untuk memonitoring lahan parkirnya.
Jika ada pengunjung yang akan memasuki area parkir
pengunjung dapat melihat informasi mengenai ketersediaan lahan
parkir melalui LCD TFT 2.4 inci, apakah slot kosong atau terisi penuh.
Jika slot kosong maka pengunjung bisa masuk ke area parkir, saat
terdeteksi oleh Sensor infrared yang berada di bawah palang parkir
maka Servo bergerak naik membuka palang dan pengunjung bisa
langsung memarkirkan kendaraannya di slot parkir yang kosong. Saat
slot terisi maka LED akan otomatis menyala merah dan slot pada
LCD TFT pun berwarna merah.
Start

Inisialisasi

Menampilkan kondisi
slot parkir pada monitor

IR Sensor
deteksi mobil

Apakah ada
mobil
Tidak

Ya

Palang buka

Cari slot parkir


yang tersedia

Tidak

LED merah Mobil


parkir

Ya

LED hijau

END
3.3.2.1 Perancangan Program
Perangkat lunak yang digunakan dalam penelitian dan
pembuatan alat ini adalah IDE Arduino versi 1.8.13 software ini
digunakan untuk menulis program dan mengupload ke Arduino
Mega Board.

#include <SPFD5408_Adafruit_GFX.h>
#include <SPFD5408_Adafruit_TFTLCD.h>
#include <SPFD5408_TouchScreen.h>
#include <Servo.h>
Servo servo1;

#if defined(__SAM3X8E__)
#undef __FlashStringHelper::F(string_literal)
#define F(string_literal) string_literal
#endif
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
#define LCD_RESET A4

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);


#define BLACK 0x0000
#define RED 0xF800
#define GREEN 0x07E0
#define WHITE 0xFFFF
#define BLACKM 0x18E3

const int analogInPin15 = A15;


const int analogInPin14 = A14;
const int analogInPin13 = A13;
const int analogInPin12 = A12;
const int analogInPin11 = A11;
const int analogInPin10 = A10;
const int servo_sensor1 = A9;
int red1 = 22;
int green1 = 23;
int red2 = 24;
int green2 = 25;
int red3 = 26;
int green3 = 27;
int red4 = 28;
int green4 = 29;
int red5 = 30;
int green5 = 31;
int red6 = 32;
int green6 = 33;
const int servo_1 =34;
int value_1 =0;

Gambar 3-2 Program Arduino Deklarasi Awal


Bagian deklarasi awal digunakan untuk mendeskripsikan
variabel-variabel yang akan digunakan dalam program utama
dan juga untuk menambahkan file-file library program yang
dibutuhkan untuk menjalankan program utama.

void setup()
{
Serial.begin(9600);
tft.reset();
tft.begin(0x9341);
tft.setRotation(135);
tft.fillScreen(WHITE);
pinMode (analogInPin15,INPUT);
pinMode (analogInPin14,INPUT);
pinMode (analogInPin13,INPUT);
pinMode (analogInPin12,INPUT);
pinMode (analogInPin11,INPUT);
pinMode (analogInPin10,INPUT);
pinMode(servo_sensor1,INPUT);

servo1.attach(servo_1);
pinMode (red1, OUTPUT);
pinMode (green1,OUTPUT);
pinMode (red2, OUTPUT);
pinMode (green2,OUTPUT);
pinMode (red3, OUTPUT);
pinMode (green3,OUTPUT);
pinMode (red4, OUTPUT);
pinMode (green4,OUTPUT);
pinMode (red5, OUTPUT);
pinMode (green5,OUTPUT);
pinMode (red6, OUTPUT);
pinMode (green6,OUTPUT);

tft.setTextSize(2.35);
tft.setTextColor(BLACKM, WHITE);
tft.setCursor(40, 15);
tft.print("MONITOR LAHAN PARKIR");

tft.fillRect(15, 50, 90, 80, GREEN);


tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A1");

tft.fillRect(115, 50, 90, 80, GREEN);


tft.setCursor(140, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A2");

tft.fillRect(215, 50, 90, 80, GREEN);


tft.setCursor(240, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A3");
tft.fillRect(15, 140, 90, 80, GREEN);
tft.setCursor(45, 170);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B1");

tft.fillRect(115, 140, 90, 80, GREEN);


tft.setCursor(140, 170);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B2");

tft.fillRect(215, 140, 90, 80, GREEN);


tft.setCursor(240, 170);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B3");

Gambar 3-3 Program Arduino Inisiasi Variabel void setup()

Bagian setup digunakan untuk menginisiasi variabel, mengatur


mode pin pada board, mengatur timer, mengatur baudrate serial
port dan sebagainya. Bagian setup hanya dijalankan sekali saja
yaitu pada saat awal program dijalankan atau ketika program
direset. Biasanya isinya berupa kode perintah untuk menentukan
fungsi pada sebuah pin akan digunakan sebagai input atau output.

void loop() {
value_1 = analogRead(servo_sensor1);

if (analogRead(A9)<200) {
servo1.write(90);
delay(3000);
}

if (analogRead(A9)>200) {
servo1.write(0);
delay(60);
}

if (analogRead(A15)<200) {
digitalWrite(red1, HIGH);
digitalWrite(green1, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A1");
delay(100);
}
else if (analogRead(A15)>200) {
digitalWrite(red1, LOW);
digitalWrite(green1, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A1");
delay(100);
}

if (analogRead(A14)<200) {
digitalWrite(red2, HIGH);
digitalWrite(green2, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A2");
delay(100);
}
else if (analogRead(A14)>200){
digitalWrite(red2, LOW);
digitalWrite(green2, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A2");
delay(100);
}

if (analogRead(A13)<200){
digitalWrite(red3, HIGH);
digitalWrite(green3, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A3");
delay(100);
}
else if (analogRead(A13)>200){
digitalWrite(red3, LOW);
digitalWrite(green3, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("A3");
delay(100);
}

if (analogRead(A12)<200){
digitalWrite(red4, HIGH);
digitalWrite(green4, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B1");
delay(100);
}
else if (analogRead(A12)>200) {
digitalWrite(red4, LOW);
digitalWrite(green4, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B1");
delay(100);
}

if (analogRead(A11)<200){
digitalWrite(red5, HIGH);
digitalWrite(green5, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B2");
delay(100);
}
else if (analogRead(A11)>200) {
digitalWrite(red5, LOW);
digitalWrite(green5, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B2");
delay(100);
}

if (analogRead(A10)<200) {
digitalWrite(red6, HIGH);
digitalWrite(green6, LOW);
tft.fillRect(15, 50, 90, 80, RED);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B3");
delay(100);
}
else if (analogRead(A10)>200) {
digitalWrite(red6, LOW);
digitalWrite(green6, HIGH);
tft.fillRect(15, 50, 90, 80, GREEN);
tft.setCursor(45, 80);
tft.setTextSize(3);
tft.setTextColor(BLACKM);
tft.println("B3");
delay(100);
}

Gambar 3-4 Program Arduino Operator IF dan Else

Operator if mengetes sebuah kondisi apakah sudah terpenuhi


atau belum, apabila terpenuhi maka akan mengeksekusi baris
program yang ada dalam brackets kalau tidak terpenuhi maka
akan melewati baris program yang ada dalam brackets,
sedangkan Else adalah pernyataan yang berarti " jika tidak ", ini
adalah kebalikan dari pernyataan if. Else tidak dapat berdiri
sendiri, ia dapat digunakan setelah ada pernyataan if.
3.4 Pembuatan Prototype
Akan dijelaskan mengenai bentuk fisik dari prototype berikut dengan
tampilan saat menjalankan sistem monitoring ketersediaan lahan parkir, serta
menganalisis data hasil pengujian.

3.4.1 Bentuk Fisik Prototype

Gambar 3-5 Bentuk Fisik Prototype Bagian Depan

Gambar 3-6 Bentuk Fisik Prototype Bagian Atas


3.4.2 Tampilan Saat Prototype Dijalankan

Gambar 3-7 Tampilan Saat Lahan Parkir Penuh

Gambar 3-8 Tampilan Saat Lahan Parkir Kosong


3.4.2 Pengujian Prototype
Pengujian dilakukan terhadap Sensor Infrared sebagai input untuk
mengetahui lahan kosong atau terisi.

Tabel 3-7 Uji Baca IR Sensor Pada Tiap Slot Parkir

Lahan Parkir IR Sensor LED LCD TFT


Slot A1 Terbaca Terbaca Terbaca
Slot A2 Terbaca Terbaca Terbaca
Slot A3 Terbaca Terbaca Terbaca
Slot B1 Terbaca Terbaca Terbaca
Slot B2 Terbaca Terbaca Terbaca
Slot B3 Terbaca Terbaca Terbaca

Pengujian yang dilakukan pada IR sensor tehadap LCD TFT 2. Inci dan LED
menunjukan bahwa keberhasilan pembacaan sensor. Dari data hasil pengujian
di atas ditunjukkan semua komponen dapat bekerja dengan baik

Anda mungkin juga menyukai