• Tidak ada hasil yang ditemukan

BAB III PERANCANGAN ALAT DAN PROGRAM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III PERANCANGAN ALAT DAN PROGRAM"

Copied!
34
0
0

Teks penuh

(1)

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

Gambar 3.1 Diagram Blok Rangkaian Kontrol suhu

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

Sensor suhu DHT 11 Arduino Uno Windows Visual Basic 6.0

(2)

3.2.1. Rangkaian Sensor DHT 11

Sensor suhu DHT 11 berfungsi sebagai masukan pada system rangkaian Arduino Uno. Pin V+ dari DHT 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 A0 Analog In pada Arduino Uno.

Gambar 3.2 Fisik sensor suhu DHT 11

DHT11 adalah modul sensor suhu dan kelembaban udara relatif dalam satu paket. Modul ini memerlukan konsumsi daya yang rendah sehingga cocok digunakan untuk aplikasi data logger dengan catu daya batere. Modul ini memiliki stabilitas yang dijamin dalam jangka waktu yang lama serta output yang terkalibrasi, sehingga cocok digunakan sebagai sensor untuk data logger suhu dan kelembaban udara.

DHT11 dapat mengukur suhu antara 0-50 derajad Celcius dan kelembaban udara antara 20-90% dengan resolusi masing-masing sebesar 0,1 derajad Celcius dan 1% RH (Relative Humidity). Akurasi untuk pengukuran suhu dan kelembaban adalah (+/-)2 derajad Celcius dan (+/-)4% RH.

Keluaran modul sensor DHT11 telah dikalibrasi dalam tabung kalibrasi secara akurat, dan nilai koefisien kalibrasinya disimpan dalam memori OTP. DHT11 menggunakan teknologi sensor kelembaban yang baik dan menggunakan teknik akuisisi data

(3)

ekslusif dengan memanfaatkan mikrokontroler 8-bit untuk menghasilkan data dalam format single-bus.

Dengan ukuran yang relatif kecil, konsumsi daya yang rendah, dan dapat

mengirimkan data sejauh 20m, maka DHT11 sangat cocok untuk digunakan dalam sistem akuisisi data suhu dan kelembaban udara pada aplikasi shelter, weather-station, green-house, gudang, data center environment monitoring, dan lain-lain.

Dalam pembuatan rangkaian sensor suhu sederhana dengan Arduino dan DHT 11. Langkah yang kita lakukan buatlah rangkaian seperti pada Gambar 3.3.

Gambar 3.3. Menghubungkan DHT 11 dengan Arduino Uno

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.

(4)
(5)

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 dari pada integers. Floating – point numbers dapat sebesar 3.4028235E + 38 dan dapat serendah 3.4028235E + 38. Angka tersebut disimpan sebanyak 32 bits (4 bytes) 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;

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)

(6)

• Int

Integers adalah datatype dasar untuk menyimpan angka dengan nilai 2 byte. Integers menyimpan angka-angka negative dengan teknik yang disebut 2’s complement Math. Arduino dapat menjaga dan mengatur angka – angka negative, jadi operasi aritmatika dapat berkerja secara transparansi.

Example

int ledPin = 13;

Syntax

int var = val;

• var - your int variable name

• val - the value you assign to that variable

Coding Tip

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/Sketc. Kita dapat menggunakannya untuk mengartikan Variables, pin modes, Start using libraries, dan lain-lain. Fungsi Setup ini hanya akan berkerja sekali, setelah power up or reset pada Arduino.

(7)

Example:

// actions are performed in the functions "setup" and "loop"

// but no information is reported to the

larger program 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)

Example: 

void setup() {

Serial.begin(9600); // opens serial port,

sets data rate to 9600 bps }

(8)

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() {} • 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 kontrol pada papan Arduino.

Example 

int buttonPin = 3;

// setup initializes serial and the button pin

void setup()

{

beginSerial(9600);

pinMode(buttonPin, INPUT); }

(9)

// 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); } • AnalogRead()

Papan Arduino memiliki 6 chanel, 10 – bit analog ke digital, artinya kita dapat memasukan 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

//outside leads to ground and +5Vint val= 0;

//variable to store the value read void setup()

{

(10)

}

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"

• Serial.print(78, OCT) gives "116"

• Serial.print(78, DEC) gives "78"

• 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)

(11)

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() { // 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"); Serial.println("BYTE");

(12)

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

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.print(x, BIN); // print as an ASCII-encoded binary Serial.print("\t"); // prints a tab

Serial.println(x, BYTE); // prints as a raw byte value, //then adds the carriage return with "println"

delay(200); // delay 200 milliseconds

}

Serial.println(""); // prints another carriage return }

(13)

delay()

Hentikan program sementara untuk mengukur waktu (dalam milliseconds) yang terspesifikasi pada parameter (ada 1000 miliseconds dalam setiap detik). Pada saat mudahnya membuat LED berkedip dengan fungsi Delay, beberapa Sketch/lembar kerja 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 miliseconds.

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);// sets the LED

(14)

delay(1000); // waits for a second

digitalWrite(ledPin, LOW);// sets the LED off

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 di ketik seperti dibawah ini :

// deklarasi variabel float tempC;

int tempPin = 0; void setup() {

// buka serial port, set baud rate 9600

bps

Serial.begin(9600);

}

void loop() {

// baca data dari sensor

tempC = analogRead(tempPin);

// konversi analog ke suhu

tempC = (5.0 * tempC * 100.0)/1024.0;

// kirim data via serial berupa nilai

(15)

Serial.print((int)tempC,BYTE);

// waktu tunda

delay(1000);

}

3.2.3 Aplikasi Program Visual Basic 6.0

Salah satu kemudahan yang ada pada Arduino adalah adanya 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 Basiv 6.0 namun dengan itu kita harus membuat program pada Visual Basic 6.0 dengan objek – objek yang digunakan antara lain yaitu :

• 2 Form

• 3 Label

1 Mscomm (diperoleh dari Project / Components / Controls / Microsoft Comm Control 6.0)

3.2.3.1 Komponen Program

Dalam membuat suatu proyek (Project) tentu tidak lepas dari pemakaian komponen-komponen program. Selain berbentuk tampilan pada form, beberapa 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.

(16)

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 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_status.Enabled = False CMD_OK.Enabled = False CMB_CANCEL.Enabled = False End Sub 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

(17)

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.

- 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.

(18)

- MouseMove

Event ini terjadi bila mouse dipindah posisinya ketempat lain tanpa menekan tombol mouse tersebut.

Event untuk Keyboard - KeyPress

Event ini 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.

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 membuat obyek focus bila form tersebut menjadi window aktif. - LostFocus

(19)

Event ini terjadi bila sebuah obyek kehilangan focus karena ada obyek lain yang mendapatkan 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

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 dubah 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.

(20)

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

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 *.* dubah 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.

Contoh :

(21)

Print “ Belajar Visual Basic 6.0 “

End Sub

3.2.3.5 Module

Module dapat disejajarkan dengan form, tetapi tidak terdapat obyek. Module hanya berisi 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

3.2.3.6 Memasang Kontrol pada Form

Suatu program aplikasi yang dibuat oleh Visual Basic 6.0 bisa dikatakan 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 mendesain form dengan mengikuti langkah – langkah berikut :

(22)

1. Lakukan dobel klik control Label yang ada di toolbox dan bentuk label dengan ukuran standar langsung berada di form aktif ( Form1). 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 kontrol Label pada Form

2. Buat tiga buah kontrol Label, untuk itu kita bisa melakukan seperti pada langkah 1 atau mengcopy control Label yang sudah dibuat. Jika ingin menggandakan control label dengan perintah “ Copy “ , pastikan kontrol label tersebut sudah di-klik sehingga muncul garis-garis pembatas di sekeliling kontrol/obyek. Klik toolbar Copy atau tekan secara bersama-sama tombol Ctrl dengan tombol C ( Control

(23)

+ C ). Selanjutnya klik toolbar Paste atau tekan secara bersama-sama tombol Ctrl dengan tombol V ( Ctrl + C ).Visual Basic 6.0 akan menampilkan pesan “ Apakah ingin dibuat kontrol Array?”. Untuk sementara tidak perlu dibuat kontrol array yaitu dengan melakukan klik tombol No.

Gambar 3.6. Hasil proses copy kontrol Label

3. Lakukan dobel klik kontrol Mscomm (diperoleh dari Project/Components/Controls/Microsoft Comm Control 6.0 yang ada di toolbox dan bentuk Mscomm dengan ukuran standar langsung berada di form aktif ( Form1).

(24)

Gambar 3.7. Menempatkan kontrol Mscomm pada Form

4. Dari tiga kontrol Label yang ada pada Form posisinya tidak teratur dan ukurannya masih standar . 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 birusebesar yang kita inginkan. Pengaturan Label dapat kita olah sesuai yang kita inginkan ada pada Properties. Pada Label1 kita dapat mengganti Captionnya menjadi “Suhu ruang saat ini”

5. Ketikan program pada masing kontrol seperti dibawah ini :

Dim temp As String, strdata As String

(25)

Dim flag As Integer Dim strOut As String

Private Sub Command1_Click()

Command1.Enabled = False Command2.Enabled = True

If cmm = "" Or setb = "" Then MsgBox "Periksa pengaturan komunikasi (E:1)", vbExclamation, "Komunikasi RS232"

Call settings_Click Exit Sub

End If

On Error GoTo err MSComm1.CommPort = cmm MSComm1.settings = setb

If MSComm1.PortOpen = False Then MSComm1.PortOpen = True Do

Call waitscan Call showinput

Loop Until MSComm1.PortOpen = False

End If

err: 'error trap

If Command1.Enabled = False Then

(26)

MsgBox "Periksa pengaturan komunikasi (E:2)", vbExclamation, "ERROR" Command1.Enabled = True Command2.Enabled = False Form2.Show vbModal End If Exit Sub End Sub

Private Sub Command2_Click()

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False

Command1.Enabled = True Command2.Enabled = False End Sub

Private Sub Command3_Click() cnt = 0 Label1.Caption = 0 Text1.Text = "" End Sub

Private Sub exit_Click()

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False

(27)

End If End End Sub

Private Sub Form_Load() flag = 0

Label1.FontSize = 40

Label3.Caption = "Nama : Sri Widodo" & vbCrLf & "NIM:

414051110126" & vbCrLf & vbCrLf & "PROGRAM STUDI TEKNIK ELEKTRO" & vbCrLf & "FAKULTAS TEKNOLOGI INDUSTRI" & vbCrLf & "UNIVERSITAS MERCU BUANA" & vbCrLf & "JAKARTA" & vbCrLf & "2012"

Label6.Caption = Chr(176) & "C"

Text1.MaxLength = 64000 Command2.Enabled = False Command1.Enabled = True

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False cmm = GetSetting(App.EXEName, "Comm", "Port", "") setb = GetSetting(App.EXEName, "Comm", "Setting", "") End Sub

(28)

Public Sub waitscan()

Do While MSComm1.InBufferCount = 0 And MSComm1.PortOpen = True 'tunggu buffer terisi DoEvents Loop End Sub

Public Sub showinput()

If MSComm1.PortOpen = False Then Exit Sub

MSComm1.InputLen = 1

strdata = MSComm1.Input

If strdata <> Chr(13) Then 'baca buffer satu karakter untuk setiap waktu

If strdata = "T" Then flag = 1

Label1.Caption = "" strOut = Now & " T:" ElseIf strdata = "R" Then flag = 2

(29)

Text1.SelStart = Len(Text1.Text)

strOut = strOut & " C " & "R:" ElseIf strdata = "S" Then

flag = 0

Text1.SelStart = Len(Text1.Text)

strOut = strOut & " %" & vbCrLf Text1.SelText = strOut

Dim intFileHandle As Integer Dim myStr As String

myStr = strOut

intFileHandle = FreeFile Open ("Suhu." & Format$(Now, "m.d.yy") & ".txt") For Append As #intFileHandle

Print #intFileHandle, myStr Close #intFileHandle

ElseIf flag = 1 Then

Label1.Caption = Label1.Caption + strdata

strOut = strOut & strdata ElseIf flag = 2 Then

Label5.Caption = Label5.Caption + strdata

strOut = strOut & strdata End If

End If End Sub

(30)

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If MSComm1.PortOpen = True Then Cancel = True

MsgBox "Harap Port ditutup dulu", vbExclamation, "PORT MASIH TERBUKA"

End If End Sub

Private Sub Form_Unload(Cancel As Integer)

Dim Frm As Form

For Each Frm In Forms Unload Frm

Next

End Sub

Private Sub send_Click()

If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If a = InputBox("Masukkan perintah ke device ", "Output") MSComm1.Output = a End Sub

(31)

Private Sub settings_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If Command1.Enabled = True Command2.Enabled = False Form2.Show vbModal End Sub

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 pada program Visual Basic 6.0 dengan port yang dipakai Arduino pada tugas ini menggunakan port 6, 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.

(32)

Gambar 3.8. Hasil akhir program suhu & kelembaban dapat ditampilkan

3.2.3.7 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 di bawah ini :

1. Buka program yang akan dikompilasi (misalnya Suhu & Kelembaban)

(33)

2. Klik menu File, pilih Make Suhu.exe…

3. Tulis nama file EXE (misalnya Suhu & Kelembaban) 4. Tentukan posisi penyimpanan file tersebut (misalnya pada

direktori D:\) 5. Kemudian pilih OK

Gambar 3.9. Membuka program yang akan di kompilasi kedalam file exe

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

(34)

3. Pilih New 4. Pilih Shortcut 5. Klik Browse… 6. Pilih direktori D:\ 7. Klik Open

8. Pilih file Monitor Suhu dan Kelembaban

9. Klik Open, maka akan 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

Dengan cara ini maka akan terbentuk sebuah shortcut baru di desktop, jika kita melakukan Double-Click pada shortcut tersebut maka akan tampil program aplikasi kontrol suhu yang telah dikompilasi dengan nama Monitor Suhu dan Kelembaban.

Gambar

Gambar 3.1 Diagram Blok Rangkaian   Kontrol suhu
Gambar 3.2 Fisik sensor suhu DHT 11
Gambar 3.3. Menghubungkan DHT 11 dengan Arduino Uno
Gambar 3.4. Program Arduino IDE ( Integrated Development Enviroment )
+7

Referensi

Dokumen terkait

melakukan serangan melalui komputer yang terkoneksi di dalam

Upaya penyiapan tenaga kerja yang terampil sesuai dengan kebutuhan dunia usaha dan industri, didekati melalui kebijakan “link and match”

Pelaksanaan pelatihan dilaksanakan pada hari sabtu yang dihadiri oleh 14 peserta yang terdiri dari 7 sekolah dasar di Kecamatan Muara Bangkahulu. Sebelum pelatihan dimulai

Puji dan syukur kehadirat Allah SWT atas rahmat dan karunia-Nya sehingga dapat menyelesaikan Skripsi yang berjudul Pengelolaan Air Kolam Tambang Untuk Mendukung Perencanaan

Sudjana (dalam Purwanto, 2012, hlm.24) mengataka bahwa “populasi adalah totalitas semua nilai yang mungkin baik hasil menghitung mauun hasil mengukur baik

Setelah terjadi longsoran ketiga Aan membantu mengerahkan semua warga yang dekat yang tempat longsor untuk menjauh dari tempat longsor sampai jarak 500 meter dekat dengan

Pada tab menu ini dapat menyimpan data calon pelanggan (bisa dari pelanggan tentatif, pelanggan booking, atau calon pelanggan baru) yang telah melakukan pembayaran

Hipotesis pada penelitian ini adalah kombinasi ekstrak temulawak dan sambung nyawa terkuantifikasi dengan proporsi 1:4 mampu menurunkan kadar trigliserida dan LDL