--> Aplikasi Delphi | Deskripsi Singkat Blog di Sini

Aplikasi Delphi

Tuesday 3 July 2012

Kendali nyala / padam peralatan listrik dengan SENSOR LM35

Kendali nyala / padam peralatan listrik dengan SENSOR LM35




0
Artikel ini akan membahas cara on / off peralatan listrik secara otomatis menggunkan sensor suhu LM 35


Pada kesempatan kali ini kita akan membuat sebuah rangkaian sederhana yang dapat mengendalikan start-stop FAN, yang biasanya digunakan sebagai sebuah pendingin suatu system. Misalnya FAN dipasang pada sebuah BOX yang didalamnya terdapat beberapa rangkaian elektronika yang membutuhkan pendinginan, atau mungkin juga dipasang pada Heat Sink yang digunakan untuk mendinginkan IC atau Transistor.

Rangkaian hanya terdiri dari dua buah penguat op_amp yang banyak sekali dijumpai di toko-toko elektronik. Harganya juga sangat terjangkau, tentu saja akan menghemat isi dompet kita. Bila dibandingkan dengan IC mikrokontroler harganya jauh lebih murah.
Gambar 1 adalah sebuah op_amp non inverting dengan IC LM358. Penguatannya sebesar:


R3 dan C2 terangkai secara seri pada input non inverting bertujuan untuk menjaga kestabilan sinyal output dari LM35, ini sesuai dengan datasheet LM35. Sebelum R4 bisa juga ditambahkan rangkaian lowpass filter untuk menghilangkan nois. R1 dan D1 untuk menjaga kestabilan tegangan supply LM358.



Gambar 1. Op_amp non inverting
Gambar 2 adalah rangkaian comparator menggunakan IC op_amp 741. R7 dan D2 digunakan untuk menjaga kestabilan tegangan supply IC 741. Sengaja tegangan dibuat 6,2 Volt agar tegangan maksimum dari output 741 kira-kira 5 Volt yaitu setengah dari tegangan maksimum output LM358. Hal ini bertujuan untuk mempermudah pengaturan START STOP saat tuning nanti. Tegangan supply IC 741 tidak harus 6,2 Volt, kita bisa menggantinya sesuai dengan keinginan kita, yang penting tegangannya kurang lebih setengah dari tegangan suppy IC LM358. P3 digunakan untuk mengatur tegangan referensi. R5 , R6 dan P2 digunakan untuk mengatur waktu START. R8 dan P4 digunakan untuk mengatur waktu STOP. Sedangkan transistor dan lampu hanya contoh, bisa diganti dengan FAN atau yang lainnya. Untuk mendapatkan arus kendali yang besar, Q1 diganti dengan transistor yang memiliki kapasitas arus yang lebih besar, bisa juga mengunakan transistor darlington.

Gambar 2. Op_amp comparator
Jika tegangan pada input non inverting lebih rendah dari tegangan input inverting, maka output akan akan mengeluarkan level tegangan yang rendah mendekati 0 Volt. Dan jika tegangan pada input non inverting lebih tinggi dari tegangan input inverting, maka output akan akan mengeluarkan level tegangan yang tinggi mendekati tegangan supply.
Cara setting ON OFF
1. Tentukan batas maksimum pengukuran dari LM35. Missal kita menginginkan 100°C. setiap kenaikan 1°C, tegangan LM35 akan naik sebesar 10mV. Jika temperature 100°C, maka LM35 akan mengeluarkan tegangan 1V.
2. Ganti LM35 dengan potensio, lihat gambar 3. Putar-putar potensiometer sampai mengeluarkan tegangan 1V.


Gambar 3. Potensio
3. Putar P1(lihat Gambar 1) sampai output dari IC LM358 mengeluarkan tegangan 8V.
4. Misalkan kita menginginkan waktu START pada temperature 60°C dan waktu STOP pada temperature 50°C. Pada temperature 50°C LM35 mengeluarkan tegangan 500mV dan pada temperature 60°C LM35 mengeluarkan tegangan 600mV.
5. Untuk mengatur tegangan referensi terlebih dahulu kita atur potensio pengganti LM35 sampai mengeluarkan tegangan 500mV, seolah-olah LM35 pada temperature 50°C, yaitu waktu STOP. Lihat tegangan output dari LM358, misal mengeluarkan tegangan 4V. atur P3 sampai mengeluarkan tegangan 2V, yaitu setengah dari output LM358.
6. Mengatur waktu START dengan memutar P2. Putar potensio pengganti LM35 sampai mengeluarkan tegangan 600mV, seolah-olah LM35 pada temperature 60°C, yaitu waktu START. Putar pelan-pelan P2 mulai dari posisi minimum sampai lampu/FAN nyala.
7. Putar kembali potensio pengganti LM35 sampai mengeluarkan tegangan 500mV. Kemudian putar pelan-pelan P4 mulai dari posisi minimum sampai lampu/FAN mati.
8. Pengaturan waktu START STOP tidak cukup dilakukan hanya satu kali saja, harus diulangi beberapa kali, hal ini membutuhkan kesabaran dan ketelitian. Ulangi langkah no.6 dan 7 sampai waktu START STOP sesuai dengan yang kita inginkan. Semakin banyak pengulangan langkah no.6 dan 7 maka semakin baik hasil yang didapat.
9. Selamat mencoba.



no image

Pengertian Op-amp (operational Ampllifier)

Berikut ini adalah artikel mengenai Op Amp :

Op-amp merupakan rangkaian penguat operasional yang mampu mendeteksi serta memperkuat sinyal baik DC maupun AC dengan penguatan yang mendekati ideal. Rangkaian ini dibangun atas elemen-elemen transistor, resistor, dan kapasitor. Op-amp memerlukan catudaya positive dan negative.

Penguatan Open-loop
Op-amp idealnya memiliki penguatan open-loop (AOL) yang tak terhingga. Namun pada prakteknya op-amp semisal LM741 memiliki penguatan yang terhingga kira-kira 100.000 kali. Sebenarnya dengan penguatan yang sebesar ini, sistem penguatan op-amp menjadi tidak stabil. Input diferensial yang amat kecil saja sudah dapat membuat outputnya menjadi  saturasi.
Unity-gain frequency
Op-amp ideal mestinya bisa bekerja pada frekuensi berapa saja mulai dari sinyal dc sampai frekuensi giga Herzt. Parameter unity-gain frequency menjadi penting jika op-amp digunakan untuk aplikasi dengan frekuensi tertentu. Parameter AOL biasanya adalah penguatan op-amp pada sinyal DC. Response penguatan op-amp menurun seiring dengan menaiknya frekuenci sinyal input. Op-amp LM741 misalnya memiliki unity-gain frequency sebesar 1 MHz. Ini berarti penguatan op-amp akan menjadi 1 kali pada frekuensi 1 MHz. Jika perlu merancang aplikasi pada frekeunsi tinggi, maka pilihlah op-amp yang memiliki unity-gain frequency lebih tinggi.
Slew rate
Di dalam op-amp kadang ditambahkan beberapa kapasitor untuk kompensasi dan mereduksi noise. Namun kapasitor ini menimbulkan kerugian yang menyebabkan response op-amp terhadap sinyal input menjadi lambat. Op-amp ideal memiliki parameter slew-rate yang tak terhingga. Sehingga jika input berupa sinyal kotak, maka outputnya juga kotak. Tetapi karena ketidak idealan op-amp, maka sinyal output dapat berbentuk ekponensial. Sebagai contoh praktis, op-amp LM741 memiliki slew-rate sebesar 0.5V/us. Ini berarti perubahan output op-amp LM741 tidak bisa lebih cepat dari 0.5 volt dalam waktu 1 us.
Parameter CMRR
Ada satu parameter yang dinamakan CMRR (Commom Mode Rejection Ratio). Parameter ini cukup penting untuk menunjukkan kinerja op-amp tersebut. Op-amp dasarnya adalah penguat diferensial dan mestinya tegangan input yang dikuatkan hanyalah selisih tegangan antara input V1 (non-inverting) dengan input V2 (inverting). Karena ketidak-idealan op-amp, maka tegangan persamaan dari kedua input ini ikut juga dikuatkan. Parameter CMRR diartikan sebagai kemampuan op-amp untuk menekan  penguatan tegangan ini (common mode) sekecil-kecilnya. CMRR didefenisikan dengan rumus CMRR = ADM/ACM yang dinyatakan dengan satuan dB. Contohnya op-amp dengan CMRR = 90 dB, ini artinya penguatan ADM (differential mode) adalah kira-kira 30.000 kali dibandingkan penguatan ACM (commom mode). Kalau CMRR-nya 30 dB, maka artinya perbandingannya kira-kira hanya 30 kali. Kalau diaplikasikan secara real, misalkan tegangan input V1 = 5.05 volt dan tegangan V2 = 5 volt, maka dalam hal ini tegangan diferensialnya (differential mode) = 0.05 volt dan tegangan persamaan-nya (common mode) adalah 5 volt. Pembaca dapat mengerti dengan CMRR yang makin besar maka op-amp diharapkan akan dapat menekan penguatan sinyal yang tidak diinginkan (common mode) sekecil-kecilnya. Jika kedua pin input dihubung singkat dan diberi tegangan, maka output op-amp mestinya nol. Dengan kata lain, op-amp dengan CMRR yang semakin besar akan semakin baik.
Op-amp ideal
Op-amp pada dasarnya adalah sebuah differential amplifier (penguat diferensial) yang memiliki dua masukan. Input (masukan) op-amp seperti yang telah dimaklumi ada yang dinamakan input inverting dan non-inverting. Op-amp ideal memiliki open loop gain (penguatan loop terbuka) yang tak terhingga besarnya. Seperti misalnya op-amp LM741 yang sering digunakan oleh banyak praktisi elektronika, memiliki karakteristik tipikal open loop gain sebesar 104 ~ 105. Penguatan yang sebesar ini membuat op-amp menjadi tidak stabil, dan penguatannya menjadi tidak terukur (infinite). Disinilah peran rangkaian negative feedback (umpanbalik negatif) diperlukan, sehingga op-amp dapat dirangkai menjadi aplikasi dengan nilai penguatan yang terukur (finite). Impedasi input op-amp ideal mestinya adalah tak terhingga, sehingga mestinya arus input pada tiap masukannya adalah 0. Sebagai perbandingan praktis, op-amp LM741 memiliki impedansi input  Zin = 106 Ohm. Nilai impedansi ini masih relatif sangat besar sehingga arus input op-amp LM741 mestinya sangat kecil.
Ada dua aturan penting dalam melakukan analisa rangkaian op-amp berdasarkan karakteristik op-amp ideal. Aturan ini dalam beberapa literatur dinamakan golden rule, yaitu :
Aturan 1:
Perbedaan tegangan antara input V+ dan V- adalah nol (V+ - V- = 0 atau V+ = V- )
Aturan 2:
Arus pada input Op-amp adalah nol (i+ = i- = 0)
Inilah dua aturan penting op-amp ideal yang digunakan untuk menganalisa rangkaian op-amp.
Spesifikasi dan harga Fastrack M1306b(Q2406B)

Spesifikasi dan harga Fastrack M1306b(Q2406B)


Wavecom FASTRACK M1306 
Features:
Dual Band GSM modem (EGSM900/1800 MHz)
designed for data, fax, SMS and voice applications
Fully Type Approved and fully compliant with ETSI GSM Phase 2+ specifications (Normal MS) GSM/GPRS class 10,
Coding Schemes: CS1 to CS4,
Compliant with SMG31bis,
Optional embedded TCP/IP stack Short Messages Services features Text and PDU,
Point to point (MT/MO),
and Cell Broadcast GSM 07.05 and 07.07 AT commands

HARGA kisaran rata-rata : Rp 325 000.00
Spesifikasi dan harga modem wavecom  Fastrack M1206B (Q2403A)

Spesifikasi dan harga modem wavecom Fastrack M1206B (Q2403A)


Support baudrate 300 sampai 115200 bps.
Default baudrate 115200bps.
Komunikasi via RS232.
Sole antenna connection (for 900/1800).
Disertai adaptor, bisa langsung digunakan tanpa catudaya tambahan.

harga pasaran kisaran : Rp 300 000.00
SMS controller dengan mirkokontroller + Bascom AVM , AT Mega16, modem Wavecom Fastrack M1206B

SMS controller dengan mirkokontroller + Bascom AVM , AT Mega16, modem Wavecom Fastrack M1206B

berikut ini adalah contoh aplilaksi mikrokontroler dalam kehidupan sehari hari... mikrokontroller dapat dipergunakan dalam automatisasi waktu nyala / padam nya peralatan listrik, pengaman rumah / tambak/ kebun dan sebagaianya

Dalam artikel ini, akan dibahan mengenai aplikasi mikrokontroller sebagai pengendali peralatan listrik dengan SMS

Aplikasi yang akan kita buat ini berfungsi untuk meng ON-OFF kan pin ouput microcontroller melalui SMS.
Pin-pin output yang kita gunakan adalah PORTC yang sudah terhubung ke LED. Untuk men ON-OFF kan ouput, format sms yang harus dikirm #CMD.
Isi CMD merupakan data biner 4bit, misal:
  • #1111 (PORTC.0--PORTC.3 ON semua)
  • #0001 (hanya PORTC.0 yang ON)
  •  #0111(hanya PORTC.3 yang OFF) dst.
Untuk input kita gunakan tombol yang terhubung ke PIND.2, saat tombol di tekan microcontroller akan mengirim SMS “PIND.2= ON”.
Dalam aplikasi kita akan menggunakan LCD, RS232 dan interrupt jadi sebelum mencoba artikel ini simak dahulu artikel tentang LCD, RS232 dan interrupt 


Code yang digunakan:

$regfile = "m16def.dat"
$crystal = 11059200
$baud = 9600
$lib "lcd4busy.lbx"


'***********inisialiasi PORT I/O*********

Led Alias Portc.7
Config Portc = Output

Portd.2 = 1
Config Pind.2 = Input
Config Int0 = Falling
Config Debounce = 100

'***********inisialiasai variabel2 dan subroutine untuk lcd*********

'karakter logo AVRku.com - IndoLab.net
Deflcdchar 6 , 30 , 6 , 10 , 16 , 7 , 3 , 5 , 8
'karakater u loading
Deflcdchar 0 , 32 , 32 , 32 , 31 , 31 , 31 , 32 , 32        '       '

Config Lcd = 16 * 2
Const _lcdport = Portb
Const _lcdddr = Ddrb
Const _lcdin = Pinb
Const _lcd_e = 2
Const _lcd_rw = 1
Const _lcd_rs = 0
Cursor Off


Declare Sub Loading


'***********variabel2 untuk sms*********
Dim No_hp As String * 15
Dim Data_masuk As String * 100
Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte       'position of CMTI, CMGR, SMS index, Command
Dim Pjg_sms_index As Byte , Pjg_data As Byte
Dim Sms_index As String * 3
Dim Cmd As String * 4
Dim Cmdbin As Byte



'***********main program*********
No_hp = "+6285646690454"
'No_hp = Quote(no_hp)
Portc = &HFF
Call Loading
Print "Connection OK"
Enable Interrupts
Enable Int0
On Int0 Kirim_sms
Do


   Input Data_masuk
   Toggle Led

   Pjg_data = Len(data_masuk)

   'periksa apakah ada data CMTI?
   Cmti_pos = Instr(data_masuk , "CMTI")
   If Cmti_pos <> 0 Then
      Index_pos = Instr(data_masuk , ",")                   ' posisi index sms yg baru masuk berada setelah koma ","
      Incr Index_pos
      Pjg_sms_index = Pjg_data - Index_pos
      Incr Pjg_sms_index

      Sms_index = Mid(data_masuk , Index_pos , Pjg_sms_index)

      Cls
      Lcd Data_masuk
      Lowerline
      Lcd Cmti_pos ; "-" ; Pjg_data ; "-" ; Index_pos ; "-" ; Pjg_sms_index ; "-" ; Sms_index
      Print "AT+CMGR=" ; Sms_index ; Chr(13) ; Chr(10)

   End If


   'periksa apakah ada karakter #

   Cmd_pos = Instr(data_masuk , "#")
   If Cmd_pos <> 0 Then
      Incr Cmd_pos
      Cmd = Mid(data_masuk , Cmd_pos , 4)
      Cmdbin = Binval(cmd)
      Portc = Not Cmdbin

      Cls
      Lcd "Command Executed"
      Lowerline
      Lcd "Cmd= " ; Cmd
      Print "AT+CMGD=" ; Sms_index ; Chr(13) ; Chr(10)
   End If



Loop


'***********subroutine*********
Sub Loading
   Local Geser As Byte , Ulang As Byte

   For Ulang = 1 To 2
      Cls
      Lcd Chr(6)
      Lcd Chr(32)
      Lcd "AVRku-IndoLab"
      Lcd Chr(6)
      Locate 2 , 1
      Lcd "loading"
      For Geser = 0 To 5
         Lcd Chr(0)
         Waitms 200
      Next Geser
   Next Ulang

End Sub


Kirim_sms:
   Print "AT+CMGS=" ; Chr(34) ; No_hp ; Chr(34) ; Chr(44) ; Chr(13) ; Chr(10)
   Print "PIND.2= ON" ; Chr(26)
   Cls
   Lcd "Kirim SMS ke:"
   Lowerline
   Lcd No_hp
   Waitms 200
   Gifr = 64
Return
End


VIDEO saat program udah jalan bisa di lihat di  sini


PEMBAHASAN CODE PROGRAM:
$regfile = "m16def.dat"
$crystal = 11059200
$baud = 9600
$lib "lcd4busy.lbx"
Inisialisasi library yang digunakan (m16def.dat dan lcd4busy.lbx)
setting crystal dan baud rate (xtal=11,059200MHz dan baud=9600bps)

 
'***********inisialiasi PORT I/O*********

Led Alias Portc.7
Config Portc = Output

Portd.2 = 1
Config Pind.2 = Input
Config Int0 = Falling
Config Debounce = 100
PORTC.7 diberi nama Led (nama pengganti agar mudah diingat). Pin ini digunakan sebagai indikator data yang masuk lewat RS232, setiap ada data yang masuk maka PORTC.7 akan di on-off.
PORTC d setting sebagai output. Selain PORTC.7 kita juga akan menggunakan PORTC.0, PORTC.1, PORTC.2 dan PORTC.3
PIND.2 digunakan sebagai input, pin ini merupakan pin INTERRUPT EXTERNAL 0 jadi sekalian kita akan belajar cara memakai interrupt di BASCOM AVR.
nilai Debounce merupakan nilai delay untuk mengantisipasi bouncing saat tombol yang terhubung ke PIND.2 ditekan.

 
'***********inisialiasai variabel2 dan subroutine untuk lcd*********

'karakter logo AVRku.com - IndoLab.net
Deflcdchar 6 , 30 , 6 , 10 , 16 , 7 , 3 , 5 , 8
'karakater u loading
Deflcdchar 0 , 32 , 32 , 32 , 31 , 31 , 31 , 32 , 32        '       '

Config Lcd = 16 * 2
Const _lcdport = Portb
Const _lcdddr = Ddrb
Const _lcdin = Pinb
Const _lcd_e = 2
Const _lcd_rw = 1
Const _lcd_rs = 0
Cursor Off


Declare Sub Loading
setting untuk LCD dan men”daftar”kan sub routine “Loading” agar dikenali oleh Bascom AVR.

 
'***********variabel2 untuk sms*********
Dim No_hp As String * 15
Dim Data_masuk As String * 100
Dim Cmti_pos As Byte , Cmgr_pos As Byte , Index_pos As Byte , Cmd_pos As Byte       'position of CMTI, CMGR, SMS index, Command
Dim Pjg_sms_index As Byte , Pjg_data As Byte
Dim Sms_index As String * 3
Dim Cmd As String * 4
Dim Cmdbin As Byte
Inisialisasi variabel2 yang akan digunakan untuk sms.
No_hp = menyimpan no hp tujuan.
Data_masuk = data yang masuk ke serial dimasukkan ke variable ini
Cmti_pos =  menyimpan nilai saat proses mencari karakter “CMTI” di data_masuk. Saat ada sms baru, maka modem akan mengirim karakter “+CMTI” ke microcontroller.
Cmgr_pos = menyimpan nilai saat proses mencari karakter “CMTI” di data_masuk.  “+CMGR” akan  muncul begitu kita membaca sms.
Sms_index =  menyimpan nilai saat proses mencari posisi sms. Begitu sms diterima, maka sms tersebut oleh modem akan di simpan dengan nomer urut tertentu.
Index_pos =  menyimpan nilai saat proses mencari karakter “,” (koma).  Karakter koma berada sebelum sms_index, jadi kita harus cari dulu karakter koma setelah “CMTI” untuk menemukan sms_index.
Cmd_pos= menyimpan nilai saat proses mencari karakter “#” (pagar). Karakter pagar berada sebelum command (command ini untuk menggerakkan OUTPUT), jadi kita harus cari dulu karakter pagar saat membaca isi sms untuk menemukan command.
Cmd =  menampung command yang masuk
Cmdbin = menampung data biner hasil konversi dari Cmd. Data yang akan di keluarkan ke PORTC (output) harus dalam bentuk biner

 
No_hp = "+6285646690454"  
Nomer HP yang dituju,/ nomer HP user. Ganti sesuaikan dengan nomer HP yang anda gunakan.

 
Call Loading
Memanggil subroutine Loading.
Sub Loading
   Local Geser As Byte , Ulang As Byte

   For Ulang = 1 To 2
      Cls
      Lcd Chr(6)
      Lcd Chr(32)
      Lcd "AVRku-IndoLab"
      Lcd Chr(6)
      Locate 2 , 1
      Lcd "loading"
      For Geser = 0 To 5
         Lcd Chr(0)
         Waitms 200
      Next Geser
   Next Ulang

End Sub
Proses pada subroutine Loading hanya berupa animasi karakater pada LCD saat awal microcontroller dijalankan, just 4 fun Hot smile

 
Enable Interrupts
Enable Int0
On Int0 Kirim_sms
Mengaktifkan Interrupt. Saat terjadi Interrupt External 0 / Int0 / tombol PIND.2 ditekan, program akan menuju label Kirim sms :
Kirim_sms:
   Print "AT+CMGS=" ; Chr(34) ; No_hp ; Chr(34) ; Chr(44) ; Chr(13) ; Chr(10)
   Print "PIND.2= ON" ; Chr(26)
   Cls
   Lcd "Kirim SMS ke:"
   Lowerline
   Lcd No_hp
   Waitms 200
   Gifr = 64
Return
Dari code diatas bisa dilihat bahwa micro akan mengirim sms nomer hp user.
“Gifr=64” menset nilai bit ke enam pada register GIFR, bit ke enam pada GIFR untuk flag untuk INT0. Nilai ini perlu di set saat interrupt terjadi mencegah pemanggilan ulang interrupt ketika terjadi bouncing penekanan tombol.  Untuk latihan coba hilangkan baris code ini, lalu lihat apa yang terjadi saat tombol ditekan?

 
Input Data_masuk
Toggle Led
Data yang masuk  ditampung pada variabel Data_masuk. Setiap ada data yang masuk, maka led (PORTC.7) di ON-Off

 
Pjg_data = Len(data_masuk) 
Perintah Len untuk mengetahui jumlah data yang masuk (panjang data)

 
'periksa apakah ada data CMTI?
 Cmti_pos = Instr(data_masuk , "CMTI")
Instr digunakan untuk mengetahui posisi  string pada sebuah data. Pada contoh ini string yang kita cari adalah CMTI. 

 
If Cmti_pos <> 0 Then
      Index_pos = Instr(data_masuk , ",")                   ' posisi index sms yg baru masuk berada setelah koma ","
      Incr Index_pos
      Pjg_sms_index = Pjg_data - Index_pos
      Incr Pjg_sms_index

      Sms_index = Mid(data_masuk , Index_pos , Pjg_sms_index)

      Cls
      Lcd Data_masuk
      Lowerline
      Lcd Cmti_pos ; "-" ; Pjg_data ; "-" ; Index_pos ; "-" ; Pjg_sms_index ; "-" ; Sms_index
      Print "AT+CMGR=" ; Sms_index ; Chr(13) ; Chr(10)

End If
Saat Cmti_pos tidak sama dengan 0 berarti dalam variabel Data_masuk sudah ditemukan string CMTI yang menandakan ada sms baru. Proses yang dilakukan pada code diatas yaitu mencari karakter koma untuk mengetahui posisi index.
Selanjutnya mencari tahu berapa digit panjang index nya, apakah 2 digit atau hanya 1 digit. Perlu di ketahui m1206b bisa menyimpan sms dari index 1 – 20. Logika yang dipakai untuk mencari panjang digit ini dengan menggunakan perintah: Pjg_sms_index = Pjg_data – Index_pos
Setelah posisi  dan panjang  didapat, sekarang waktunya memisahkan index dari variable Data_masuk  kemudian ditampung ke  variabel Sms_index menggunakan perintah: Sms_index = Mid(Data_masuk, Index_pos, Pjg_sms_index)
Data2  variabel yang sudah didapat akan ditampilkan di LCD.

 
'periksa apakah ada karakter #

   Cmd_pos = Instr(data_masuk , "#")
   If Cmd_pos <> 0 Then
      Incr Cmd_pos
      Cmd = Mid(data_masuk , Cmd_pos , 4)
      Cmdbin = Binval(cmd)
      Portc = Not Cmdbin

      Cls
      Lcd "Command Executed"
      Lowerline
      Lcd "Cmd= " ; Cmd
      Print "AT+CMGD=" ; Sms_index ; Chr(13) ; Chr(10)
   End If
Mencari karakter # (pagar) yang menandakan command untuk menggerakkan output.
Proses yang terjadi pada code di atas adalah mengambil 4 data setelah karakter pagar. 4 data ini adalah command. 4 data yang masih bertipe string ini lalu dikonversi ke tipe biner dengan perintah Binval.
Data command yang sudah bertipe biner lalu dikeluarkan ke PORTC (tapi di NOT kan dulu karena LED-LED yang terhubung ke output bersifat active-low)


Sebelum microcontroller dan modem dihubungkan, setting modem Wavecom Fastrack m1206b harus di sesuaikan:
  1. Baudrate. Baudrate default wavecom fastrack m1206b adalah 115200bps sedangkan dalam program d atas memakai baudrate 9600bps. Untuk merubah setting modem kita gunakan terminal ( bisa pake terminal emulator, hyperterminal, tera term dll). Buka terminal dengan baudrate 115200 bps. Ketik: AT lalu enter. jika modem sudah terkoneksi dengan benar maka akan ada reply: OK.  ketik AT+IPR=9600  lalu enter. Tutup terminal. Buka lagi tapi dengan baudrate 9600bps. Ketik: AT lalu enter, jika ada reply: OK berarti pengubahan baudrate berhasil.
  2. Echo Off, ketik ATE0 lalu enter.
  3. Untuk menyimpan perubahan konfigurasi ketik AT&W lalu  enter.
  4. Koneksi m1206b ke PC dengan koneksi m1206b ke mikrokontroller ada sedikit perbedaan, perhatikan gambar berikut:  

Sunday 1 July 2012

no image

Selamat datang di http://artikeldelphi.blogspot.com/

Selamat datang di http://artikeldelphi.blogspot.com/
Blog ini merupakan catatan dari sekian banyak materi yang saya googling dan saya dapatkan (jika ada copast / repost mohon dimaklumi ... ) bertujuan untuk menjaga supaya juka suatu saat blog sumber artikel telah di hapus, blog ini mampu menjadi back up supaya dapat terus di akses oleh para pengguna internet di seluruh dunia, terutama yang berasal dari indonesia
Saya juga memiliki harapan blog ini mampu menjadi sarana belajar untuk saya maupun untuk orang lain selain itu tujuan pembuatan blog ini adalah penyaluran hobby saya yang sering online di dunia maya.
Selanjutnya saya mengucapkan banyak terimakasih kepada Komunitas Penggemar Pemrograman Delphi Indonesia , Komunitas penngemar pemrograman Delphi interbase, www.ilmukomputer.org , www.cenadep.org, www.Delphi.about.com. Serta website lain yang tidak dapat saya sebutkan satu persatu , dima website-website tersebut telah memberikan banyak ilmu kepada saya.

Mungkin dalam perjalanan ke depan aka ada banyak sekali artikel copy paste yang saya posting di blog ini … (tapi tenang saja biasanya alamat domain blog sumber artikel akan saya tampilkanpada bagian akhir artikel, jika ada penulis yang merasa kurang berkenan tulisannya saya posting pada blog ini, mohon contact melalui email : brianjoo123@gmail.com  )

Terima kasih atas kunjungan anda ….. selamat menikmati sajian kompilasi artikel Delphi di http://artikeldelphi.blogspot.com