Posts tagged ‘VB 6.0’

Menyimpan dan Membuka Data Logging Dengan Visual Basic 6


Tulisan kali ini adalah mencoba menjawab pertanyaan dari pengunjung, “bagaimana cara menyimpan dan membuka kembali data dari sebuah data logger?”

Disini akan dicoba dijelaskan bagaimana menyimpan data dari data logger/grafik yang sudah dijelaskan pada tulisan sebelumnya.

Pada dasarnya seperti sudah dijelaskan pada tulisan sebelumnya, data dari pengukuran yang ditampilkan pada grafik adalah disimpan dalam variabel yang berupa array. Sehingga dengan format ini kita akan dapat dengan mudah untuk menyimpan dan membuka kembali, karena data sudah tersusun berdasarkan waktu pengukuran.

Array yang dibuat adalah berdimensi MxN, dimana M adalah banyaknya pengukuran/sampling data dan N adalah banyaknya data dari sensor/jumlah data sensor yang dibaca.

Misalnya data pengukuran adalah sebegai berikut:

Senin Selasa Rabu Kamis Jumat Sabtu Minggu
Data 10 12 15 8 20 5 7
X1 0 1 2 3 4 5 6
Y1 0 10 12 15 8 20 5
X2 1 2 3 4 5 6 7
Y1 10 12 15 8 20 5 7

dari data di atas maka diketahui,

M = 1,2,3,4,5,6,7 atau Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu

N = 10, 12, 15, 8, 20, 5, 7

misalya array disimpan dengan nama array ADC(M,N).

Berikut adalah cara membuat menu untuk menyimpan dan membuka data logging.

1. Form awak dari VB

awal form

2. Menambahkan komponen Common Dialog,  masuk ke menu ini dengan menekan Ctrl + T. Kemudian cari dari list Microsoft Common Dialog Control 6.0

add component dialog

3. Setelah itu, klik Apply dan akan muncul pada kota toolbox sebelah kiri dari form

componen dialog

4.  Buatlah form sebagai berikut, atau gunakan template yang sudah ada disini.

desain form

5. Tambahkan componen Dialog Box, dengan cara mendrag kebagian tengan form

drag componen dialog

6. Tambahkan dua komponen Timer1, dan Timer2

drag componen timer

7. Buatlah menu dengan Menu Editor dengan menekan Ctrl+E untuk memunculkan menu editor berikut ini.

menu editor

8. Buatlah menu seperti berikut:

menu

 

9. Menambahkan komponen Slider

add slider

 

Coding Visual Basic

1. Deklarasi variabel

Dim ADC(1800000) As Long
Dim Perulangan As Long
Dim RecStp As Long

– untuk mendeklarasikan array ADC sebagai variabel penampung data

– untuk mendeklarasikan variabel banyaknya data

2. Menyimpan data

 

Private Sub mnSimpan_Click()
If RecStp = 0 Then
MsgBox “No Data Recorded Dipshit!!   “, vbExclamation, “Forget something?”
Exit Sub
End If
CD1.DefaultExt = “dlg”
CD1.Filter = “Logger Files (*.txt)|*.txt”
CD1.Flags = cdlOFNOverwritePrompt
CD1.DialogTitle = “Save As DataLogger File”
CD1.ShowSave
On Error GoTo salah
‘Tulis data ke file
MousePointer = vbHourglass
Open CD1.FileName For Output As #1
Print #1, “Data ke-“, “Waktu”, “Nilai”
For Perulangan = 0 To RecStp – 1
Print #1, Perulangan,  ADC(Perulangan)
Next Perulangan
Close #1

Me.Caption = CapT & CD1.FileName
MousePointer = vbDefault

MsgBox “Data sudah disimpan”, vbOKOnly

Exit Sub
salah:
MousePointer = vbDefault
Exit Sub

End Sub

– pada program di atas, pertama kali akan mengecek apakah ada data yang sudah tersimpan pada array dengan mengecek jumlah pengambilan data, jika tidak ada data tersimpan maka akan menampilkan pesan error dan langsung keluar dari Sub.

– Jika ada data, maka akan menampilkan dialog box untuk menanyakan lokasi penyimpanan dan nama file yang akan digunakan.

– menyimpan data dengan looping sebanyak data yang ada dengan menulis pada file text. Kemudian keluar Sub.

3. Membuka data

Private Sub mnBuka_Click()
Dim w As Integer, w1 As Integer, w2 As Integer
picGrafik.Cls
picGrafik.Refresh
Call Awal

With CD1
.DefaultExt = “dlg”
.Filter = “Logger Files (*.txt)|*.txt”
.DialogTitle = “Open saved file”
.ShowOpen
End With
‘Call ColLoad
m = Right$(CD1.FileName, 3)
If m = “txt” Then
‘Garis
MousePointer = vbHourglass
Open CD1.FileName For Input As #1
RecStp = 0
w = 0
w1 = 0
w2 = 0
Do Until EOF(1)
Input #1, w, w1, w2
ADC(RecStp) = w2
Slider1.Value = w2
Call Grafik
RecStp = RecStp + 1
Loop
Close #1

Else
MsgBox “Invalid File Type Dipshit!!  “, vbCritical, “File Type Error”
End If
MousePointer = vbDefault
Exit Sub

Erex:
MsgBox “File failed to load – ERROR  “, vbCritical, “Load ERROR”
MousePointer = vbDefault
Close #1
Exit Sub

End Sub

– pada program diatas, pertama menyiapkan tampilan grafik dengan menghapus grafik yang ada jika ada, kemudian membuat dasar grafik sebelum dibuat grafik data

– menampilkan dialog box untuk menanyakan nama file dan lokasi penyimpanan data

– menggambar ulang data yang dibaca dengan memanggil fungsi grafik

– menampilkan message box, bahwa proses sudah selesai dilakukan

4. Membuat grafik

Sub Grafik()
‘data yang akan digambar
DATA = Slider1.Value

‘ titik awal untuk menggambar garis, Titik O
‘X1 = Text9.Text
‘Y1 = Text10.Text

‘ titik data yang akan digambar Titik A
‘X2 = Text11.Text
Y2 = DATA ‘Text12.Text
RecStp = RecStp + 1
ADC(RecStp) = DATA
WAKTU(RecStp) = Time
‘ menggambar garis
picGrafik.Line (500 + X1 * SkalaX, TitikNolY – (Y1 * SkalaY))-(500 + X2 * SkalaX, TitikNolY – (Y2 * SkalaY)), vbRed

‘ mengatur nilai untuk titik berikutnya
X1 = X2            ‘ X1 = X2
Y1 = Y2          ‘ Y1 = Y2
X2 = X2 + 1     ‘ X2 = X2 + 1
End Sub

– membaca data dari slider yang merupakan data yang dibaca dari file

– menentukan nilai sumbu Y yang didapatkan dari DATA

– membuat garis pada picturebox dengan koordinat (X1,Y1)-(X2,Y2), warna

– mengatur nilai X1=X2 dan Y1=Y2 sebagai nilai awal grafik berikutnya.

 

Demikian semoga bermanfaat.

Source code langkap, disini.

— Rohmadi —

Interfacing Motor Stepper dengan VB 6.0


Motor Stepper adalah salah satu jenis motor DC yang sangat populer khususnya dibidang robotika. Walaupun motor stepper saat ini sudah tergeser popularitasnya dengan motor jenis lain, namun motor stepper memiliki keunggulan tersendiri yang tidak bisa digantikan oleh yang lain.

Motor stepper memiliki desain konstruksi yang khas, yaitu terdiri dari beberapa kumpatan yang terpisah ataupun disatukan. Untuk lebih jelasnya, silakan membaca pada How Stepper Motors Work.

Pada kesempatan ini, kita akan mencoba membuat interface motor stepper dengan menggunakan VB 6.0 melalui Port Parallel. Karena untuk mengendalikan motor stepper, dibutuhkan data parallel, maka kita gunakan port parallel untuk mempermudah. Tidak menutup kemungkinan interfacing dilakukan dengan menggunakan port serial dengan menambah komponen tambahan.

Untuk dapat menggerakan motor stepper, kita memerlukan sebuah hardware yang berfungsi untuk mengubah sinyal dari port parallel menjadi sinyal tegangan yang dapat menggerakan motor stepper. Anda harus membuat sebuah rangkaian driver yang dapat dibuat secara sederhana menggunakan transistor sebagai switching.

contoh driver sederhana adalah sebagai berikut:

(Sumber: http://www.ilmu.8k.com/pengetahuan/stepper.htm)

Interfacing VB 6

Untuk dapat mengirimkan data sinyal ke port parallel, kita akan memanfaatkan file dynamic link library (DLL) diantaranya adalah inpout32.dll, WinMM.dll, Kernel32.dll. Untuk yang pertama sudah ada pada file code yang dapat didownload pada bagian bawah dari artikel ini. Sementara file ke-2 dan ke-3, sudah ada pada file system windows. file ini adalah file library yang dapat kita manfaatkan untuk membuat aplikasi interface dengan motor stepper.

dalam VB untuk mendeklarikan file DLL di atas agar dapat digunakan adalah sebagai berikut:

Private Declare Sub Sleep Lib “Kernel32.dll” (ByVal dwMilliseconds As Long)
Private Declare Function timeGetTime Lib “WinMM.dll” () As Long

Public Declare Function Inp Lib “inpout32.dll” Alias “Inp32” (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib “inpout32.dll” Alias “Out32” (ByVal PortAddress As Integer, ByVal Value As Integer)

sedangkan untuk mengirim data ke port serial kita gunakan syntax berikut:

Out 888, 1

dimana data yang dikirim adalah 1 ke port 888 yang merupakan alias dari port parallel.

Untuk menggerakan motor stepper dengan aliran sinyal seperti berikut

(sumber: http://tutorial-elektronika.blogspot.com/2009/02/bagaimana-cara-menggerakkan-motor.html)

maka kita kirimkan sinyal dengan VB:

  1. Out 888, 8
  2. Out 888, 4
  3. Out 888, 2
  4. Out 888, 1
  5. Out 888, 8
  6. Out 888, 4
  7. Out 888, 2
  8. Out 888, 1

Program berikut dapat digunakan untuk mencoba beberapa variasi gerakan dari motor stepper.

  1. Delay: adalah jeda waktu pengiriman sinyal antara sinyal satu dan sinyal berikutnya
  2. Looping: lama pengulangan dalam mengirim sinyal
  3. Tipe: [Wave Drive, One-Phase;  Hi-Torque, Two-Phase; Half-Step]
  4. Button “Tes 1 Loop”: untuk memberikan satu kali looping, memberikan satu step
  5. Button “Tes”: mengirimkan sinyal secara kontinyu
  6. Button “Close”: keluar dari program

Untuk mempelajari code pada VB, silakan buka pada file yang telah dilampirkan di bawah ini.

Sekian, semoga bermanfaat.

Code Motor Stepper VB 6.0

Referensi Motor Stepper:

Wikipedia: Stepper Motor

Bagaimana Menggerakkan Motor Stepper

How Stepper Motors Work


Testing Modem GSM Wavecom dengan Visual Basic 6.0


Pada kesempatan kali ini kita akan mencoba membuat sebuah program sederhana untuk melakukan komunikasi antara Visual Basic 6.0 dengan modem GSM Wavecom. Modem Wavecom dapat diatur dengan dua mode, yaitu mode teks dan mode PDU. Untuk kesempatan kali ini kita akan menggunakan mode teks yang lebih mudah dimengerti dan mudah interfacing dengan VB 6.0.

Modem Wavecom

Modem ini memiliki banyak command yang diawali dengan AT, diantaranya dapat digolongkan menjadi:

  1. General Command
  2. Call Control Command
  3. Network Service Command
  4. Security Command
  5. Phonebook Command
  6. Short Message Command
  7. Supplementary Services command
  8. Data Command
  9. Fax Command
  10. V24-V25 Command
  11. Spesific AT Command, dan
  12. Other Command

Untuk lebih detail tentang fungsi dan syntax AT Command masing-masing command di atas, Anda dapat merujuk pada datasheet yang ada di bawah.

Kali ini kita akan mencoba menggunakan beberapa AT Command dengan menggunakan interface VB 6.0. Pada dasarnya, interfacing serial dengan modem GSM Wavecom bisa dilakukan dengan tool lain, misalnya Hyperterminal, mikrokontroller ataupun, bahasa pemrograman yang lain, diantaranya Delphi, Visual C, Matlab.

Diantara beberapa fungsi AT command yang dapat digunakan antara lain:

  • Manucfacturer identification +CGMI
  • Request model identification        +CGMM
  • Request revision identification     +CGMR
  • Product Serial Number         +CGSN

Visual Basic 6.0

Dengan menggunakan bahasa pemrograman yang telah familiar dan banyak referensi, maka VB 6 adalah bahasa yang tentunya juga mudah untuk digunakan dalam contoh saat ini. Untuk membuat interface dengan Modem GSM Wavecom, ikuti langkah-langkah berikut:B

Buat desain pada VB 6 seperti tampilan berikut

untuk membuat desain diatas, komponen yang dipakai dan setting propertiesnya adalah:

– Command1

  • Caption = Send Command

– Command2

  • Caption = &Exit

-Text1

  • Text = “”

– Text2

  • Text = AT+CGMR

– Serial (MSComm)

  • Setting = 115200,n,8,1
  • CommPort = 2 (sesuaikan)

– Timer1

  • Interval = 100
  • Enabled = True

– Label1

  • Caption = Testing GSM Modem  dengan AT Command

Selanjutnya isikan code pada masing-masing bagian seperti berikut

Private Sub Command1_Click()
Serial.Output = Text2.Text + vbCrLf
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Exit_Click()
Unload Me
End Sub

Private Sub Form_Load()
If Serial.PortOpen = True Then
Serial.PortOpen = False
Serial.PortOpen = True
ElseIf Serial.PortOpen = False Then
Serial.PortOpen = True
Serial.DTREnable = True
Serial.RTSEnable = True
Serial.RThreshold = 1
Serial.InputLen = 1
End If

End Sub

Private Sub Form_Unload(Cancel As Integer)
If Serial.PortOpen = True Then
Serial.PortOpen = False
End If
End Sub

Private Sub Timer1_Timer()
Text1.Text = Text1.Text & Serial.Input
End Sub

Untuk melakukan testing, isikan AT+CGMI, kemudian klik button Send Command. Maka akan muncul respon berikut:

Sekian, mudah-mudahan bermanfaat.

Code Tes Modem VB 6.0

wavecom_command

Artikel Terkait:

Mengirim dan menerima SMS menggunakan HyperTerminal melalui Modem GSM Serial

%d blogger menyukai ini: