BAB III PERANCANGAN ALAT DAN PROGRAM

dokumen-dokumen yang mirip
BAB III PERANCANGAN ALAT DAN PROGRAM

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB III PERANCANGAN. 3.1 Perancangan Hardware. Untuk merealisasikan alat pemancar fm digital berbasis Arduino Uno,

LAMPIRAN 1 LISTING PROGRAM SECARA KESELURUHAN PADA ARDUINO. #define dht_dpin A0 //no ; here. Set equal to channel sensor is on

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV PEMBAHASAN. 27

BAB 3 PERANCANGAN ALAT DAN PROGRAM

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III PERANCANGAN. Rectifier. Mobile Phone / Remote Computer. Team Viewer. Gambar 3.1 Blok Rangkaian Sistem

LAPORAN PRAKTIK MIKROPROSESSOR & INTERFACE

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB IV HASIL DAN UJI COBA

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA

BAB III PERANCANGAN SISTEM

PANDUAN PRAKTIKUM DASAR ARDUINO

Pemrograman serial port pada Arduino

Logika pemrograman sederhana

BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK

4.1.2 Implementasi Sistem Setelah melakukan analisis dan perancangan sistem yang telah dibahas, maka untuk tahap selanjutnya adalah implementasi siste

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN ALAT

BAB III PEMBUATAN SOFTWARE

BAB IV HASIL DAN UJI COBA

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

BAB IV PENGUJIAN DAN ANALISA ALAT

PRAKTIKUM 9 Penulisan dan Pembacaan ADC pada Mikrokontroler

BAB IV IMPLEMENTASI DAN PENGUJIAN. Proses instalasi aplikasi merupakan tahapan yang harus dilalui sebelum

Pengenalan Komunikasi Data pada Processing

DT-SENSE Application Note

BAB IV PENGUJIAN DAN ANALISA SISTEM

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. pengujian perangkat lunak (software) dan kinerja keseluruhan sistem, serta analisa

BAB IV PENGUJIAN ALAT DAN ANALISA

BAB III PERANCANGAN ALAT

Modul Praktikum Ke-1

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Pada bab III ini menjelaskan mengenai konsep perancangan alat Monitoring Arus dan

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA RANGKAIAN

LAPORAN PRAKTIKUM TEKNIK KENDALI DIGITAL PERCOBAAN 1 PERANGKAT MASUKKAN DAN KELUARAN ARDUINO UNO. DOSEN : DR. Satria Gunawan Zain, M.

1. MENGENAL VISUAL BASIC

BAB III METODOLOGI PENELITIAN. Adapun untuk gambar dan penjelasan dari blok diagram dari alat dapat dilihat pada. Modul sensor.

BAB III PERANCANGAN ALAT

BAB IV HASIL DAN UJI COBA

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. transmisi data dari Arduino ke Raspberry Pi 2 dan Arduino ke PC pembanding.

ARDUINO LCD. Bentuk LCD

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA SISTEM

PENGENALAN ARDUINO. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

BAB IV HASIL DAN UJI COBA. dibuat. Program pengujian disimulasikan di suatu sistem yang sesuai. Pengujian ini dilaksanakan

BAB IV HASIL DAN UJI COBA

Menuntun Anda membuat sketch HelloWorld. Menjelaskan diagram alir pemrograman HelloWorld. Menjelaskan cara memprogram Arduino

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERANCANGAN ALAT DAN PROGRAM

PANDUAN PRAKTIKUM DASAR ARDUINO

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB IV HASIL PENGUJIAN DAN PENGAMATAN. pengujian perangkat lunak (software) dan kinerja keseluruhan sistem, serta analisa

BAB IV PENGUJIAN. Gambar 4.1 Rangkaian Pengujian Arduino Uno.

BAB II LANDASAN TEORI

BAB 3 PERANCANGAN ALAT

BAB 3 PERANCANGAN ALAT. Gambar 3.1 diagram blok rangkaian

BAB IV HASIL DAN UJI COBA

PANDUAN PRAKTIKUM DASAR ARDUINO

Bab I Pengenalan Visual BASIC

DHT11 Temperature and Humidity Sensor Board Gambar 1 Blok Diagram AN196. 5V (Power) GND (Power)

DAFTAR PUSTAKA. Suhat.ST.2005.VB Sebagai Pusat Kendali Peralatan Elektronik. Penerbit PT. Elex Media Komputindo Kelompok Gramedia. Jakarta.

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

BAB III ANALISIS DAN PERANCANGAN

What is it? 3 x 4 Keypad 4 x 4 Keypad

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. patok, serta pemasangan sensor ultrasonik HC-SR04 yang akan ditempatkan pada

BAB IV PERANCANGAN ALAT

BAB III ANALISIS DAN PERANCANGAN

BAB III PERANCANGAN ALAT

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

BAB III PERANCANGAN. Microcontroller Arduino Uno. Power Supply. Gambar 3.1 Blok Rangkaian Lampu LED Otomatis

PROJECT LED SINYAL MORSE SOS

PANDUAN PRAKTIKUM DASAR ARDUINO

MENGOPERASIKAN SISTEM OPERASI

4.2 Persiapan Perangkat Keras dan Perangkat Lunak

MODUL I Pengenalan IDE Visual Basic 6.0

BAB I Pengenalan Microsoft Visual Basic 6.0

BAB III PERANCANGAN ALAT SIMULASI

BAB III PERANCANGAN ALAT. menjadi acuan dalam proses pembuatannya, sehingga kesalahan yang mungkin

Analog to Digital Convertion Menggunakan Arduino Uno Minsys

BAB IV HASIL DAN UJI COBA

Transkripsi:

BAB III PERANCANGAN ALAT DAN PROGRAM 3.1 Blok Diagram Rangkaian Untuk merealisasikan alat pengukur suhu ruangan berbasis Arduino Uno dengan ditampilkan pada windows Visual Basic 6.0 ini, maka langkah yang pertama kali dilakukan adalah dengan membuat blok diagram alat seperti pada Gambar 3.1 Windows Sensor Suhu LM35 Arduino Uno Visual Basic 6.0 LCD Gambar 3.1 Diagram Blok Rangkaian Kontrol Suhu 44

3.2 Realisasi Rangkaian Langkah berikutnya adalah merealisasikan rangkaian setiap blok, Rangkaian rangkaian yang akan dibuat yaitu : - Rangkaian Sensor dengan Arduino Uno - Aplikasi Program Arduino IDE (Integrated Development Enviroment) - Aplikasi Program Visual Basic 6.0 - LCD 3.2.1 Rangkaian Sensor LM35 Sensor suhu LM35 berfungsi sebagai masukan pada system rangkaian Arduino Uno, Pin V + dari LM35 dihubungkan ke catu daya pada pin power 5 volt yang terdapat pada Arduino Uno, pin GND dihubungkan ke pin GND power Arduino Uno dan pin Vout yang menghasilkan tegangan analog hasil pengindera suhu dihubungkan ke pin AO Analog In pada Arduino Uno. Gambar 3.2 Fisik sensor suhu LM35 45

LM35 adalah sensor suhu dari National Semiconductor yang mempunyai akurasi tinggi. Outputnya berupa tegangan analog dan memiliki jangkauan pengukuran -55C hingga +150C dengan akurasi ±0.5 - o C. Tegangan output adalah 10mV/ O C. Output dapat langsung dihubungkan port mikrokontroler yang memiliki ADC ( analog input ) sebanyak 6 buah. Analog input pada Arduino memiliki resolusi 10-bit, yang dapat memberikan keluaran 2^10 = 1024 nilai diskrit. Bila digunakan catu 5V, resolusi yang dihasilkan adalah 5000mV/1024 = 4.8mV. Karena LM35 memiliki resolusi output 10Mv/ o C, maka resolusi termometer yang dibuat dengan Arduino adalah 10Mv/4.8Mv~0.5 0 C. Dalam pembuatan rangkaian sensor suhu sederhana dengan Arduino dan LM35. Langkah yang kita lakukan buatlah rangkaian seperti pada gambar 3.3. Gambar 3.3 Menghubungkan LM35 dengan Arduino Uno 46

3.2.2 Aplikasi Program Arduino IDE (Integrated Development Enviroment) Setelah proses rangkaian selesai dibuat langkah selanjutnya adalah membuat program pada aplikasi Program Arduino IDE (Integrated Development Enviroment). Buka program aplikasi Arduino IDE kemudian bentuk tampilan kerja aplikasi Arduino IDE Sketch terlihat seperti gambar 3.4. Gambar 3.4. Program Arduino IDE ( Integrated Development Enviroment ) 47

3.2.2.1 Bahasa Program Arduino IDE yang digunakan Float Float-point numbers sering digunakan untuk memperkirakan nilai analog dan berkelanjutan karena nilai tersebut memiliki resolusi yang lebih besar daripada integers. Floating point numbers dapat sebesar 3.4028235E + 38 dan dapat serendah 3,4028235E + 38. Angka tersebut disimpan sebanyak 32 bits (4bytes) dari informasi. Float hanya memiliki 6-7 digit decimal. Pada Arduino, double sama nilainya dengan Float. Examples float myfloat; float sensorcalbrate = 1.117; Syntax float var = val; var - your float variable name val - the value you assign to that variable Example Code int x; int y; float z; 48

x = 1; y = x / 2; // y now contains 0, ints can't hold fractions z = (float)x / 2.0; // z now contains.5 (you have to use 2.0, not 2) Int Integers adalah data type dasar untuk menyimpan angka dengan nilai 2 byte. Integers menyimpan angka angka negative dengan teknik yang disebut 2s complement Math. Arduino dapat menjaga dan mengatur angka angka negative, jadi operasi aritmatika dapat bekerja secara transparansi. Example int ledpin = 13; Syntax int var = val; var - your int variable name val - the value you assign to that variable 49

Coding Tip Ketika variabel yang dibuat untuk melebihi kapasitas maksimum mereka, mereka "roll over" kembali ke capacitiy minimum, perhatikan bahwa ini terjadi di kedua arah. int x x = -32,768; x = x - 1; // x now contains 32,767 - rolls over in neg. direction x = 32,767; x = x + 1; // x now contains -32,768 - rolls over Void (Setup) Fungsi Setup muncul ketika memulai lembar kerja/sketch. Kita dapat menggunakannya untuk mengartikan variables, pin modes, Start, using libraries, dan lain-lain. Fungsi Setup ini hanya akan bekerja sekali, setelah power up or reset pada Arduino. Example: // actions are performed in the functions "setup" and "loop" // but no information is reported to the larger program 50

void setup() { //... } void loop() { //... } Serial begin() Untuk komunikasi dengan komputer, digunakan satu dari angka berikut ini : 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 atau 115200. Kita juga dapat menggunakan angka spesifikasi yang lain, contohnya untuk berkomunikasi melewati pin 0 dan pin 1 dapat digunakan particular boud rate yang memenuhi syarat. Syntax Serial.begin(speed) Arduino Mega only: Serial1.begin(speed) Serial2.begin(speed) Serial3.begin(speed) 51

Example: void setup() { Serial.begin(9600); // opens serial port, sets data rate to 9600 bps } void loop() {} Arduino Mega example: // Arduino Mega using all four of its Serial ports // (Serial, Serial1, Serial2, Serial3), // with different baud rates: void setup(){ Serial.begin(9600); Serial1.begin(38400); Serial2.begin(19200); Serial3.begin(4800); Serial.println("Hello Computer"); Serial1.println("Hello Serial 1"); Serial2.println("Hello Serial 2"); Serial3.println("Hello Serial 3"); } void loop() {} 52

loop() Setelah mengaplikasikan fungsi Setup yang dapat menganalisa dan mengatur Values/nilai, fungsi Loop dapat merubah dan merespon program yang kita buat. Kita dapat menggunakan untuk mengaktifkan control pada papan Arduino. Example int buttonpin = 3; // setup initializes serial and the button pin void setup() { beginserial(9600); pinmode(buttonpin, INPUT); } // loop checks the button pin each time, // and will send serial if it is pressed void loop() { if (digitalread(buttonpin) == HIGH) serialwrite('h'); else serialwrite('l'); } delay(1000); 53

AnalogRead() Papan Arduino memiliki 6 chanel, 10 bit analog ke digital, artinya kita dapat memasukkan tegangan antara 0 dan 5 volts pada nilai integer antara 0 dan 1023. Kisaran input/masukan dan resolusi dapat dirubah menggunakan analog reference. Untuk membaca analog input, dibutuhkan sekitar 100 microsecond (0.0001 s). Jadi rata rata membaca maksimumnya sekitar 10.000 kali dalam satu detik. Catatan : Jika pin analog input tidak dapat berkoneksi pada apapun, nilainya akan kembali dengan analogread. Syntax analogread(pin) Example int analogpin = 3; // potentiometer wiper (middle terminal) connected to analog pin 3 and +5V // outside leads to ground int val = 0; // variable to store the value read void setup() { Serial.begin(9600); // setup serial 54

} void loop() { val = analogread(analogpin); // read the input pin Serial.println(val); // debug value } Print() Angka angka akan dicetak menggunakan karakter ASCII pada setiap digit. Floats juga tercetak dengan digit ASCII kedua angka decimal. Bytes akan terkirim sebagai karakter tunggal. Serial.print(78) gives 78 Serial.print(1.23456) gives 1.23 Serial.print(byte(78)) gives N (whose ASCII value is 78) Serial.print( N ) gives N Serial.print( Hello world. ) gives Hello world. Opsi kedua parameter dispeksifikasi menggunakan BYTE, BIN, OCT, DEC, HEX. Serial.print (78, BYTE) gives N Serial.print (78, BIN ) gives 1001110 55

Serial.print (78, OCT) gives 116 Serial.print (78, DEC) gives 4E Serial.print (78, HEX) gives 4E Serial.println(1.23456,0) gives 1 Serial.println(1.23456,2) gives 1.23 Serial.println(1.23456,4) gives 1.2346 Syntax Serial.print(val) Serial.print(val, format) Example: /* Uses a FOR loop for data and prints a number in various formats. */ int x = 0; // variable void setup() { Serial.begin(9600); // open the serial port at 9600 bps: } void loop() { 56

// print labels Serial.print("NO FORMAT"); // prints a label Serial.print("\t"); // prints a tab Serial.print("DEC"); Serial.print("\t"); Serial.print("HEX"); Serial.print("\t"); Serial.print("OCT"); Serial.print("\t"); Serial.print("BIN"); Serial.print("\t"); for(x=0; x< 64; x++){ // only part of the ASCII chart, change to suit // print it out in many formats: Serial.print(x); // print as an ASCII-encoded decimal - same as "DEC" Serial.print("\t"); // prints a tab 57

Serial.print(x, DEC); // print as an ASCII-encoded decimal Serial.print("\t"); // prints a tab Serial.print(x, HEX); // print as an ASCII-encoded hexadecimal Serial.print("\t"); // prints a tab Serial.print(x, OCT); // print as an ASCII-encoded octal Serial.print("\t"); // prints a tab Serial.println(x, BIN); // print as an ASCII-encoded binary // then adds the carriage return with "println" delay(200); // delay 200 milliseconds } Serial.println(""); // prints another carriage return } delay() Hentikan program sementara untuk mengukur waktu (dalam milliseconds) yang terspesifikasi pada parameter (ada 1000 milliseconds dalam setiap detik). Pada saat mudahnya membuat LED berkedip dengan fungsi Delay, beberapa Sketch/lembar kerja 58

mengalami Delay. Membaca sensor, penghitungan matematika, atau memanipulasi pin dapat berkerja pada saat fungsi Delay berkerja. Beberapa program berbasis sepengetahuan biasanya menghindari menggunakan fungsi Delay untuk kegiatan yang membutuhkan waktu lebih dari 10 milliseconds. Syntax delay(ms) Example int ledpin = 13; // LED connected to digital pin 13 void setup() { pinmode(ledpin, OUTPUT); // sets the digital pin as output } void loop() { digitalwrite(ledpin, HIGH); delay(1000); // sets the LED on // waits for a second digitalwrite(ledpin, LOW); // sets the LED off 59

delay(1000); // waits for a second } Selanjutnya hubungkan Arduino Uno ke komputer dengan menggunakan kabel USB ( Universal Serial Bus ). Lalu kita dapat mengetikan program pada lembar kerja Sketch dan compile untuk mengecek atau memeriksa apakah kode sudah benar sebelum di kirim kepapan Arduino, program tersebut dapat diketik seperti dibawah ini : // Program LCD Achmad Makki 41406010014 // Gunakan library LCD #include "LiquidCrystal.h"; // Inisialisasi LCD dan menentukan pin yang dipakai LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // deklarasi variabel float tempc; float tempf; float tempr; int temppin = 0; void setup() { pinmode(12,output); 60

// Serial.begin(9600); // Set jumlah kolom dan baris LCD lcd.begin(16, 2); // Tulis Temperatur di LCD lcd.print("temperatur:c,f,r"); // buka serial port, set baud rate 9600 bps Serial.begin(9600); } void loop() { // Set cursor ke kolom 0 dan baris 1 // Catatan: Baris dan kolom diawali dengan 0 lcd.setcursor(0, 1); // baca data dari sensor tempc = analogread(temppin); // konversi analog ke suhu tempc = (5.0 * tempc * 100.0)/1024.0; tempf = ((tempc*9)/5) + 32; tempr = ((tempc*5)/4); // tampilkan ke LCD lcd.print(tempc); lcd.print(tempf); lcd.print(tempr); // kirim data via serial berupa nilai biner Serial.print((int)tempC,BYTE); 61

Serial.print((int)tempF,BYTE); Serial.print((int)tempR,BYTE); // Serial.println(tempC); if(tempc>=50) //jika temperatur >=50 derajat digitalwrite(13,high); else digitalwrite(13,low); delay(5000); // berhenti 5 detik untuk menunggu perubahan temperatur } Keterangan : tempc = (5.0 * tempc * 100.0)/1024.0; 1024 didapat dari 2 10, yang berarti LM35 mengirimkan 10 bit data analog ke arduino untuk dikalibrasikan 62

3.2.3. Aplikasi Program Visual Basic 6.0 Salah satu kemudahan yang ada pada arduino adalah fungsi komunikasi serial yang sudah dikemas pada software Arduino. Dengan adanya fungsi serial, maka Arduino dapat berkomunikasi dua arah dengan PC atau laptop menggunakan program yang dibuat menggunakan Delphi, Visual C atau Visual Basic. Hasil pengukuran yang didapat tentunya dapat kita tampilkan pada program Visual Basic 6.0 namun dengan itu kita haru membuat program pada Visual Basic 6.0 dengan objek objek yang digunakan antara lain yaitu : 1 Form 3 Label 1 Mscomm ( diperoleh dari Project / Components / Controls / Microsoft Comm Control 6 ) 3.2.3.1 Komponen Program Dalam membuat suatu proyek (Project) tentu tidak lepas dari pemakaian komponen komponen program. Selain berbentuk tampilan pada form, bebera[a komponen program bisa terdiri dari kode kode program. Komponen program yang ditempatkan pada form biasanya berbentuk file (.Frm), sedangkan komponen program yang berisi kode kode program bisa terdiri dari file (.Bas;>Cls, dan lain lain ) baik yang dibuat lewat Module, Class Module, User Control, Property Page, dan masih banyak lainnya. 63

3.2.3.2 Kode Program Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objyek dijalankan. Kode kode program ini akan mengontrol dan menentukan jalannya suatu obyek. Perhatikan contoh potongan kode program berikut ini : Private Sub Form_Load() Set DBS = OpenDatabase (App.Path & \GL97.MDB ) Set RST = DBS.OpenRecordset(_ Account.dbopenDynase ) Cbo_status.AddItem Debet Cbo_ status.additem Kredit End Sub Sub ISI_OFF () For A = 0 to 2 TXT_ISI (A).Enabled = False Next Cbo_statsus. Enabled = False CMD_OK.Enabled = False CMB_CANCEL.Enabled = False End Sub 64

3.2.3.3 Event Event adalah peristiwa atau kejadian yang diterima oleh suatu obyek, misalnya click, dblclick, keypress, dan sebagainya. Sebuah program yang baik harus mampuh mengakomodasi seluruh kemampuan event yang akan dilakukan oleh pemakainya. Tetapi tentu saja untuk menyediakan puluhan kemungkinan event pada sebuah program tidaklah mudah. Berikut ini beberapa event yang sering digunakan oleh pemakai program yaitu : Event untuk mouse - Click Event ini terjadi bila tombol kiri mouse ditekan dan dilepas dengan cepat saat posisi pointer berada diatas obyek. - DblClick Event ini terjadi bila tombol kiri mouse ditekan dan dilepas dengan cepat sebanyak dua kali saat posisi pointer berada diatas obyek. - DragDrop Event ini terjadi bila tombol kiri mouse ditekan dan ditahan kemudian menyeret / menggeser obyek dari suatu tempat ke tempat lain, kemudian melepas tombol kiri mouse tersebut. 65

- DragOver Hampir sama dengan DragDrop tetapi DragOver ini biasanya digunakan untuk mengubah bentuk tampilan pointer mouse saat obyek diseret. - MouseDown Event ini terjadi tombol kiri mouse ditekan dan ditahan. - MouseUp Event ini terjadi bila tombol kiri mouse dilepas sehabis ditekan. - MouseMove Event ini terjadi bila mouse dipindah posisinya ketempat lain tanpa menekan tombol mouse tersebut. Event untuk Keyboard - KeyPress Event nilai terjadi bila sebuah tombol keyboard ditekan. Nilai parameter dari KeyPress adalah kode ASCII untuk menyatakan jenis tombol keyboard yang ditekan. - KeyDown Event ini terjadi bila kita menekan dan menahan sebuah tombol keyboard. - KeyUp Event ini terjadi bila kita melepaskan sebuah tombol keyboard. 66

Event untuk Perubahan - Active Event ini terjadi bila sebuah form menjadi window yang aktif. - Deactive Event ini terjadi ketika kita berpindah dari suatu form ke form yang lain. - GotFocus Event ini terjadi bila sebuah obyek menjadi satu satunya focus. Sebuah form dapat membuat obyek focus bila form tersebut menjadi windows aktif - LostFocus Event ini terjadi bila sebuah obyek kehilangan focus karena ada obyek lain yang mendapat focus - Load Event ini terjadi bila sebuah form dibuka atau dipanggil. - Unload Event ini terjadi bila sebuah form ditutup - Initialize Event ini terjadi bila semua referensi untuk form atau class dihapus dari memori computer. Pada obyek form, event ini terjadi setelah event Unload. - Paint 67

Event ini terjadi bila sebuah form perlu digambar ulang. Biasanya dilakukan saat sebuah form dipindahkan dari form lain yang menutupinya. - Resize Event ini terjadi bila sebuah form diubah ukurannya - Change Event ini terjadi bila isi sebuah control diubah - QueryUnload Event ini terjadi apabila suatu aplikasi ditutup. Biasanya digunakan untuk memastikan bahwa semua yang berhubungan dengan aplikasi juga telah ditutup, atau memastikan bahwa data telah disimpan sebelum aplikasi ditutup. Event event lainnya - Timer Event ini terjadi ketika event lain dijalankan sebelum event timer ini. Event ini hanya berhubungan dengan control timer. - Scroll Event ini terjadi saat kita menyeret kotak kecil pada scroll bar. Event ini hanya berhubungan dengan control scroll bar. - PathChange 68

Event ini terjadi saat standar path untuk mencari suatu file diubah. Event ini hanya ada pada control File list box. - PatternChange Event ini terjadi apabila kode pencarian daftar file diubah, misalnya *.* diubah menjadi *.jpg. - Validate Event ini hanya digunakan untuk memastikan data telah ditangani dengan baik. - SelChange Event ini terjadi saat control Grid sedang digunakan. 3.2.3.4 Metode Metode ( Method ) adalah suatu set perintah seperti halnya fungsi dan prosedur, tetapi sudah tersedia didalam suatu obyek. Metode biasanya akan mengerjakan suatu tugas khusus pada suatu obyek. Metode biasanya akan mengerjakan suatu tugas khusus pada suatu obyek. Contoh : Private Sub Form Active ( ) Print Belajar Visual Basic 6.0 End Sub 69

3.2.3.5 Module Module dapat disejajarkan dengan form, tetapi tidak terdapat obyek. Module hanya bersisi kode kode program atau prosedur yang dapat digunakan dalam program aplikasi. Contoh potongan program dalam modul : Sub OpenQuery (rname As String, btemp As Boolean) On Error Goto OpenQueryErr Dim stmp As String Dim rstmp As Recordset Dim qdftmp As QueryDef Dim squerytype As String Dim frmtmp As Form Dim ndoit As Integer Dim breturnsrows As Boolean........ End Sub 70

3.2.4 Memasang Kontrol pada Form Suatu program aplikasi yang dibuat oleh Visual Basic 6.0 bisa katakana tidak pernah lepas dari pemakaian control pada form. Sebenarnya control Visual Basic 6.0 tidak hanya yang ada pada toolbox saja masih banyak lagi yang tersimpan sebagai komponen tambahan. Sekarang kita dapat memulai mendisain form dengan mengikuti langkah langkah berikut : 1. Lakukan dobel klik control Label yang ada di toolbox dan bentuk label dengan ukuran standar langsung berada di form aktif ( Form 1 ). Cara lain untuk memasukan control Label pada form adalah dengan melakukan klik tunggal pada control tersebut dan lakukan Drag pada form sampai luasnya sesuai dengan keinginan serta lepas tombol mousenya bila telah sesuai. Gambar 3.5 Menempatkan control Label pada Form 71

2. Buat tiga buah control label, untuk itu kita bisa melakukan seerti pada langkah 1 atau mengkopy control Label yang sudah dibuat. Jika ingin menggandakan control label dengan perintah copy, pastikan control label tersebut sudah di klik sehingga muncul garis garis pembatas di sekeliling control / obyek. Klik toolbar Copy atau tekan secara bersama sama tombol Ctrl dengan tombol C ( Control + C ). Selanjutnya klik tombol Paste atau tekan secara bersama sama tombol paste atau tekan secara bersama sama tombol Ctrl dengan tombol V ( Ctrl +V ). Visual Basic 6.0 akan menampilkan pesan Apakah ingin dibuat control Array?. Untuk sementara tidak perlu dibuat control array yaitu dengan melakukan klik tombol No. Gambar 3.6 Hasil proses copy control Label 72

3. Lakukan dobel klik control Mscomm ( diperoleh dari Project/ Components/ Controls/ Microsoft Comm Control 6 yang ada toolbox dan bentuk Mscomm dengan ukuran standar langsung berada di form aktif ( Form 1 ). Gambar 3.7 Menempatkan control Mscomm pada Form 4. Dari tiga control Label yang ada pada Form posisinya tidak teratur dan ukurannya masih setandar. Untuk itu kita bisa merapihkan dengan dengan cara mendrag / menggeser Label sesuai dengan posisi yang kita inginkan dan untuk memperbesar ukuran label kita dapat klik label lalu drag titik kotak warna biru sebesar yang kita inginkan. Pengaturan Label dapat kita olah sesuai yang kita inginkan ada pada Propertis. Pada Label 1 kita dapat mengganti Captionnya menjadi Suhu ruang saat ini 73

5. Ketika program pada masing control seperti dibawah ini : Private Sub Form_Load() With MSComm1 'non aktifkan dulu serial port If.PortOpen Then.PortOpen = False 'set serial port yang ingin digunakan.commport = 1 'set baud rate,parity,databits,stopbits.settings = "9600,N,8,1" 'set DTR and RTS.DTREnable = True.RTSEnable = True 'aktifkan event oncomm event.rthreshold = 1 'non aktifkan event oncomm.sthreshold = 0 'aktifkan serial port.portopen = True End With 'MSComm1 'tampilkan tanda derajat Label2.Caption = Chr(176) + "C" + "," + Chr(176) + "R" + "," + Chr(176) + "F" End Sub Private Sub MSComm1_OnComm() 74

Dim strinput As String With MSComm1 'test event data masuk Select Case.CommEvent Case comevreceive 'tampilkan data dari Arduino strinput =.Input Label1.Caption = Asc(Mid(strInput, 1, 1)) End Select End With 'MSComm1 End Sub 75

Setelah kode program dibuat sambungkan Arduino uno pada komputer dengan menggunakan kabel Usb ( Universal Serial Bus ), perlu kita perhatikan jangan sampai lupa menyesuaikan nomor port yang dipakai Arduino pada tugas ini menggunakan port 1, lalu kita dapat menjalankan program ini dengan klik menu Run lalu Start bila tidak terjadi kegagalan akan terlihat seperti Gambar 3.8. bila kita ingin menjalankan program ini, kita tidak bisa bersamaan meng upload Program Arduino IDE karena masing masing menggunakan port yang sama Gambar 3.8 Hasil akhir program suhu dapat ditampilkan 76

3.2.4.1 Membuat File Exe Program yang telah dibuat biasanya harus dijalankan dengan cara membuka sistem Visual Basic terlebih dahulu, hal ini memerlukan banyak waktu dan tenaga. Untuk melakukan efisiensi maka sebaiknya dibuat sebuah file EXE dari program yang telah lengkap tersebut, tujuannya adalah agar pada saat kita menjalankan program yang sudah kita buat, kita tidak perlu menjalankan program Visual Basic. Untuk membuat kompilasi program lakukan langkah langkah seperti di bawah ini : 1. Buka program yang akan dikompilasi (misalnya Kontrol Suhu ) 2. Klik menu File, pilih Make Kontrol Suhu.exe 3. Tulis ma,a file EXE ( misalnya Kontrol Suhu ) 4. Tentukan posisi penyimpanan file tersebut ( misalnya pada direktori D:\Project TA ) 5. Kemudian pilih OK Gambar 3.9 Membuka program yang akan di kompilasi kedalam file exe 77

Setelah terbentuk file EXE dengan langkah langkah di atas, maka sebaiknya kita pun membuat shortcut nya di desktop dengan tujuan agar pada saat program tersebut dijalankan kita cukup dengan melakukan double Click pada shortcut tersebut tanpa harus membuka sistem Visual Basic. Untuk membuat shortcut di desktop lakukan langkah langkah di bawah ini : 1. Tampilkan Desktop 2. Klik kanan mouse 3. Pilih New 4. Pilih Shortcut 5. Klik Browse 6. Pilih Direktori D:\ Project TA 7. Klik Open 8. Pilih file Kontrol Suhu 9. Klik Open, maka muncul menu seperti gambar berikut 10. Klik Next 11. Jika perlu, ubahlah dengan nama shortcut yang baru 12. Klik Finish Gambar 3.10 Shortcut pada desktop 78

Dengan cara ini maka akan terbentuk sebuah shortcut baru di desktop, jika kita melakukan Double Click pada shortcut tersebut maka akan tampil program aplikasi control suhu yang telah dikompilasikan dengan nama Kontrol Suhu. 3.2.5. Perancangan LCD ke Board Arduino UNO Sketsa ini contoh menunjukkan bagaimana menggunakan Display () dan nodisplay () metode untuk menghidupkan dan mematikan layar. Teks yang akan ditampilkan akan tetap dipertahankan bila Anda menggunakan nodisplay () jadi cara cepat untuk menampilkan kosong tanpa kehilangan segala sesuatu di atasnya. Diperlukan hardware : Arduino Board Project Board Layar LCD ( 16x2 ) Sensor suhu LM35 papan tempat memotong roti ( Arcriliyc ) hook-up kawat 79

Dan Untuk Skema Pemasangannya seperti berikut : Sambungkan LCD RS pin ke pin 12 Arduino Sambungkan LCD enable pin ke pin 11 Arduino Sambungkan LCD pins D4 s.d D7 ke pin 5 s.d 2 Arduino Sambungkan LCD +5 dan ground ke pin +5V dan ground A rduino Sambungkan IC LM35 bagian output (Kaki tengah) ke pin A0 (Analog input pin 0) Arduino Gambar 3.11 Rancangan LCD 80