32 3.1 Blok Diagram Rangkaian
Untuk merealisasikan sistem monitoring dan kontrol inkubator bayi berbasis Arduino Uno dengan ditampilkan pada windows Visual Basic 6.0, maka langkah pertama yang dilakukan adalah membuat blok diagram alat seperti Gambar 3.1
Gambar 3.1 Diagram Blok Rangkaian Sistem Monitoring dan Kontrol Suhu
Bohlam merupakan Hardware yang berfungsi untuk menyalurkan panas dalam box inkubator, sedangkan fan digunakan untuk mendistribusikan panas serta mendinginkan jika suhu diatas nilai set point. Sensor Suhu dan Kelembaban DHT11 merupakan pembaca nilai suhu dan kelembaban yang dikombinasikan dengan Ardionu Uno dan kemudian keluarannya akan ditampilkan melalui Windows Visual Basic 6.0. Berikut gambar perancangan mini inkubator :
Gambar 3.2 Rangkaian pengendali suhu dan kelembaban inkubator
Rangkaian tersebut ditutup oleh sebilah papan sehingga hanya memunculkan bohlam lampu sebagai pemanas dan sensor DHT11 sebagai pembaca suhu dan kelembaban. Fan diletakkan dibawah papan yang telah di beri rongga untuk aliran udara. Berikut gambar inkubator tersebut.
Gambar 3.3 Hasil perancangan inkubator mini
3.2 Realisasi Rangkaian
Langkah berikutnya adalah merealisasikan rangkaian setiap blok, Rangkaian-rangkaian yang akan dibuat yaitu :
 Rangkaian Sensor dengan Arduino
 Aplikasi program Arduino IDE (Integrated Development Environment)  Aplikasi program Visual Basic 6.0
3.2.1 Rangkaian Sensor DHT11 dengan Arduino
Sensor Suhu DHT11 berfungsi sebagai masukan pada sistem rangkaian Arduino Uno. PIN V+ dari DHT11 dihubungkan dengan 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.4 Menghubungkan DHT11 dengan Arduino Uno
3.2.2 Aplikasi Program Arduino IDE (Integrated Development Environment)
Setelah proses rangkaian selesai dibuat langkah selanjutnya adalah membuat program pada apliaksi program arduino IDE (Integrated Development Environment). Buka program aplikasi arduino IDE kemudian
bentuk tampilan kerja aplikasi arduino IDE Sketch terlihat seperti gambar 3.4
Gambar 3.5 Program Arduino IDE (Integrated Development Environment)
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. float point numbers dapat
menyimpan sebesar 32bit dengan range 3.4028235E+38 sampai -3.4028235E+38. Angka tersebut disimpan dalam 32 bits (4 bytes) dari informasi. Float hanya memiliki 6-7 digit decimal. Pada arduino, Double sama nilainya dengan Float.
Contoh :
float myfloat;
float sensorCalbrate = 1.117;
Syntax :
float var = val;
 var - your float variable name
 val - the value you assign to that variable Contoh kode :
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)
 Byte
Tipe byte dapat menyimpan 8-bit nilai angka bilangan asli tanapa koma. Byte memiliki range 0 – 255.
Contoh :
Byte biteVariable = 180; // mendeklarasikan
 Void (Setup)
Fungsi setup() hanya di panggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program walaupun tidak ada statement yang di jalankan. Contoh :
void setup() {
pinMode(13,OUTPUT); // mengset ‘pin’ 13 sebagai output
}
 Loop
Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop().
Contoh : void loop() {
digitalWrite(13, HIGH); // nyalakan ‘pin’ 13 delay(1000); // pause selama 1 detik
digitalWrite(13, LOW); // matikan ‘pin’ 13 delay(1000); /// pause selama 1 detik }
 Serial begin ()
Statement ini di gunakan untuk mengaktifkan komunikasi serial dan mengset baudrate.
Contoh :
void setup() {
Serial.begin(9600); //open serial port and set baudrate 9600 bps
 Analog Read ()
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 sampai 1023. Kisaran input atau masukan dan resolusi dapat dirubah menggunakan analog reference. Untuk membaca analog input dibutuhkan dibutuhkan sekitar 100 microsecond (0.0001 s). Jadi rata – rata membacanya sekitar 10.000 kali dalam satu detik. Catatan : jika pin analog input tidak dapat terkoneksi dengan apapun nilainya akan kembali pada analogRead.
Syntax :
analogRead(pin)
Contoh :
Int analogPin = 3 // potentiometer wiper middle terminal connected to analog pin 3
Void setup () { Serial.begin (9600); } Void loop () {
Val = analogRead(analogPin); // Read the input pin
Serial.println(val); //debug value }
 Delay ()
Menghentikan program untuk mengukur waktu (dalam millisecond) yang terspesifikasi pada parameter (ada 1000 milisecond dalam setiap detik). Pada saat mudahnya membuat LED berkedip dengan fungsi delay, beberapa sketch atau lembar kerja mengalami delay. Membaca sensor, perhitungan Matematika, atau memanipulasi Pin dapat berkerja pada saat fungsi delay bekerja. Beberapa program
berbasis pengetahuan biasanya menghindari penggunaan delay untuk kegiatan yang membutuhkan waktu lebih dari 10 miliseconds.
Delay(1000); // menunggu selama satu detik
Selanjutnya hubungkan Arduino Uno ke komputer dengan menggunakan kabel USB (Universal Serial Bus). Lalu kita dapat mengetikkan program pada lembar kerja Sketch kemudian compile untuk mengecek atau memeriksa apakah kode sudah benar sebelum dikirim ke papan Arduino.
3.2.3 Aplikasi Program Visual Basic 6.0
Salah satu kemudahan yang ada di 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 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 harus membuat program pada Visual Basic 6.0 dengan objek-objek yang digunakan.
3.2.3.1Komponen Program
Dalam mebuat 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.
3.2.3.2Kode Program
Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objek dijalankan. Kode-kode program ini akan mengontrol dan menentukan jalannya suatu objek. Perhatikan contoh kode program dibawah ini :
Private Sub cmdFile_Click()
Dim I As Integer
Open txtFile & "Report.txt" For Output As #1
Print #1, txtView.Text
Close #1
MsgBox ("Download report berhasil")
End Sub
3.2.3.3Event
Event adalah peristiwa atau kejadian yang diterima oleh suatu objek, misal click, dblclick, keypress dan sebagainya. Sebuah program yang baik harus mampu mengakomodasi seluruh kemampuan eventyang akan dilakukan oleh pemakaianya. Tetapi tentu saja untuk menyediakan puluhan kemungkinan event pada sebuah program tidaklah mudah. Berikut ini beberapa event yang sering digunakan oleh pemakain program yaitu :
 Event Untuk Mouse  Click
Event ini terjadi bila tombol kiri mouse ditekan dan dilepas dengan cepat saat posisi pointer berada diatas objek.
 DblClick
Event ini terjadi bila tombol kiri mouse ditekan dan dilepas dengan cepat sebanyak dua kali saat posisi pointer berada diatas objek.
 DragDrop
Event ini terjadi bila tombol kiri mouse ditekan dan ditahan kemudian menyeret atau menggeser objek 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 objek diseret.
 MouseDown
Event ini terjadi bila tombol kirim 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 ini terjadi bila sebuah tombol keyboard ditekan. Nili parameter dan 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 satu form ke form yang lain.
 GorFocus
Event ini terjadi bila sebuah objek menjadi satu – satunya focus. Sebuah form dapat membuat objek focus bila form tersebut menjadi form aktiv.
 LostFocus
Event ini terjadi bila sebuah objek kehilangan focus karena ada objek 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 komputer pada objek 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 diubah ukurannya.  Change
 QueryUnload
Event ini terjadi apabila suatu aplikasi ditutup. Biasanya digunakan untuk memastikan bahwa semua yang berhubungan dengan aplikasi juga ditutup, atau memastikan bahwa data telah disimpan sebelum aplikasi ditutup.
 Event-event lainnya  Timer
Event in terjadi ketika event lain dijalankan sebelum event timer ini. Event ini hanya berhubungan dengan conttrol 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 in terjadi bila kode pencarian daftar file diubah, misalnya *.* diubah jadi *.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.4Module
Module dapat disejajarkan dengan form, tetapi tidak terdapat objek. Module hanya berisi kodekode program atau prosedur yang dapat digunakan dalam program apliaksi. Contoh :
Private Sub Form_Load()
Dim LocTextFile As String
Dim ServerAddress() As String
Dim DatabaseName As String
Dim UserID As String
Dim strMessage As String
Dim I As Integer
Dim Contoh As String, Hasil As String
Dim Panjang As Integer
Dim k Call Port Call buatgaris Call buatgaris2 End Sub
3.2.3.5Memasang Kontrol pada Form
Suatu program aplikasi yang dibuat loleh Visual Basic 6.0 bisa dikatakan tidak pernah lepas dari pemakaian control dalam
form. Sebenarnya control Visual Basic 6.0 tidak hanya yang ada dalam toolbox saja, masih banyak lagi yang tersimpan sebagai komponen tambahan. Sekarang kita dapat memulai mendesain form, dengan mengikuti langkah-langkah berikut :
1. Buka New Project dengan memilih Stadard EXE
2. Dalam proyek ini menggunakan 8 kontrol label, 4 Text Box, 5 Frame, 4 Picture Box, 6 Command Button, 2 Option Button, 1 Common Button, 1 Common Dialog, 2 Check Box, 1 Timer, 2 Check Box, 1 SSTab.
Gambar 3.6 Desain Form Visual Basic 6.0
3. Program diketik pada masing-masing kontrol sesuai dengan kebutuhan:
Setelah kode program dibuat, sambungkan Arduino Uno pada komputer dengan menggunakan kabel USB. Setelah disambungkan maka akan terbaca ada di port berapa Arduino terinstal. Kemudian dengan otomatis aplikasi Suhu dan Kelembaban akan membaca port berapa saja yang aktif di komputer yang digunakan. Pengguna hanya tinggal memilih port pada aplikasi Suhu dan Kelembaban tersebut. Jika port belum dipilih, maka akan muncul kotak dialog seperti dibawah ini :
Gambar 3.7 Kotak dialog Port belum dipilih
Bila kita ingin menjalankan program ini, kita tidak bisa melakukan upload program Arduino secara bersamaan karena masing-masing menggunakan port yang sama. Berikut hasil akhir program suhu dan kelembaban yang dapat ditampilkan.
3.2.3.6Membuat File Exe
Program yang telah dibuat biasanya harus dijalankan dengan membuka sistem Visual Basic terlebih dahulu, hal ini
membutuhkan banyak waktu. Untuk melakukan efisiensi sebaiknya dibuat sebuah file EXE dari program yang telah lengkap tersebut, tujuannya adalah agar pada saat kita menjalankan program yangsudah kita buat, kita tidak perlu menjalankan Visual Basic. Untuk membuat kompilasi program lakukan langkah-langkah dibawah ini :
1. Buka program yang akan dikompilasi, contoh Program Suhu dan Kelembaban
2. Klik menu File, pilih Make Suhu.exe
3. Tulis nama file exe (misal Suhu dan Kelembaban) 4. Tentukan posisi penyimpanan file tersebut
5. Kemudian pilih OK
Setelah terbentuk file exe dengan langkah-langkakh diatas, maka sebaiknya kita pun membuat shortcut di desktop dengan tujuan agar pada saat ptogtam tersebut dijalankan kita cukup melakukan double click pada shortcut tersebut tanpa harus membuka Visual Basic. Untuk membuat Shortcut di desktop lakukan langkah-langkah berikut :
1. Klik kanan pada file exe yang sudah dibuat 2. Pilih Send to
3. Pilih Desktop (Create Shortcut)
Gambar 3.9 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 dan kelembaban yang telah dikompilasi dengan nama Suhu_Kelembaban.