• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN & PEMBUATAN ALAT

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN & PEMBUATAN ALAT"

Copied!
45
0
0

Teks penuh

(1)

BAB III

PERANCANGAN & PEMBUATAN ALAT

3.1. Perancangan Sistem Monitoring Simulasi Otomatisasi Mass Rapid Transit (MRT) dengan menggunakan tombol manual.

Dalam bab ini akan dibahas pembuatan dan perancangan MRT. Ada pun system pergerakan MRT ini dibuat dan dirancang dengan blok diagram.

3.1.1.Blok Diagram Rangkaian

Untuk merealisasikan pergerakan MRT, maka secara sistem keseluruhan rangkaian simulasi MRT berbasis arduino yang dikontrol oleh sebuah Arduino Leonardo seperti pada Gambar 3.1.

Gambar 3.1. Diagram Blok MRT Arduino Leonardo MRT Motor Driver/Motor Shield Berjalan Servo Tutup/Buka Pintu I2C LCD 16 x 2 Tampilan Xbee KontrolRemote Led Lampu Tombol KontrolManual

Kartu RFID & NFC Berhentidistasiun

MP3&Speaker Suara

(2)

Penjelasan Diagram Blok :

Terdapat servo, I2C LCD 16 x 2, motor driver, Xbee, led, speaker (sebagai output) yang diprogram oleh sebuah mikrokontroler yaitu Arduino Leonardo. Dan terdapat MP3, kartu RFID dan tombol (sebagai input) yang juga diprogram oleh mikrokontroler Arduino Leonardo. Untuk menjalankan MRT tersebut dengan menggunakan tombol, setelah Arduino Leonardo dihubungkan dengan baterai lipopolymer 7.4 Volt. Fungsi dari diagram blok di atas adalah :

1.Motor Driver :

Motor drivenr yang posisinya berada pada roda berfungsi untuk berjalan

2. LCD 16 x 2 I2C :

Sebagai tampilan dari tulisan 3. Servo :

Untuk menutup dan membuka pintu 4. MP3 player :

Player mampu memainkan suara yang ada pada kartu SD yang ada pada bagian bawah MP3 player

5. Speaker :

(3)

6. RFID :

Menyimpan nomor seri yang mengidentifikasi nama tempat pada microchip yang terpasang pada antena (chip dan antenna bersama-sama disebut transponder RFID atau tag RFID). Antena memungkinkan chip untuk mengirimkan informasi identifikasi untuk pembaca (NFC)

7. NFC :

NFC sebagai pembaca mengubah gelombang radio yang dipantulkan kembali dari tag RFID menjadi informasi digital yang kemudian diteruskan ke mikrokontroler yang akan melakukan proses selanjutanya.

8. Tombol berwarna kuning:

Sebagai kontrol manual dan memberikan input untuk Mikrokontroler 9. Lampu LED :

Warna led hijau sebagai indikator pintu terbuka dan warna led merah sebagai indikator pintu tertutup

10. Xbee :

Sebagai kontrol remote untuk melakukan komunikasi dengan Xbee yang mempunyai koneksi dengan komputer yang berfungsi sebagai kontrol pengganti fungsi tombol berwarna kuning

11. Arduino Leonardo :

Berfungsi sebagai system kontrol dari semua komponen yang ada : motor driver L298, LCD I2C, Servo, MP3 Player, Speaker, NFC, RFID, tombol berwarna kuning, lampu led hijau dan merah, Xbee.

(4)

3.1.2. Skema Diagram MRT

(5)

Gambar 3.3. Hubungan baterai dengan tombol on/off

Pada skema digambarkan : 1.Xbee :

Terhubung dengan kaki Rx dan Tx pada board Arduino Leonardo. Xbee ini akan menghubungkan komunikasi dari MRT dengan Xbee yang terhubung dengan komputer :

2. RFID/NFC :

Terhubung dengan kaki 10, 11, 12 dan 13 dari board Arduino Leonardo. Data yang ada pada RFID akan dibaca oleh NFC

3. Motor Drive ;

Tombol on /off

(6)

Terhubung dendarigan kaki 4, 5, 6 dan 7 dari board Arduino Leonardo.

4. Servo :

Terhubung dengan kaki 2 dan 3 dari board Arduino Leonardo. Servo berfungsi untuk membuka dan menutup pintu. Servo ditempelkan pada pintu MRT.

5. MP3 player :

Terhubung dengan kaki Rx 0 dan Tx 1. Dibagian bawah MP3 terdapat SD card untuk menyimpan suara. SD card dapat dicabut dan dihubungkan ke komputer untuk mendapatkan file suara/sound. Pengisian suara (rekaman) dapat dilakukan dengan menggunakan handphone android yang mempunyai program Hi-Q MP3.

6. Speaker :

Untuk memperbesar suara yang dihubungkan ke MP3 player. Sehingga memperbesar suara yang tersimpan di SD card.

7. LCD 16 x 2 I2C :

Terhubung dengan kaki A4 dan A5 pada board Arduino Leonardo. 8. Tombol kuning :

Terhubung dengan kaki A3 dari board Arduino Leonardo. 9. Lampu led hijau :

Terhubung dengan kaki A1 dari board Arduino Leonardo. 10. Lampu led merah :

(7)

11. Tombol on/off :

Terhubung dengan power supply baterai Lipoplymer 7,4 V 12. I/O Expansion Shield V7:

Tidak terlihat pada diagram karena merupakan shield yang dibutuhkan untuk soket Xbee. I/O expansion shield ini ditumpuk pada Arduino Leonardo.

13. MiniQ 2WD plus :

Tidak terlihat pada diagram. Mempunyai 2 roda yang dijalankan oleh motor driver L298. Sehingga MRT dapat berjalan

14. 2WD MiniQ (rangka) :

Tidak terlihat pada diagram. Berfungsi sebagai tempat untuk menumpuk board Arduino Leonardo.

13. Untuk melindungi komponen MRT :

Dibuat sederhana tampilan body MRT seperti kotak terbuat dari foamboard.

(8)

Gambar 3.4. Prototype MRT

14. Track MRT

Agar MRT melalui lintasan yang diharapkan maka dibuatkanlah track berbentuk elips yang terbuat dari kayu dengan ukuran : panjang 2,5 m x lebar 1 m. Dan pada bagian kiri dan kanannya diberi pembatas, sehingga membuat MRT berjalan sesuai lintasan pada track.

(9)

Gambar 3.5. Prototype Track MRT

15. Ring Tamiya :

Agar MRT pada saat berjalan pada track khususnya pada saat berbelok dapat berjalan dengan mulus, maka dibagian kiri dan kanan MRT baik di bagian depan dan bagian belakang diberi ring tamiya.

(10)

3.1.3. Flow Chart Ya Tidak Ya Tidak Ya Mulai LCD : Hello MRT Pintu Terbuka Hidupkan tombol on/off Tombol Kuning on

Lampu merah menyala “Pintu akan ditutup”

“Stasiun selanjutnya, stasiun B” Pintu Tertutup

MRT berjalan menuju stasiun B

MRT melalui RFID B

“Anda telah sampai di stasiun B” “Pintu akan dibuka”

Lampu hijau menyala Pintu terbuka

“Pintu akan ditutup” Lampu merah menyala

“Stasiun selanjutnya, stasiun C” MRT berjalan menuju stasiun B

(11)

Tidak Ya Tidak Ya Tidak Ya A B MRT melalui RFID C

“Anda telah sampai di stasiun C” “Pintu akan dibuka”

Lampu hijau menyala Pintu terbuka

“Pintu akan ditutup” Lampu merah menyala

“Stasiun selanjutnya, stasiun D” MRT melalui

RFID D

“Anda telah sampai di stasiun D” “Pintu akan dibuka”

Lampu hijau menyala Pintu terbuka

“Pintu akan ditutup” Lampu merah menyala

“Stasiun selanjutnya, stasiun E”

MRT melalui RFID E

“Anda telah sampai di stasiun E” “Pintu akan dibuka”

Lampu hijau menyala Pintu terbuka

“Pintu akan ditutuip” Lampu merah menyala

“Stasiun selanjutnya, stasiun E”

(12)

Tidak

Ya

Tidak

Ya

Gambar 3.6. Flow Chart MRT

B

MRT melalui RFID F

A “Anda telah sampai di stasiun F”

“Pintu akan dibuka” Lampu hijau menyala Pintu terbuka

“Pintu akan ditutup” Lampu merah menyala

“Stasiun selanjutnya, stasiun A”

MRT melalui RFID A

“Anda telah sampai di stasiun A” “Pintu akan dibuka

Lampu hijau menyala Pintu terbuka

“Pintu akan ditutup” Lampu merah menyala

Stasiun selanjutnya, stasiun B” Stop

(13)

3.1.4. Program Arduino : // Encoder

const byte encoder0pinA = A2;//A pin -> the interrupt pin 0 //const byte encoder0pinB = 2;//B pin -> the digital pin 2 byte encoder0PinALast;

int duration;//the number of the pulses boolean Direction;//the rotation direction int kecepatan = 0;

int counterJarak = 0;

// 05. Tambahan sensor line follower #define LFkiri A4 #define LFkanan A5 #define PUTIH 1 #define HITAM 0 // Data Kartu String listId[6] = {"D0 24 66 34", "F0 38 ED 34", "C0 39 ED 34", "00 3A ED 34", "50 1F 77 35", "40 3A 66 34"};

(14)

char stationName[6] = {'A','B','C','D','E','F'};

// Tombol

#define pushButton A3 #define ditekan LOW

// LED #define ledRed A0 #define ledGreen A1 // SERVO #include <Servo.h>

Servo myservo1; // create servo object to control a servo // a maximum of eight servo objects can be created //Servo myservo2; // create servo object to control a servo // a maximum of eight servo objects can be created

// LCD

#include <Wire.h>

(15)

LiquidCrystal_I2C lcd(0x20,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display

// MP3 player I2C

// librarynya sdh ada di lcd, pakai I2C, alamatnya yang beda

#define ArduinoPlayer_address 0x35 //ArduinoPlayer I2C address 0x35 (default)

void TwiSend(const char *cmd) //I2C Command {

char len = 0;

len = strlen(cmd); //Calculate the length of the command

Wire.beginTransmission(ArduinoPlayer_address); // ArduinoPlayer I2C address while(len--) { Wire.write(*(cmd++)); }

Wire.endTransmission(); // stop transmitting }

(16)

// NFC #include <SPI.h> #include <PN532_SPI.h> #include "PN532.h" #include <NfcAdapter.h> PN532_SPI pn532spi(SPI, 10); NfcAdapter nfc = NfcAdapter(pn532spi);

// Motor shield ini menggunakan pin 4,5,6,7 untuk mengontrol 2 motor // Sambungkan motor DC ke M1+, M1-, M2+, M2-

// Upload sketch ke Arduino

// Via serial monitor, ketikkan "a", "s", "d", "w", dan "x" // untuk mengontrol kedua motor

// Last Modified :

#define motorKiri_Dir 4 // arah putar (Motor 2 / Kiri)

#define motorKiri_Vel 5 // kontrol kecepatan (Motor 2 / Kiri) #define motorKanan_Vel 6 // kontrol kecepatan (Motor 1 / Kanan) #define motorKanan_Dir 7 // arah putar (Motor 1 / Kanan)

(17)

#define jalan true #define diam false

void motorKanan(int pwm, boolean reverse) {

analogWrite(motorKanan_Vel, map(pwm,0,100,0,255)); if (reverse) digitalWrite(motorKanan_Dir, HIGH); else digitalWrite(motorKanan_Dir, LOW);

}

void motorKiri(int pwm, boolean reverse) {

analogWrite(motorKiri_Vel, map(pwm,0,100,0,255)); if (reverse) digitalWrite(motorKiri_Dir, HIGH); else digitalWrite(motorKiri_Dir, LOW);

} int x,delay_en; char val; void setup() { Serial1.begin(9600); Serial.begin(9600);

(18)

// EncoderInit();//Initialize the module

// nanti ini harus dihilangkan // while (!Serial) {

// ; // }

lcd.init(); // initialize the lcd

pinMode(pushButton, INPUT); pinMode(ledRed, OUTPUT); pinMode(ledGreen, OUTPUT); pinMode(LFkiri, INPUT); pinMode(LFkanan, INPUT); Wire.begin(); delay(2000);

TwiSend("\\:v 255\r\n"); // set the volume, from 0 (minimum)-255 (maximum)

(19)

int i;

for(i=4;i<=7;i++) //set pin 4,5,6,7 to output mode pinMode(i, OUTPUT);

// Print a message to the LCD. lcd.backlight(); lcd.print("Hello, MRT"); nfc.begin(); myservo1.attach(9); myservo1.write(0); } // Local Variable long lastPlayed = 0; int durasiMP3 = 5000; boolean mp3Played = false; boolean awal = true;

boolean engineOn = false; int stationNum = 0; boolean ayoMaju = false;

(20)

void loop() { // cek data Xbee

if (Serial1.available()) { // baca datanya

char dataMasuk = Serial1.read(); if (dataMasuk == 'm') { ayoMaju = true; //engineOn = false; digitalWrite(ledRed, HIGH); digitalWrite(ledGreen, LOW); } else if (dataMasuk == 's') { stop(); ayoMaju = false; engineOn = false; digitalWrite(ledRed, LOW); digitalWrite(ledGreen, HIGH); } }

// (JIKA POSISI MAJU : optional. Lewat untuk testing) // Baca ID RFID

(21)

// Jika terdetek ID dalam list : // 1. maka berhenti

// 2. Bunyikan MP3 berhenti di stasiun // 3. Buka pintu

// 4. Lampu Merah OFF, Green ON // 5. Kirim sinyal ke Xbee

// Jalankan lagi MRT

// - Ketika pushbutton di tekan

// - ketika delay > durasiTunggu (setelah berhenti) // - Atau ada perintah dari Xbee

// 1. Bunyikan MP3 pintu ditutup // 2. Tutup Pintu

// 3. Lampu Merah ON, Green OFF

// Bunyikan MP3 (nantinya berdasar jarak saja)

if (mp3Played) {

if ((millis() - lastPlayed) > durasiMP3) { Serial.println("mp3 off");

TwiSend("\\:p\r\n"); mp3Played = false; }

(22)

if (engineOn) { //followLine();

if (nfc.tagPresent()) { NfcTag tag = nfc.read();

String idKey = tag.getUidString(); Serial.println(idKey);

boolean stationOK = false; // Cek di daftar

for (int i=0; i<6; i++) { if (idKey == listId[i]) {

Serial.print("Ini berhenti di stasiun ke-"); stationNum = i; Serial.println(i+1); stationOK = true; break; } } if (stationOK) { Serial.println("mp3 play");

(23)

TwiSend("\\:n\r\n"); // 3. Buka pintu lcd.clear(); lcd.setCursor(0,0); lcd.print(" MRT"); lcd.setCursor(0,1); lcd.print("Stop STATION : "); lcd.print(stationName[stationNum]);

// kirim via xbee

Serial1.print(stationName[stationNum]); delay(100);

// 1. maka berhenti

// jangan langsung berhenti, supaya kartunya tidak terbaca ketika nanti maju lagi

delay(500); stop();

//delay(5000); delay(durasiMP3);

(24)

Serial.println("mp3 stop"); TwiSend("\\:p\r\n"); delay(2500);

// 4. Lampu Merah OFF, Green ON Serial.println("Lampu : HIJAU"); digitalWrite(ledRed, LOW); digitalWrite(ledGreen, HIGH); lcd.clear(); lcd.setCursor(0,0); lcd.print(" MRT"); lcd.setCursor(0,1); lcd.print("Pintu Dibuka");

// 2. Bunyikan MP3 berhenti di stasiun Serial.println("mp3 play"); TwiSend("\\:n\r\n"); // 3. Buka pintu //delay(5000); delay(durasiMP3); Serial.println("mp3 stop");

(25)

TwiSend("\\:p\r\n"); delay(2500); // Tutup Pintu Serial.println("Pintu : OPEN"); bukaPintu();

// 5. Kirim sinyal ke Xbee

Serial.println("Nunggu 10 detik"); delay(10000); ayoMaju = true; engineOn = false; } } }

int tombol = digitalRead(pushButton); delay(50);

//Serial.println(tombol);

(26)

lcd.clear(); lcd.setCursor(0,0); lcd.print(" MRT"); lcd.setCursor(0,1); lcd.print("Pintu Ditutup"); // Lampu Merah Serial.println("Lampu : MERAH"); digitalWrite(ledRed, HIGH); digitalWrite(ledGreen, LOW);

// Bunyikan MP3 pintu akan ditutup Serial.println("mp3 play"); if (awal) { TwiSend("\\:s\r\n"); awal = false; } else TwiSend("\\:n\r\n"); // Delay //delay(5000); delay(durasiMP3);

(27)

Serial.println("mp3 stop"); TwiSend("\\:p\r\n"); delay(2500); // Tutup Pintu Serial.println("Pintu : CLOSED"); tutupPintu(); // Jalankan Motor maju(); //followLine(); engineOn = true; lcd.clear(); lcd.setCursor(0,0); lcd.print(" MRT"); lcd.setCursor(0,1); lcd.print("Next STATION : "); if (stationNum == 5) stationNum = -1; lcd.print(stationName[stationNum+1]);

// kirim via xbee

(28)

delay(100); Serial.println("mp3 play"); TwiSend("\\:n\r\n"); lastPlayed = millis(); mp3Played = true; ayoMaju = false; } //else tutupPintu(); //delay(300); } void stop() { motorKanan(0,false); motorKiri(0,false); }

// Ini sekarang bergantung dengan sensor // gak selalu dua-dua motornya maju

(29)

void followLine() {

// KIRI KANAN ACTION // Putih Putih LURUS

// Putih Hitam BELOK KANAN // Hitam Putih BELOK KIRI // Hitam Hitam --

byte sensorKiri = digitalRead(LFkiri); byte sensorKanan = digitalRead(LFkanan);

if ( (sensorKiri == PUTIH) && (sensorKanan == PUTIH) ) { maju();

}

else if ( (sensorKiri == PUTIH) && (sensorKanan == HITAM) ) { belokKanan();

}

else if ( (sensorKiri == HITAM) && (sensorKanan == PUTIH) ) { belokKiri();

} else { stop(); }

(30)

} void maju() { motorKanan(20,true); motorKiri(20,true); } void belokKanan() { motorKanan(0,true); motorKiri(20,true); } void belokKiri() { motorKanan(20,true); motorKiri(0,true); } void tutupPintu() {

for (int i=0; i<=90; i++) { myservo1.write(90); delay(30);

}

// myservo2.write(0); }

(31)

void bukaPintu() {

for (int i=90; i>=0; i--) { myservo1.write(0); delay(30); } // myservo2.write(90); } void cekJarak() {

int Lstate = digitalRead(encoder0pinA);

if ((encoder0PinALast == LOW) && Lstate == HIGH) { Serial.println("ini dia"); } encoder0PinALast = Lstate; counterJarak++; }

(32)

3.2. Perancangan Sistem Monitoring Simulasi Otomatisasi Mass Rapid Transit (MRT) dengan menggunakan PC dengan software Visual Basic dan Flash.

3.2.1. Mengapa Arduino

Pada penelitian ini digunakan Arduino Uno R3 sebagai mikroprosessor. Dipilihnya Arduino Uno R3 pun tak lepas dari beberapa pertimbangan, yaitu :

 Ringkas

Di dalam board Arduino Uno R3 sudah terdiri dari mikroprosessor utama ATMEGA8, mikroprosessor pengisi program ATMEGA8U2, USB-TTL converter, Interkoneksi yang mudah dengan Header, Pin Assignment yang mudah untuk Input, Output maupun Softserial, Voltage Regulator protector, Analog/Digital Converter, Pulse Width Modulation (PWM), hardware Serial yang terkoneksi dengan port USB dan tombol reset.

 Dukungan Shield Tambahan yang kompatibel.

Terdapat berbagai modul dan shield tambahan yang dapat digunakan untuk membangun suatu proyek dari berbagai vendor, misalnya digunakannya GPRS Shield V2.0 dari Seedstudio pada proyek ini. Selain itu pula terdapat shield-shield yang lain seperti Ethernet Shield, Wifi Shield, RF Shield, Relay Shield, L298 Motor Shield, MP3 player shield, Grove base shield, SD card shield, dan masih banyak lainnya.

(33)

Dukungan Software

Board Arduino didukung oleh software yang dikembangkan oleh Arduino sendiri, yaitu Sketch. Sketch ini dapat dijalankan dengan system operasi Linux, Windows maupun Machintos. Pada saat penelitian, software Arduino Sketch sudah sampai pada versi 1.5.8 (beta) dan dapat diperoleh secara gratis.

 Dukungan tutorial

Banyak sumber turorial yang dapat dijadikan referensi di internet. Sayang sekali untuk Indonesia belum banyak memiliki buku-buku yang berisi program-program Arduino.

 Terpercaya

(34)

3.2.2. Blok Diagram

Gambar 3.7. Blok Diagram Alat monitoring Simulasi MRT

Pada Blok diagram Gambar 3.7. diperlihatkan bahwa Visual Basic mengirim data ke Adobe Flash kemudian meneruskannya ke Arduino Uno Board dan menunggu komunikasi dari Xbee Shield yang tersambung ke Arduino Board melalui perantaraan Expansion Board. Setelah ada komunikasi antara Xbee Shield antara Xbee Shield yang ada pada modul coordinator dan Xbee Shield yang ada pada modul MRT (End Device), Visual Basic menerima data dari Arduino Leonardo tentang kondisi yang diinginkan dari modul MRT (End Device). Pada saat ini terjadi komunikasi dua arah antara modul MRT (End Device) dengan software Visual Basic sehingga Visual Basic dapat menampilkan data dan mengendalikan kondisi yang

diinginkan dari modul MRT (End Device).

Visual

Basic Adobe Flash Arduino Uno

IO Expansion Shield Xbee Shield Xbee Shield pada MRT modul Arduino Leonardo

(35)

3.2.3. Skema Rangkaian

(36)

Pada Gambar 3.8. Skema Rangkaian adalah skema koneksi untuk sistem ini. Dapat dijelaskan dengan pembagian sebagai berikut:

 Arduino Uno

Arduino Uno R3 ini adalah PCB yang dibeli dalam keadaan jadi. Pada Arduino Uno R3 ini terdapat Mikrokontroller yang mengendalikan proses monitoring dan kendali.

 PC

Personal Computer dapat berupa laptop ataupun desktop yang mempunyai program Visual Basic dan Flash Player. Port yang digunakan adalah port USB.

 Kabel USB

Kabel USB digunakan untuk menghubungkan PC dan perangkat coordinator.  IO Expansion Shield

IO Expansion Shield berfungsi menghubungkan Arduino Uno dengan Xbee Shield

 Xbee Shield

Xbee Shield sebagai sarana komunikasi WPAN antara PC dengan modul MRT (End Device).

(37)

3.2.4. Cara Kerja Sistem Monitoring MRT Mengaktifkan Alat Monitoring

Pertama kali kita menghidupkan PC kemudian kita mennyambungkan perangkat coordinator ke port USB. Setelah alat terpasang barulah kita mengaktifkan program Visual Basic. Setelah Program aktif lalu tekan F5 untuk menjalankan program. Apabila tampilan Flash muncul artinya program dalam keadaan stand by menunggu koneksi dari modul MRT (End Device).

Modul MRT (End Device) dihidupkan

Pada saat modul MRT (End Device) dihidupkan maka Xbee Shield pada perangkat coordinator akan terhubung dengan Xbee Shield yang ada pada modul MRT (End Device).

Modul MRT (End Device) berjalan

Selama modul MRT (End Device) berjalan komunikasi antar Xbee Shield terus berlangsung sehingga PC dapat mengetahui dimana lokasi MRT dan kecepatannya berdasarkan data yang dikirimkan melalui Xbee Shield yang ada pada modul MRT (End Device).

Tombol Tampilan PC Diaktifkan

Pada saat tombol pada tampilan PC diaktifkan maka Xbee Shield yang ada pada perangkat coordinator akan mengirim perintah ke Xbee Shield pada modul MRT (End Device) sehingga modul MRT (End Device) dikendalikan secara remote melalui PC.

(38)

3.2.5 .Flow Chart Program

(39)

3.2.6. Script

3.2.6.1.Skrip Arduino

Gambar 3.10 script Arduino MRT Control

(40)

SoftwareSerial Serial1(2,3); void setup() { Serial.begin(9600); Serial1.begin(9600); } void loop() { if (Serial.available()) { char msg = Serial.read(); Serial1.print(msg); delay(50); } if (Serial1.available()) { char msg = Serial1.read(); Serial.print(msg); delay(50); } }

(41)

3.2.6.2.Skrip Visual Basic

Gambar 3.11. Tampilan Visual Basic Private WithEvents ShockwaveFlash1 As ShockwaveFlash Private Sub Command1_Click()

MSComm1.PortOpen = False End

End Sub

Private Sub Form_Load() Form1.ScaleMode = 2

Set ShockwaveFlash1 =

Form1.Controls.Add("ShockwaveFlash.ShockwaveFlash", "ShockwaveFlash1")

ShockwaveFlash1.Movie = "C:\Users\Siang Widjaja\Desktop\Software TA\UPDATE MRT\MRT_VB.swf"

ShockwaveFlash1.AllowFullScreen = True ShockwaveFlash1.Visible = True

'ShockwaveFlash1.Left = 0 ShockwaveFlash1.Top = 0

(42)

ShockwaveFlash1.Width = 1024 ShockwaveFlash1.Height = 580 ShockwaveFlash1.Play MSComm1.RThreshold = 1 MSComm1.InputLen = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.CommPort = 2 MSComm1.PortOpen = True MSComm1.DTREnable = False End Sub

Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False

End Sub

Private Sub MSComm1_OnComm()

' If MSComm1.CommEvent = comEvReceive Then Label2.Caption = MSComm1.Input

Select Case (Label2.Caption) Case "0"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun A" Case "A"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun A" Case "1"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun B" Case "B"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun B" Case "2"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun C" Case "C"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun C" Case "3"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun D" Case "D"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun D" Case "4"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun E" Case "E"

(43)

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun E" Case "5"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun F" Case "F"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun F" Case "O" ShockwaveFlash1.SetVariable "speedMRT", "0" Case "S" ShockwaveFlash1.SetVariable "speedMRT", "100" Case "M" ShockwaveFlash1.SetVariable "speedMRT", "150" Case "H" ShockwaveFlash1.SetVariable "speedMRT", "200" End Select ' End If End Sub

Private Sub ShockwaveFlash1_FSCommand(ByVal command As String, ByVal args As String)

label1.Caption = args

If label1.Caption = "maju" Then MSComm1.Output = "m" Else

If label1.Caption = "stop" Then MSComm1.Output = "s" End If

End If End Sub

Private Sub Text1_Change() Label2.Caption = Text1.Text Select Case (Label2.Caption) Case "0"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun A" Case "A"

(44)

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun A" Case "1"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun B" Case "B"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun B" Case "2"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun C" Case "C"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun C" Case "3"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun D" Case "D"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun D" Case "4"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun E" Case "E"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun E" Case "5"

ShockwaveFlash1.SetVariable "statusMRT", "Menuju Stasiun F" Case "F"

ShockwaveFlash1.SetVariable "statusMRT", "Berhenti di Stasiun F" Case "O" ShockwaveFlash1.SetVariable "speedMRT", "0" Case "S" ShockwaveFlash1.SetVariable "speedMRT", "100" Case "M" ShockwaveFlash1.SetVariable "speedMRT", "150" Case "H" ShockwaveFlash1.SetVariable "speedMRT", "200" End Select End Sub

(45)

3.2.7.Tampilan Monitor

Gambar 3.12. Tampilan Monitor Dapat kita lihat disini tampilan yang ada di monitor. Fungsi monitor terdiri dari:

 Lokasi MRT  Status MRT  Kecepatan MRT

Fungsi dari kendali terdiri dari:  Maju

 Stop  Exit

Gambar

Gambar 3.1. Diagram Blok MRT  Arduino Leonardo            MRT  Motor Driver/Motor Shield       Berjalan        Servo          Tutup/Buka Pintu         I2C LCD 16 x 2 Tampilan Xbee Kontrol Remote  Led Lampu Tombol Kontrol Manual
Gambar 3.2 Skema Diagram MRT
Gambar 3.3. Hubungan baterai dengan tombol on/off
Gambar 3.4. Prototype MRT
+7

Referensi

Dokumen terkait

Penilaian pengunjung yang dihimpun dari pertanyaan terbuka maupun tertutup disimpulkan dengan diagram yang menyatakan bahwa Penilaian Pengunjung Lapangan Merdeka berdasarkan analisa

15.04 Sosialisasi Perizinan dan Promosi Investasi Tersosialisasinya Penanaman Modal dan Perizinan Terpadu baik PMA maupun PMDN

Berdasarkan permasalahan di atas, maka tujuan yang ingin dicapai dalam penelitian ini adalah untuk mengetahui bagaimanakah perencanaan Implementasi kurikulum 2013 pendidikan

Luas tanah yang belum bersertifikat sampai dengan tahun 2009 : .... Jumlah sertifikat yang diperoleh melalui non prona sampai dengan

SMES yang optimal dapat diterapkan pada sistem tenaga listrik multimesin Jawa Bali 500 kV untuk meredam overshoot frekuensi dan mempercepat settling time. Hal ini dapat dilihat

Format Usul Pembukaan Program Studi (yang berisi Instrumen Akreditasi Progam Studi) sebagai penambahan prodi pada PTS, beserta dokumen lain yang disusun oleh Badan

Individu yang memiliki efikasi diri tinggi menganggap kegagalan sebagai akibat dari kurangnya usaha yang keras, pengetahuan dan keterampilan. Individu yang memiliki efikasi

Peneliti akan menggunakan metode kualitatif karena metode tersebut dianggap relevan untuk menjelaskan secara terperinci mengenai kewajiban yang dimiliki oleh tim