Searching...
Minggu, 10 Juni 2012

AT Command


2.3.     AT Command
AT Command adalah semua perintah yang dikirimkan ke modem yang diawali dengan AT.[1] Kata AT berasal dari kata “attention” dikarenakan perintah AT dikirimkan lebih dulu atau di utamakan sebelum perintah lain untuk mendapat respon dari modem.[2]
AT Command diperkenalkan oleh Dennis Hayes pada tahun 1977 yang dikenal dengan “smart modem”.Modem bekerja pada baud rate 300 bps. Modem ini terdiri dari sederet instruksi yang mengatur komunikasi dan fitur-fitur di dalamnya. Salah satu contoh sederhana penggunaan AT Command misalnya komunikasi dua buah komputer menggunakan port COM (port R-232). AT Command mempunyai dua mode, yaitu mode data (data mode) dan mode perintah (command mode). Untuk berpindah dari mode data menuju mode perintah dipisahkan oleh tiga tanda plus dan jeda selama satu detik.
Dalam perkembangannya AT Command banyak diterapkan pada mobile handset (telepon sellular). Instruksi dasar AT Command digunakan hampir oleh semua merk telepon sellular. Namun demikian, ada beberapa instruksi yang ditambahkan sendiri pada handset tersebut oleh vendor pembuatnya.
Penggunaan AT Command pada handset telah mempermudah untuk mengetahui segala informasi yang terdapat pada handset tersebut. Dengan menggunkan instruksi tertentu kita akan dapat mengetahui merk, nomor IME dll. Selain itu dengan AT Command kita bisa menyetting instruksi atau mengaktifkan instruksi pada handset untuk melakukan fungsi tertentu, misalnya melakukan panggilan, mengirim sms, dsb.Pelu diketahui pula bahwa masing-masing vendor handset biasanya menyertakan AT Command yang mendukung produk tersebut.
Dibalik tampilan menu Message pada sebuah handphone sebenarnya ada AT Command yang bertugas mengirim atau menerima data dari atau ke SMSC.
AT Command yang berhubungan dengan SMS yang dipakai sebagai berikut:

Tabel 2.2 AT Command yang digunakan[3]
AT+CMGL

List SMS

Test command
AT+CMGL=?

Response
+CMGL: (list of supported <stat>s)
Parameter
<stat>
0 ”REC UNREAD”: received unread messages (default)
1 ”REC READ”: received read messages
2 ”STO UNSENT”: stored unsent messages
3 ”STO SENT”: stored sent messages
4 ”ALL”: all messages
Write command
AT+CMGL
[=<stat>]

Parameter
<stat> See Test command

Response
If PDU mode (+CMGF=0) and command are successful:
+CMGL:<index>,<stat>,[<alpha>],<length>
<CR><LF><pdu>[<CR><LF>
+CMGL: <index>,<stat>,[alpha],<length>
<CR><LF><pdu><CR><LF>
[...]]
Parameter
<pdu> The PDU begins with the service-center address (according to
GSM04.11), followed by the TPDU according to GSM03.40 in
hexadecimal format

Lanjutan Tabel 2.2 AT Command yang digunakan

AT+CMGR

Read in an SMS

Test command
AT+CMGR=?

Response
OK

Write command
AT+CMGR=
<index>

Parameter
<index> Index of message in selected memory <mem1>

Response
If PDU mode (+CMGF=0) and command are successful:
+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu>
Parameter
<pdu> Siehe “AT+CMGL”
otherwise:
+CMS ERROR: <err>

AT+CMGS

Send an SMS

Test command
AT+CMGS=?

Response
OK

Write command
If PDU mode (+CMGF=0)
+CMGS=<length><CR>PDU is given
<ctrl-Z/ESC>

Parameter
<length> Length of PDU
<pdu> See ”AT+CMGL”
<mr> Message reference
Response
If sending is successful:
+CMGS: <mr>
If sending is not successful:
+CMS ERROR: <err>

AT+CMGD
Delete an SMS in the SMS memory
Test command
At+CMGD=?

Response
OK

Write command
AT+CMGD=
<index>

Parameter
<index> Index of message in the selected memory <mem1>
Response
OK/ERROR/+CMS ERROR


2.4  Dot Matrik Display
Dot matrik merupakan himpunan (array) dari titik-titik yang digunakan untuk menampilkan karakter, simbol, dan gambar. Display dot matrik adalah perangkat display yang dapat digunakan untuk menampilkan informasi yang memerlukan perangkat display sederhana dengan resolusi terbatas. Tampilan terdiri dari matrik lampu yang disusun dalam konfigurasi persegi yang mana dengan switching pada lampu yang dipilih, teks atau gambar sederhana dapat ditampilkan. Sebuah kontroler dot matrik mengubah instruksi dari procesor menjadi sinyal pada sebagian lampu dalam matrik sehingga tampilan yang diperlukan dapat dihasilkan.
Display dot matrik umum disebut juga LED display. Kebanyakan LED bekerja di daerah inframerah dan cahaya tampak, meskipun sekarang ada UV LEDs. LED merupakan medium penunjuk yang lebih dapat dihandalkan daripada sumber cahaya lainnya seperti lampu neon dan bola lampu pijar.
LED display mempunyai daya guna yang tinggi dan sangat cocok untuk berbagai aplikasi pengukuran. LED display dapat berupa display numerik atau display alpha numerik. Display numerik hanya menampilkan angka, sedangkan display alpha numerik dapat menampilkan angka dan huruf.
LED display dapat memiliki common anoda atau common katoda. Pada konfigurasi common anoda semua segment pada LED berbagi satu pin anoda. Dalam konfigurasi common katoda semua LED berbagi satu pin katoda. Common cathode adalah rangkaian standard dimana katodanya dihubungkan pada titik ‘umum’ pada rangkaian, biasanya ground.
Spesifikasi display yang perlu dipertimbangkan ketika mencari digital LED display adalah jumlah baris dan jumlah karakter tiap barisnya. Pilihan warna standard untuk LED adalah merah standard, kuning, merah dengan efisiensi tinggi, oranye, hijau, dan biru. Spesifikasi display lainnya yang perlu dipertimbangkan antara lain panjang gelombang warna, dan jarak pandang. Panjang gelombang dari display ditentukan oleh warna dari LED. Jarak pandang ditentukan oleh kebutuhan ukuran minimum dari objek yang harus dapat dilihat oleh pengguna. Sudut pandang pada sumbu x dan y juga perlu untuk dipertimbangkan. Sudut pandang dari display adalah sudut antara garis normal ke permukaan display dan sumbu visual/penglihatan pengguna.

2.5  Teori Penguat ( Buffer ) Transistor Darlington
Rangkaian penguat ( buffer ) yang berdasarkan teori Darlington sangat banyak kita temukan di dunia elektronika, salah satunya dengan  menggunakan ULN 2003. Buffer (ULN2003) adalah suatu komponen yang berfungsi sebagai penguat Arus. Komponen ini dapat digunakan sebagai penguat input (data bergerak dari A menuju B) dan juga dapat dipakai sebagai penguat output (data bergerak dari B menuju A). Pengaturan untuk fungsi buffer ini  dipengaruhi oleh beberapa pin  dimana pada ULN2003 pin ini terdapat pada kaki ke 1 dinamakan dengan DIR aktif high serta kaki ke 19 dinamakan dengan OE  aktif low.
Agar buffer berfungsi sebagai input maka pin OE harus berada pada posisi low dan pin DIR  juga berada pada posisi low. Namun jika buffer akan difungsikan sebagai output maka pin DIR harus berada pada posisi low dan OE pada posisi low. Tabel 2.1  menunjukkan tabel kebenaran (Truth Table) dan gambar 2.1 menunjukkan diagram skematik dari ULN 2003.

Tabel 2.3  Truth Tabel  IC  ULN2003[4]


 Gambar 2.7 Diagram skematik ULN 2003[5]

2. 6 Teori scanning kolom
Pada Tugas Akhir ini sistem scanning yang digunakan untuk display dot matrik adalah scanning kolom. Diantarnya salah satunya dengan menggunakan 74LS164atau SIPO (serial input parallel output). 
Dengan menggunakan sistem ini tampilan akan dibuat dengan menampilkan tiap kolom dot matrik satu– persatu, dimana kolom – kolom dot matrik dihubungkan pada output 74LS164 dan 7 baris dot matrik dihubungkan pada port B mikrokontroler.
Untuk membuat scanning kolom maka input 74LS164 diberi logika high kemudian pada pin clock diberi logika low – high – low untuk memberikan input clock dengan tetap memberi logika high pada pin input.

2.7  Mikrokontroler AT Mega16
2.7.1 Gambaran Umum ATmega16
AVR merupakan seri mikrokontroler CMOS 8-bit buatan Atmel,berbasis arsitektur ISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.
Atmega16 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, Atmega16 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses. Pada umumnya mikrokontroler terdiri dari bagian-bagian sebagai berikut: Alamat (address), Data, Pengendali, Memori (RAM atu ROM), dan bagian input-Output.
Arsitektural ATmega16 adalah sebagai berikut:

Gambar 2.8 Blok Diagram ATmega16

2.7.2 Konfigurasi pin-pin ATmega16
o VCC
Sebagai tegangan penyuplai.
o Ground
Sebagai ground.
o Port A (PA7..PA0)
Port A sebagai input analog ke A/D konverter. Port A juga sebagai 8-bit bi-directional port I/O, jika A/D konverter tidak digunakan. Pin-pin port dapat menyediakan resistor-resistor internal pull-up. Ketika port PA0…PA7 digunakan sebagai input dan pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port A adalah tristate ketika kondisi reset menjadi aktif sekalipun clock tidak aktif.
Gambar 2.9  ATmega16
o Port B (PB7..PB0)
Port B adalah port I/O 8-bit bi-directional dengan resistor-resistor internal pull-up. Buffer output port B mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port B yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port B adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.
o Port C (PC7..PC0)
Port C adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port C mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port C yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port C adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif. Jika antarmuka JTAG enable, resistor-resistor pull26 up pada pin-pin PC5(TDI), PC3(TMS), PC2(TCK) akan diktifkan sekalipun terjadi reset.
o Port D (PD7..PD0)
Port D adalah port I/O 8-bit bi-directional dengan resistorresistor internal pull-up. Buffer output port D mempunyai karaketristik drive yang simetris dengan kemampuan keduanya sink dan source yang tinggi. Sebagai input, port D yang mempunyai pull eksternal yang rendah akan menjadi sumber arus jika resistor-resistor pull-up diaktifkan. Pin-pin port D adalah tri-state ketika kondisi reset menjadi aktif seklipun clock tidak aktif.
o Reset
Input Reset, pulsa akan menjadi minimum sekalipun clock bekerja.
o XTAL1
Input ke Inverting Oscillator Amplifier.
o XTAL2
Output dari Inverting Oscillator Amplifier.
o AREF
AREF adalah referensi analog ke A/D converter.
                                                                                                                  
2.7.3 Program Memori
2.7.3.1 Flash Memori
ATmega16 memiliki 16K byte flash memori dengan lebar 16 atau 32 bit. Kapasitas memori itu sendiri terbagi manjadi dua bagian yaitu bagian boot program dan bagian aplikasi program.

Gambar 2.10 Peta Memori Flash
Flash memori memiliki kemampuan mencapai 10.000 write dan erase.

2.7.3.2 Memori SRAM
Penempatan memori data yang lebih rendah dari 1120 menunjukkan register, I/O memori, dan data internal SRAM. 96 alamat memori pertama untuk file register dan memori I/O, dan 1024 alamat memori berikutnya untuk data internal SRAM. Lima mode pengalamatan yang berbeda pada data memori yaitu direct, indirect, indirect dis-placement, indirect pre-decreament dan indirect post-increament . Pada file register, mode indirect mulai dari register R26-R31. Pengalamatan mode direct mencapai keseuruhan kapasitas data. Pengalamatan mode indirect dis-placement mencapai 63 alamat memori dari register X atau Y. Ketika meggunakan mode pengalamatan indirect dengan pre-decrement dan post increment register X, Y, dan Z akan di-dicrement-kan atau di-increment-kan. Pada ATMega16 memiliki 32 register, 64 register I/O dan 1024 data internal SRAM yang dapat mengakses semua mode-mode pengalamatan



2.7.3.3 Memori EEPROM
Pada EEPROM ATmega16 memiliki memori sebesar 512 byte dengan daya tahan 100.000 siklus write/read.
Register-register pada memori EEPROM :
o Bit 15..9
Bit ini sebagai bit-bit bank pada Atmega16 dan akan selalu membaca zero.

o Bit 8..0
Bit-bit ini sebagai alamat EEPROM.
o Bit 7..4
Bit-bit ini sebagai data EEPROM.
o Bit 3
Bit ini sebagai Enable Interupt Ready pada EEPROM.
o Bit 2
Bit ini sebagai Enable Interupt Master pada EEPROM.
o Bit 1
Bit ini sebagai write enable pada EEPROM.
o Bit 0
Bit ini sebagai read enable pada EEPROM.


2.7.4 Port sebagai input/output digital
Seperti yang telah disebutkan ATmega16 mempunyai empat buah port yang bernama PortA, PortB, PortC, dan PortD. Keempat port tersebut merupakan jalur bidirectional dengan pilihan internal pull-up. Tiap port mempunyai tiga buah register bit, yaitu DDxn, PORTxn, dan PINxn. Huruf ‘x’mewakili nama huruf dari port sedangkan huruf ‘n’ mewakili nomor bit.
Bit DDxn terdapat pada I/O address DDRx, bit PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O address PINx. Bit DDxn dalam regiter DDRx (Data Direction Register) menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0 atau pin dikonfigurasi sebagai pin output.
Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1. Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state (DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0, PORTxn=1)atau kondisi output low (DDxn=1, PORTxn=0). Biasanya, kondisi pull-up enabled dapat diterima sepenuhnya, selama lingkungan impedansi tinggi tidak memperhatikan perbedaan antara sebuah strong high driver dengan sebuah pull-up. Jika ini bukan suatu masalah, maka bit PUD pada register SFIOR dapat diset 1 untuk mematikan semua pull-up dalam semua port. Peralihan dari kondisi input dengan pull-up ke kondisi output low juga menimbulkan masalah yang sama. Kita harus menggunakan kondisi tri-state (DDxn=0, PORTxn=0) atau kondisi output high (DDxn=1, PORTxn=0) sebagai kondisi transisi.

2.8 BAHASA C

Sejarah dan Standar C
Akar dari bahasa C adalah dari bahasa BCPL yang dikembangkan oleh Mrtin Richards pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thomson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah Bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT dan T Bell Laboratories). Bahasa C pertama kali digunakan di computer Digital Equipment Corporation PDP-11 yang menggunakan system opersi UNIX C adalah bahasa yang standar, artinya suatu program yang ditulis dengan bahasa C tertentu akan dapat dikonversi dengan bahasa C yang lain dengan sedikit modifikasi. Standar bahasa C yang asli adalah standar dari UNIX. Patokan dari standar UNIX ini diambil dari buku yang ditulis oleh Brian Kerningan dan Dennis Ritchie berjudul “The C Programming Language”, diterbitkan oleh Prentice-Hall tahun 1978. Deskripsi C dari Kerninghan dan Ritchie ini kemudian kemudian dikenal secara umum sebagai “K dan R C”.
 
Tipe Data
Didalam bahasa pemrograman computer, data yang digunakan umumnya dibedakan menjadi data nilai numerik dan nilai karakter. Nilai numerik dapat dibedakan lagi menjadi nilai numerik integer dan nilai numerik pecahan. Nilai numeric pecahan dapat dibedakan lagi menjadi nilai numerik pecahan ketetapan tungga dan nilai numerik pecahan ketetapan ganda. Bahasa-bahasa pemrograman computer membedakan
data ke dalam beberapa tipe dengan tujuan supaya data menjadi efisien dan efektif.
C menyediakan lima macam tipe data dasar, yaitu tipe data integer (nilai numerik bulat yang dideklarasikan dengan int), floatingpoint (nilai numerik pecahan ketetapan tunggal yang dideklarasikan dengan float), double-precision (nilai numerik pecahan ketetapan ganda yang dideklarasikan dengan double), karakter (dideklarasikan dengan char), dan kosong (dideklarasikan dengan void). Int, float, double dan char dapat dikombinasikan dengan pengubah (modifier) signed, unsigned, long dan short. 


Statemen Bahasa C
Statemen if
  • Bentuk if Tunggal Sederhana
Sintak dari bentuk if tunggal sederhana adalah sebagai berikut:
if(kondisi) statement;
  • Bentuk if –else
Sintak dari bentuk statemen if –else adalah sebagai berikut:
if(kondisi) statemen;
Else statemen;
  • Bentuk if –else-if…else
Bentuk ini disebut dengan if-else-if tangga,karena memiliki bentuk seperti tangga. Sintakdari bentuk ini adalah sebagai berikut:
if(kondisi1) statemen;
else if(kondisi2)
statemen;
ekse if(kondisi3)
statemen;
.
.
else
statemen;
  • Bentuk if Bersarang
Statemen if bersarang (nested if) merupkan statemen if yang berada di dalam (merupakan bagian dari) statemen if lainnya. Bentuk dari sttemen ini adalah sebagai berikut:
If(kondisi1)
If(kondisi2)
.
.
if(kondisin)
statemen;
else
statemen;
.
else
statemen;
else
statemen;
Statemen switch
  • Statemen switch Tunggal
Bentuk sintak dari statement switch tunggal adalah sebagai berikut:
switch(kondisi)
{
case konstanta1:
statemen-statemen;
break;
case konstanta2:
statemen-statemen;
break;
.
.
default;
statemen-statemen;
}
  • Statemen switch Bersarang
Statemen switch bersarang adalah statemen switch yang satu berada didalam statemen switch yang lain.

Perulangan
  • Statemen for
Statemen for mempunyai bentuk umum sebagai berikut:
for(awal, akhir, peningkatan) statemen;
  • Perulangan while
Bentuk umum dari statemen while adalah sebagai berikut:
while(kondisi) statemen;
  • Perulangan do – while
Bentuk umum dari perulangan ini adalah sebagai berikut:
do statemen while (kondisi);

Lompatan
Statemen goto dapat digunakan untuk melompati dari suatu proses ke bagian proses yang lainnya di dalam program.Bentuk umum dari statemen goto adalah sebagai berikut:
goto label;


[1] ..., www.cellular.co.za/glossary.htm
[2] ..., www.cellular.co.za/glossary.htm
[3] Manual AT Command Set for Seimens Mobile www.siemens.com/mobile
[4] Datasheet ULN2003
[5] Datasheet ULN2003

0 komentar:

Posting Komentar