Posts from the ‘Interfacing’ Category

Komunikasi Hantek 6022BE dengan VB6


Hantek6002BE Series

DSO6022BE

DSO 6022BE

DSO Hantek 6022BE merupakan salah satu DSO dengan bandwidth: 20MHz-200MHz dan Sample Rate: 250MSa/s; Produk ini sudah memiliki desain casing yang bagus dan ergonomis, tidak hanya kuat dan bagus tetapi juga memiliki nilai resistansi terhadap panas yang bagus.  Sudah menggunakan interface standar USBXI (TM) , sangat mudah dihubungkan dengan instrumen lain melalui port USB.

Di marketplace loka produk ini diharga mulai dari harga 1 jutaan. Dan cukup handal digunakan dalam proyek elektronika yang akan dilakukan.

Contoh SDK menggunakan VB 6 dapat diunduh disini.

Referensi:

Desain SPI Untuk Display Dot Matrix LED


Tulisan ini merupakan kelanjutan dari tulisan sebelumnya.

Prinsip Kerja SPI

Gambar di bawah ini menunjukkan prinsip kerja SPI.

Skema Konsep Cara Kerja SPI
Untuk berkomunikasi, SPI master dan SPI slave masing-masing memiliki shift register yang saling terhubung satu dengan yang lain melalui jalur signal MOSI (master-out-slave-in) dan MISO (master-in-slave-out).

Master dan Slave saling bertukar data dengan menumpangkan data ke shift register dan memberikan sinyal clock melalui jalur sinyal SCK.

Perangkat SPI slave dapat dibuat dengan sebuah rangkaian yang sederhana. Port Serial-in/Parallel-out atau Parallel-in/Serial-out yang biasanya terdiri dari pin kontrol SCK dan SS, shift register dan Latch..

Menghubungkan HC595 Pada SPI

74HC595 memiliki 8-bit shift register dan didalamnya terdapat 8-bit latch, yang cocok untuk mengkonversi dari input serial ke output parallel (lihat blok gambar). Shift register dan latch adalah sinkron terhadap clock sirkuit logik yang independen, dan masing-masingnya beroperasi pada transisi negatif ke positif (positive edge). Clear input dan pengunci keluaran (output enable ) didesain untuk bekerja secara asinkron. Untuk lebih jelasnya, silakan merujuk pada gambar berikut.

Diagram Blok 74HC595

74HC595 state transition table

Input Operation
SER SRCLK /CLR RCLK /OE
X X X X H Qa … Qh pins are in 3-state
X X X X L Qa … Qh pins are driven to the latched value
X X L X X Clear shift register bits
L H X X Shift, with the first bit as 0
H H X X Shift, with the first bit as 1
X X X X Latch shift register bits

Dengan memperhatikan diagram waktu di atas, kita dapat mendesain rangkaian dan setting seperti berikut.

Pertama, bisa kita lihat pada MOSI, master output. Clock HC595 dengan sisi transisi ke positif. Saat bit data

First, let’s see MOSI, the master output. HC595 clocks with a positive edge of shift clock. When a new bit value is set up on the serial input and a positive edge comes in, HC595 takes the bit value into its shift register. Therefore if you connect MOSI to SER input and SCK to SRCLK, you should make its clock settings like

  • Falling edge as leading edge: Setup of MOSI connected to SER.
  • Rising edge as trailing edge: Shift HC595’s shift register

Next, after HC595’s shift register sequentially takes in 8 bits, you should set the latch clock signal to high so that HC595 can capture the shift register bits into the latch logic. The usual design of /SS line (High = “inactive”, Low = “selected”) will work fine if it is connected to RCLK clock input. Note that this setting will give the first bit value to Qh output, and the last bit value to Qa output, meaning “Qh = MSB / Qa = LSB” if MSB is sent out first.


HC595 timing diagram

From that consideration, the following connection between ATmega88 SPI and HC595 will form an 8-bit SPI parallel output.


AVR SPI and HC595 wiring (8 bit)

You should set up AVR(ATmega) SPI like,

  • Clock mode: Mode 3 (leading edge is falling: latch, trailing edge is rising: shift)
  • SPI master operation, /SS as output
  • Data order: MSB first (this depends on your situation. either order will work)

Remember that you need to control the /SS pin by software, just like normal port pins. In AVR SPI master operation with /SS set as output, /SS has nothing to do with SPI master behavior. Even you can use other port pin for the same purpose.

You can increase the number of output bits to 16 bits or 24 bits by a series connection of HC595’s, between each HC595’s serial outputs (Qh’) and next serial inputs (SER). (See the following diagram, or target schematic shown later)


AVR SPI and HC595 wiring (16 bit)

Menampilkan Tulisan Pada LCD 16×2


Pada tulisan ini akan disampaikan contoh bagaimana menampilkan tulisan pada LCD alphanumceric 16×2 menggunakan mikrokontroller AVR. Software yang akan digunakan adalah Code Vision.

Peralatan yang dibutuhkan dapat diperoleh pada online shop Produk Inovatif. LCD pada dasarnya adalah sebuah contoh display yang mudah digunakan dan mudah didapatkan dengan harga murah. Sehingga tampilan ini banyak dipakai pada alat-alat sederhana yang dibuat dengan berbasis mikrokontroller ataupun yang lainnya. LCD ini juga dapat digerakkan dengan interface lain, misalnya laptop atau yang lain.

Untuk peralatan yang akan digunakan adalah:

  1. Modul LCD 16×2

di-lcd16x2

  1. Modul AVR

OLYMPUS DIGITAL CAMERA

  1. Downloader

Semua modul dapat dibeli pada Produk-Inovatif.

Selanjutnya, langsung saja kita praktikkan bagaimana menampilkan sebuah tulisan pada LCD 16×2.

Pertama, hubungkan modul LCD 16×2 dengan PORTA pada modul AVR, seperti gambar berikut:

LCD con 2LCD con

Kedua, hubungkan header AVR ISP USBasp pada konekto ISP PORT pada modul AVR, seperti gambar berikut:

ISP 3ISP

Ketiga, hubungkan konektor USB AVR ISP USBasp ke USB Laptop/PC, seperti gambar berikut:

USB ISP

Setelah semua siap, buatlah sebuah program dengan menggunakan Code Vision.

  1. Buat sebuah project

new

  1. Klik YES

YES

  1. Pilih ATmega, klik OK

ATmega

  1. Pilih Chip ATmega32A dan clock 11,059200 MHz, atau sesuai dengan yang ada pada modul AVR Anda.

Chip

  1. Pilih Alphanumeric LCD, dan atur sesuai setting berikut

LCD

6.Simpan project dengan nama LCD

  1. Tambahkan source delay seperti berikut:

delay

  1. Isikan program seperti berikut:

while

  1. Compile program yang telah dibuat, dengan CTRL+F9

  2. Selanjutnya, download ke mikrokontroller dan lihat hasilnya.

testing

Demikian, semogar bermanfaat.

Membuat LED Berkedip Dengan Arduino Mega2560


Arduino-logo-new

Pada tulisan ini akan diberikan contoh sederhana bagaimana membuat sebuah program sederhana untuk menyalakan sebuah LED berkedip. Tulisan ini dibuat berdasarkan tutorial resmi dari situs arduino.

Hardware yang dibutuhkan:

Board Arduino R3 yang dapat dibeli di Produk-Inovatif.com dengan harga Rp 300.000,-

Rangkaian

Pada umumnya board Arduino sudah terdapat sebuah LED yang terhubung pada pin 13. Sehingga kita dapat langsung membuat program untuk menyalakan LED berkedip. Jika board yang Anda miliki belum disertakan LED pada pin 13, ikuti langkah berikut.

Untuk membuat rangkaian, hubungkan sebuah resistor dengan nilai 220-ohm pada pin 13 dari board Arduino. Hubungkan bagian Anode (+) ke resistor , biasanya kaki yang memiliki ukuran lebih panjang. Kaki lain yang lebih pendek katode (-) ke ground. Kemudian hubungkan board Arduino ke komputer dan buka program Arduino kemudian masukkan code berikut:

arduino LED

Rangkaian LED

Gambar Skematik

Skematik

Code

Untuk inisialisasi port, tuliskan code berikut:

pinMode(13, OUTPUT);

Sementara untuk menyalakan LED, menggunakan code berikut:

digitalWrite(13, HIGH);

untuk mematikan LED, digunakan code:

digitalWrite(13, LOW);

Agar nyala LED dan mati LED dapat dilihat, perlu ditambahkan sebuah jeda waktu. Untuk menambahkannya dapat digunakan fungsi delay() yang dapat diisikan nilai dalam satuan milidetik:

Code langkap:


/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);               // wait for a second
digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
delay(1000);               // wait for a second
}


Berikut adalah contoh videonya:

Demikian, semoga bermanfaat.

Pustaka:

http://arduino.cc/en/Tutorial/Blink

Bermain Dengan Arduino


Tulisan ini merupakan terjemahan bebas dari web page Arduino dan mencoba memberikan contoh praktis untuk bermain lenbih jauh dengan produk arduino khususnya Arduino Meha2560.

Board module dapat dibeli di http://produk-inovatif.com dengan harga Rp 300.000,-.

unomega1

Pada tulisan ini diberikan contoh langkah-langkah pada sistem operasi Windows. Tulisan ini akan memberikan penjelasan bagaimana menggunakan board Arduino yang telah Anda miliki  ke komputer dan mencoba beberapa contoh project. Penjelasan akan dibagi menjadi beberapa bagian:

1. Peralatan yang dibutuhkan

2. Download tool/software yang dibutuhkan

3. Menghubungkan board ke komputer

4. Menginstall driver

5. Menjalankan aplikasi Arduino

6. Membuka contoh blinking LED pertama kali

7. Memilih board

8. Memilih port serial

9. Mengupload program

 

Bersambung…

Membuat Dot Matrix Dengan SPI AVR


Tulisan ini merupakan terjemahan bebas dari sebuah artikel yang saya pelajari. Untuk dapat memahami dengan utuh, pembaca dapat merujuk pada tulisan aslinya. Untuk dapat memahami dengan mudah, tulisan ini akan saya sampaikan dalam beberapa sesi.

Suatu ketika kita akan dihadapkan dengan kondisi dimana kebutuhan port dengan jumlah pin yang tersedia pada sebuah mikrokontroller tidak sama. Dengan situasi lain, mungkin kita memiliki ide untuk dapat mengendalikan sebuah rangkaian logic dengan port mikrokontroller dengan jumlah sedikit. Pada kondisi ini, kita dapat menggunakan sebuah komponen yang memiliki prinsip serial to parallel. Sebagai contoh kasus, kita ingin mengontrol sebuah dot matrix display.

Artikel ini akan menjelaskan sedikit hasil eksperimen menggunakan port Atmel AVR dengan metode SPI dengan sedikit tambahan IC logic untuk mengedalikan LED dot matrix.

Apakah SPI

Umumnya sebuah mikrokontroller memiliki beberapa pin yang berfungsi sebagai port I/O dan sebagian lagi memiliki fungsi khusus seperti serial dan SPI yang digunakan untuk komunikasi. SPI memiliki tiga pin sinyal dan satu pin untuk memilih antara mengirim data dan menerima data. Transfer data sinkron berdasarkan sinyal clock yang mengikutinya secara sederhana. Eksperimen ini akan membantu untuk memahami cara kerja SPI, dengan menggunakan AVR ATmega88 sebagai master SPI dan beberapa komponen logic sebagai slave SPI.

Komponen Digunakan

1. 74HC595

74HC595 (HC595) adalah komponen yang memiliki fungsi sebagai shift register serial to parallel 8-bit. Beberapa pabrikan mengeluarkan komponen yang sejenis, dan pada eksperimen ini digunakan dari pabrikan Texas Instrumen dengan datasheet dapat dilihat disini.

2. Dot-matrix LED display

Pada eksperimen ini digunakan dot matrix LED untuk menampilkan cara kerja SPI. Komponen ini dapat dijumpai di toko elektronik terdekat. Pada eksperimen ini digunakan dua buah dot matrix dengan dua warna yaitu merah dan hijau, dengan mengacu pada datasheet didapatkan bahwa dot matrix adalah common katoda dengan Vf = 1,7V (merah) dan Vf=2,2V (hijau).

Berikut adalah library yang dapat digunakan pada Eagle.


(8×8 red-and-green LED, Eagle library)

(Anda dapat mendownload library dari url; → “8x8LED.lbr” made with Eagle 5.10.0 Linux)

Sekarang, perhatikan bagaimana mengendalikan LED grafik display. Secara sederhana, kita dapatkan 8 pin anoda untuk LED merah, 8 pin anoda untuk LED hijau, 8 pin untuk common katoda; jumlahnya adalah 24 bit. Dengan MCU yang berukuran kecil, kita akan kesulitan karena sedikitnya jumlah port. Pada artikel ini, kita akan menghubungkan 3 HC595 secara seri untuk membentuk shift register 24-bit dan mengontrolnya dengan SPI.

Bersambung…

Demikian, semoga bermanfaat.

Sumber:http://awawa.hariko.com/avr_spi_hc595_en.html

Mendeteksi Port Serial Dengan Visual Basic 2010


Port Serial adalah salah satu kelengkapan yang sampai sekarang masih ada pada sebuah PC. Port serial biasanya digunakan untuk menghubungkan sebuah device dengan PC. Walaupun kehadiran USB semakin mendominasi standar komunikasi antar device, namun komunikasi serial masih sangat familiar.

Dengan memahami komunikasi serial, kita akang dapat melakukan banyak hal, khususnya bagi engineer atau bagi hobbiest elektronika.

Penggunaan laptop saat ini juga cenderung mendominasi baik bagi kalangan praktisi elektronika maupun mahasiswa. Sehingga kehadiran port serial pada sebuah laptop sangatlah penting. Disisi lain, laptop yang dirilis saat ini tidak ada yang menyertakan port serial sebagai sebuah device komunikasi. Untuk mengatasi ini, dipasaran banyak dijual aksesoris USB to Serial yang harganya bervariasi dan relatif terjangkau.

Dengan aksesoris USB to Serial, Anda dapat menghadirkan port serial virtual pada laptop atau PC yang sebelumnya tidak ada. Bisa juga digunakan untuk menambah kebutuhan port serial. Untuk mengetahui keberadaan port serial pada sebuah komputer, kita bisa melakukan pengecekan melalui langkah berikut:

1. Klik kanan pada My Computer, pilih Manage
manage
2.Pilih Computer Management–> System Tools–> Device Manager. Lihat pada group Ports (COM & LPT)

port

Pada contoh di atas, PC memiliki satu port serial onboard dan satu virtual serial port dengan ID chip Prolific.

Sekarang, bagaimana cara mendeteksi port serial secara otomatis menggunakan Visual Basic 2010?

Pada sesi ini diberikan contoh menggunakan VB 2010, namun saya sudah mencoba dan dapat diterapkan juga pada VB 2008.

Buat project seperti berikut:

1. Pilih New Project

New Project

2. Buat form berikut

form

3.Isikan coding berikut:

– Tambahkan komponen Serial Port dari group Components

add serialport

– Pada Button1 (button Close)


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim Ingin As MsgBoxResult
 Ingin = MsgBox("Apakah Anda akan keluar?", MsgBoxStyle.YesNo, "Keluar")
 If Ingin = MsgBoxResult.Yes Then
 Me.Close()
 ElseIf Ingin = MsgBoxResult.No Then
 Exit Sub
 End If
 End Sub

– Pada button Disconnect


Private Sub btnDisconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisconnect.Click
 'tutup koneksi Serial port, jika berhasil tampilkan indikator
 Try
 SerialPort1.Close()
 btnConnect.Enabled = True
 btnDisconnect.Enabled = False
 Catch ex As Exception
 MsgBox(ex.ToString)
 End Try
 End Sub

– Pada button Connect


Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
 'cek, jika status serial port open, tutp koneksi serial port
 If SerialPort1.IsOpen Then
 SerialPort1.Close()
 End If

'atur properti serial port
 Try
 With SerialPort1
 .PortName = cbbCOMPorts.Text
 .BaudRate = 115200
 .ReadBufferSize = 500
 .Parity = IO.Ports.Parity.None
 .DataBits = 8
 .StopBits = IO.Ports.StopBits.One
 .Handshake = IO.Ports.Handshake.None
 End With
 'open koneksi serial port
 SerialPort1.Open()

btnConnect.Enabled = False
 btnDisconnect.Enabled = True
 Catch ex As Exception
 MsgBox(ex.ToString)
 End Try
 End Sub

– Pada Form1_load


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 'cek available serial port pada komputer
 'termasuk serial modem
 For i As Integer = 0 To _
 My.Computer.Ports.SerialPortNames.Count - 1
 'tambahkan ke dalam list combo serial port
 cbbCOMPorts.Items.Add( _
 My.Computer.Ports.SerialPortNames(i))
 Next
 'disable button disconnect
 btnDisconnect.Enabled = False
 End Sub

Berikut adalah hasil programnya.

result

Demikian, semoga bermanfaat.

Shift Register/Serial to Parallel dengan 74HC595


Tulisan ini dibuat dengan merujuk dari artikel, bagi yang ingin mengetahui secara utuh dari tulisan tersebut dianjurkan untuk merujuk langsung. Pada tulisan ini saya buat dengan menambahkan apa yang telah saya praktikkan mengenai Shift Register 74HC595.

Animasi

Skema Pin 74HC595

595

Diagram clock pada Chip 74HC595

Dari diagram di atas, dapat dibuat urutan logika sebagai berikut:

  1. Membuat clock

coding AVR dengan menggunakan CodeVision adalah sebagai berikut:

</pre>
<blockquote>/*****************************************************
 This program was produced by the
 CodeWizardAVR V2.05.3 Standard
 Automatic Program Generator
 © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
 http://www.hpinfotech.com

Project :
 Version :
 Date : 11/29/2012
 Author : Rohmadi
 Company : Produk Inovatif
 Comments:
 Chip type : ATtiny2313
 AVR Core Clock frequency: 20.000000 MHz
 Memory model : Tiny
 External RAM size : 0
 Data Stack size : 32
 *****************************************************/

#include <tiny2313.h>
 #include <delay.h>

#define SHCP PORTD.0
 #define DS PORTD.1
 #define STCP PORTD.2
 #define MR PORTD.3
 #define OE PORTD.4

// Declare your global variables here
 void tunda(void)
 {
 delay_ms(100);
 }
 void main(void)
 {
 // Declare your local variables here

// Crystal Oscillator division factor: 1
 #pragma optsize-
 CLKPR=0x80;
 CLKPR=0x00;
 #ifdef _OPTIMIZE_SIZE_
 #pragma optsize+
 #endif

// Port D initialization

// Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
 // State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
 PORTD=0x00;
 DDRD=0x7F;

while (1)
 {
 // Place your code here
 int i;
 //--1
 SHCP=0; DS=0; STCP=0; MR=1; OE=0; tunda();
 //--2
 SHCP=1; tunda();
 //--3
 SHCP=0; MR=0; tunda();
 //--4
 SHCP=1; tunda();
 //---5
 SHCP=0; DS=1; MR=1; tunda();
 //---6
 SHCP=1; tunda();
 //---7
 DS=0;
 for(i=0;i<9;i++)
 {
 SHCP=0; STCP=1; tunda();
 SHCP=1; STCP=0; tunda();
 }
 //--24
 SHCP=1; OE=1; tunda();
 //--25
 SHCP=0; DS=1; tunda();
 //--26
 SHCP=1; tunda();
 //--27
 SHCP=0; DS=0; STCP=1; tunda();
 //--28
 SHCP=1; STCP=0; OE=0;
 //--29
 SHCP=0; tunda();
 //--30
 SHCP=1; tunda();
 }
 }
<pre>

Berikut adalah hasilnya:

Demikian, semoga bermanfaat.

Rohmadi

Mengatur Setting Port Serial Pada Visual Basic


Untuk menjawab beberapa pertanyaan yang sudah saya terima, disini saya akan mencoba menjelaskan langkah-langkah untuk mengatur setting antara hardware dan software.

Peralatan yang disiapkan=

a. Device USB to Serial dan driver

b. Visuak basic

Setelah siap, makal langkah berikutnya adalah:

1. Memastikan bahwa USB to Serial terpasang dan terdeteksi oleh komputer/laptop

untuk memastikan ini, maka Anda harus memasang driver sesuai dengan chip yang digunakan dengan benar. Selanjutnya untuk mengetahui apakah device sudah terpasang dengan benar dan dikenali oleh komputer/laptop, cek dengan langkah membuka pada Windows (disini dicontohkan pada Windows XP).

device manager awal

Start –> My Computer –> (klik kanan), pilih Manage –> Pilih Device Manager, selanjutnya jika device sudah dikenali maka akan muncul tampilan berikut:

deteksi serial port

2.Pada visual basic, kita tambahkan komponen serial dengan menekan Ctrl + T, kemudian pilih Microsoft Comm Control 6.0, klik Apply kemudian Close.

tambah komponen serial pada VB

3. Berikutnya akan muncul icon seperti berikut pada group komponen di sebelah kiri

komponen serial VB

4. Drag icon MSComm ke bagian desain form.

drag komponen serial vb

5. Cek nomer port serial yang terdeteksi pada hardware berikut

port number hardware

6. Isikan nomer serial pada CommPort Properties, sama dengan nomer port serial yang terdeteksi pada hardware, isikan angka 9 seperti port hardware

setting CommPort

7. Kemudian atur nilai Settings yang menunjukkan Baudrate, parity, panjang bit data dan stop/start bit

Setting VB

Demikian, sehingga setting port serial pada VB dapat dilakukan dan siap digunakan untuk komunikasi serial dengan perangkat lain.

Demian semoga bermanfaat.

Interfacing Visual Basic 2008 Dengan Modem Wavecom


modem GSM Wavecom Dengan menggunakan perangkat modem GSM Wavecom kita bisa membuat sebuah sistem SMS gateway. SMS gateway dapat digunakan untuk berbagai keperluan, misalnya sistem informasi akademik, sistem informasi pooling, dan sistem informasi lainnya. Selain sistem informasi, SMS gateway juga dapat digunakan untuk media telemetri, atau pengukuran jarak jauh dimana media  SMS sebagai penghubung komunikasi datanya.

Salah satu alternatif yang dapat digunakan adalah modem GSM serial yang saat ini dapat dibeli dengan harga yang terjangkau. Selain itu, kita cukup menyediakan sebuah PC untuk membuat sistem. Pada tulisan ini akan dijelaskan salah satu cara interfacing antara modem serial GSM dengan Visual Basic 2008.

Membuat Interface

1. Membuat desain form interface dengan Visual Basic 2008 seperti berikut

Kita masukkan beberapa item dari toolbox, diantaranya:

– PictureBox1 dan PictureBox2

– Label

– ComboBox

– Button1 dan Button2

– TextBox1, TextBox2, dan TextBox3

desain form interface

2. Masukkan komponen SerialPort1, seperti gambar berikut

menambahkan toolbox serial

Setelah selesai, hasil akhir dari desain Form Interface Modem adalah seperti berikut:

Hasil tampilan akhir

Penjelasan:

Dim WithEvents serialPort As New IO.Ports.SerialPort

perintah diatas berfungsi untuk mendeklarasikan variabel serialPort sebagai sebuah komponen SerialPort.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim a As Integer

‘cek available serial port pada komputer

‘termasuk serial modem

For i As Integer = 0 To _

My.Computer.Ports.SerialPortNames.Count – 1

‘tambahkan ke dalam list combo serial port

cbbCOMPorts.Items.Add( _

My.Computer.Ports.SerialPortNames(i))

a = i

Next

cbbCOMPorts.Text = cbbCOMPorts.Items(a)

End Sub

Coding di atas berfungsi untuk mendapatkan list serial port yang ada pada komputer. Sehingga secara otomatis akan diketahui port serial dan nomernya pada daftar ComboBox.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Try

SerialPort1.PortName = cbbCOMPorts.Text

If SerialPort1.IsOpen = True Then

SerialPort1.Close()

End If

If SerialPort1.IsOpen = False Then

With SerialPort1

.Open()

.Handshake = IO.Ports.Handshake.RequestToSend

‘.RtsEnable = True

‘.DtrEnable = True

End With

End If

Fungsi coding di atas untuk mengatur properti serial port yang dipilih dan membuka koneksi untuk siap digunakan.

Dim Enter1, Enter2, Enter3 As Integer

Dim Echo, Echo1, Echo2, Echo3 As String

Dua baris berfungsi untuk deklarasi variabel yang akan digunakan berikutnya.

‘mengambil kode produk

SerialPort1.WriteLine(“AT+CGMI” & vbCrLf)

Threading.Thread.Sleep(500)

Echo = SerialPort1.ReadExisting

Enter1 = Strings.InStr(Echo, vbCrLf)

Echo1 = Strings.Right(Echo, Len(Echo) – Enter1)

Enter2 = Strings.InStr(Echo1, vbCrLf)

Echo2 = Strings.Right(Echo1, Len(Echo1) – Enter2 – 1)

Enter3 = Strings.InStr(Echo2, vbCrLf)

Echo3 = Strings.Left(Echo2, Enter3 – 1)

txtKodeProduksi.Text = Echo3

Karena setiap device/produk modem GSM memiliki tipe dan kode yang berbeda, maka kita bisa mengetahui kode produk dari device dengan menggunakan AT Command “AT+CGMI”. Setelah mendapatkan command di atas, modem akan memberikan kode yang menunjukkan kode produk yang selanjutnya ditampilkan pada TextBox txtKodeProduksi.

‘mengambil model produk

SerialPort1.WriteLine(“AT+CGMM” & vbCrLf)

Threading.Thread.Sleep(500)

Echo = SerialPort1.ReadExisting

Enter1 = Strings.InStr(Echo, vbCrLf)

Echo1 = Strings.Right(Echo, Len(Echo) – Enter1)

Enter2 = Strings.InStr(Echo1, vbCrLf)

Echo2 = Strings.Right(Echo1, Len(Echo1) – Enter2 – 1)

Enter3 = Strings.InStr(Echo2, vbCrLf)

Echo3 = Strings.Left(Echo2, Enter3 – 1)

txtModel.Text = Echo3

Kita juga bisa mengetahui model produk dari device yang digunakan dengan perintah “AT+CGMM”. Pada coding di atas, hasilnya akan ditampilkan pada TextBox txtModel.

‘mengambil nomer IMEI

SerialPort1.WriteLine(“AT+CGSN” & vbCrLf)

Threading.Thread.Sleep(500)

Echo = SerialPort1.ReadExisting

Enter1 = Strings.InStr(Echo, vbCrLf)

Echo1 = Strings.Right(Echo, Len(Echo) – Enter1)

Enter2 = Strings.InStr(Echo1, vbCrLf)

Echo2 = Strings.Right(Echo1, Len(Echo1) – Enter2 – 1)

Enter3 = Strings.InStr(Echo2, vbCrLf)

Echo3 = Strings.Left(Echo2, Enter3 – 1)

txtIMEI.Text = Echo3

Setiap modem/perangkat komunikasi memiliki nomer unik yang berbeda dari yang lain, yang disebut IMEI. Kita bisa mengetahui nomer IMEI dengan command “AT+CGSN”. Hasilnya ditampilkan pada TextBox txtIMEI.

‘menutup koneksi port

SerialPort1.Close()

Fungsi di atas untuk menutup koneksi port serial sehingga dapat digunakan kembali untuk proses yang lain.

Catch

MsgBox(“Gagal terhubung ke ‘ ” + cbbCOMPorts.Text + ” ‘. Mungkin port sedang digunakan.”, MsgBoxStyle.Exclamation, “Koneksi”)

End Try

End Sub

 

Demikian semoga bermanfaat.

%d blogger menyukai ini: