GSM Modem SIM300 Part 2 (Pengoperasian dengan mikrokontroler)


Pengoperasian D-GSM300 dengan mikrokontroler ATMega 16 dilakukan dengan menghubungkan pin UART D-GSM300 pada pin UART mikrokontroler dan menjalankan at-command via mikrokontroler dan menampilkan respon dari modem pada LCD. Baudrate standar yang digunakan dalam komunikasi D-GSM300 dengan ATMega 16 adalah 115200 bps.

Antarmuka SIM300 Pada ATmega16

Beberapa pengujian pengoperasian modem GSM SIM300 dengan mikrokontroler sebagai berikut:

  1. Pengiriman SMS

Pengiriman sms dilakukan dalam mode teks. Pengoperasian pengiriman sms dengan menggunakan mikrokontroler dilakukan dalam 2 jenis yaitu pengiriman sms pada 1 penerima dan pengiriman sms pada banyak penerima (multiple recipient). Berikut potongan listing program mikrokontroler ATMega16 untuk mengirimkan at-commad pada modem gsm untuk mengirim sms:

void send_SMS()
{
Unsigned char petik=34;
printf("at+cmgf=1\x0D"); 
while (getchar()!='O');
while (getchar()!='K');
printf("at+cmgd=1\x0D");
while (getchar()!='O');
while (getchar()!='K');
printf("at+cmgw=%c087757554xxx %c\x0D",petik,petik);
while(getchar()!=62);
printf("Coba Kirim SMS Dari Mikrokontroler");
putchar(26); 
while (getchar()!='O');
while (getchar()!='K');
printf("at+cmss=1\x0D");
while (getchar()!='O');
while (getchar()!='K');
}

Sedangkan untuk mengirimkan SMS pada banyak penerima, di bagian akhir listing program diatas ditambahkan dengan perintah pengiriman pada nomor selanjutnya seperti contoh berikut.

printf("at+cmss=1,%085749722xxx%c\x0D",petik,petik);
while (getchar()!='O');
while (getchar()!='K');
printf("at+cmss=1,%085236808xxx%c\x0D",petik,petik);
while (getchar()!='O');
while (getchar()!='K');

Dari Pengoperasian ini didapatkan bahwa komunikasi antara modem gsm dengan mikrokontroler telah berjalan dengan baik. Hal ini dibuktikan bahwa sms dengan isi pesan “Coba Kirim SMS Dari Mikrokontroler” di terima disemua nomor tujuan.

2. Pembacaan SMS

Pembacaan sms dari modem gsm dilakukan dalam mode teks sehingga tidak perlu dilakukan decoding untuk membaca isi pesan. Pengoperasian pembacaan sms dengan mikrokontroler dilakukan dengan mengirimkan at-command pada modem gsm secara serial dari mikrokontroler. Modem gsm akan merespon dengan membaca sms dan dikirimkan secara serial pada mikrokontroler. Karakter sms yang dikirimkan modem gsm pada mikrokontroler secara serial ditampung dalam suatu array dan ditampilkan pada layar LCD. Berikut potongan listing program pembacaan sms pada indeks memori 1 dari mikrokontroler dan ditampilkan pada layar LCD 16×2. Continue reading

At-Command GSM modem SIM300 part 1 (pengoperasian dengan komputer)


Perangkat GSM yang digunakan dalam tutorial ini adalah D-GSM300 yaitu Modul SIMCOM SIM300 yang dikembangkan oleh Delta Electronic menjadi Modul GSM Modem siap pakai sehingga perangkat mikrokontroler maupun PC dapat mengaksesnya dengan mudah. PC dapat mengakses modul ini melalui port RS232 yang disediakan sedangkan mikrokontroler dapat mengakses melalui port serial. Untuk netbook atau laptop yang tidak memiliki port serial, dengan tambahan DU232, DGSM300 dapat diakses melalui port USB. Dalam pengguanaan modem gsm digunakan perintah atau yang lebih dikenal dengan “at-command” yang ditetapkan baik secara internasional maupun oleh vendor pembuat modem itu sendiri.

pengoperasian D-GSM300 dengan PC dilakukan menghubungkan port RS232 D-GSM300 pada port RS232 PC. Software yang digunakan adalah GTKterm/minicom (linux) atau Hyperterminal (windows). Baudrate standar yang digunakan D-GSM300 adalah 115200 bps. Terdapat beberapa percobaan yang dilakukan

Melakukan panggilan ke no HP

Melakukan panggilan ke no HP dilakukan dengan mengirimkan at-command sebagai berikut.

atd 087757554243;
OK
ath

Keterangan:

  • atd 08xxx;” adalah perintah standar untuk melakukan paggilan

  • OK” adalah respon dari SIM300 bahwa panggilan berhasil dilakukan

  • ath” adalah perintah untuk melakukan hang up atau mengakhiri panggilan

Pengiriman SMS

Untuk melakukan pengiriman SMS terdapat beberapa at-command yang perlu diketahui antara lain seperti pada tabel berikut.

at-command yang digunakan dalam mengirim pesan

No.

At-command

Keterangan

1.

+CMGS

Mengirimkan sms tanpa menyimpan pada memori

2.

+CMSS

Mengirimkan sms dari memori

3.

+CMGW

Menulis sms pada memori

Sumber: SIM300 ATC V2.00, 2007

Berikut at-command yang digunakan dalam pengujian pengiriman SMS melalui komputer:

at
OK
at+cmgf=1
OK
at+cmgw=”087757554243”
> Coba kirim SMS dari PC
+CMGW: 1

 OK
at+cmss=1
+CMSS: 20 
OK

Keterangan:

  • at” adalah perintah untuk menguji koneksi modem GSM terhadap software dikomputer. Respon “OK” menandakan bahwa koneksi dalm kondisi baik

  • at+cmgf=1” adalah perintah untuk memerintahkan modem GSM bekerja pada SMS mode teks. Respon “OK” menandakan perintah berhasil di eksekusi. Jika respon “ERROR” menandakan bahwa modem GSM tidak mendukung SMS mode teks. Untuk menguji perangkat GSM mendukung SMS text mode dan SMS pdu mode dapat menggunakan perintah “at+cmgf=?”. Jika respon “+CMGF:(0,1)” (0=pdu mode dan 1=text mode) menandakan perangkat GSM mendukung mode teks dan pdu. Tetapi jika respon “+CMGF:(0)” menandakan perangkat hanya mendukung pdu mode.

  • at+cmgw=”087757554243”” lalu tekan enter adalah perintah untuk menulis sms pada memori dengan “087757554243” nomor penerima. Respon “>” adalah respon modem GSM yang menandakan pesan dapat ditulis. Dalam uji coba ini pesan SMS adalah “Coba kirim SMS dari PC”. Ketika selesai menulis pesan diakhiri dengan menekan Ctrl+z.

  • “+CMGW:1” adalah respon dari modem menandakan bahwa pesan disimpan dalam index memori 1 dan “OK” adalah respon bahwa perintah +CMGW berhasil dijalankan.

  • “at+cmss=1” adalah perintah untuk mengirimkan SMS yang tersimpan dalam memori index 1 sebagaimana diketahui dari respon “+CMGW:1” di atas.

  • “+CMSS: 20” adalah respon dari modem GSM menandakan bahwa nomor referensi dari pesan diletakkan dalam index 20 dan “OK” menandakan bahwa perintah pengiriman pesan berhasil.

Continue reading

Penyimpanan dan Pengaksesan Data pada EEPROM AT24C128


AT24C128 merupakan salah satu eeprom eksternal pabrikan ATMEL Corp. yang memiliki kapasitas memori 16384 x 8 bit. Antarmuka yang digunakan untuk mengakses eeprom adalah I2C. Memori ini adalah merupakan memori eksternal yang cukup efektif bagi mikrokontroler-mikrokontroler yang membutuhkan ekstra memori. Hal ini disebabkan karena antarmuka EEPROM hanya membutuhkan 2 jalur saja sehingga mereduksi pemakaian I/O mikrokontroler. Selain itu antarmuka I2C bisa mengkomunikasikan maksimal 8 perangkat sekaligus dalam 2 jalur I2C dengan syarat alamat setiap perangkat berbeda.

Untuk mengakses eeprom ekternal AT24C128 memiliki alamat standar sebagai berikut.

Alamat perangkat EEPROM eksternal AT24C128

Keterangan:

Bit 4-7 : Identitas dari eeprom eksternal

A0 – A1 : Alamat input perangkat yang dapat diubah-ubah secara hardware

Bit 0 (R/W) : bit baca/tulis dengan 0 untuk tulis dan 1 untuk baca

Untuk menulis data 1byte pada eeprom dibutuhkan 2 byte alamat data (address high dan address low) yang mengikuti alamat perangkat eeprom kemudian diikuti oleh data itu sendiri yang akan disimpan pada eeprom. Untuk lebih jelasnya format penulisan data pada eeprom dapat dilihat dari gambar berikut.

Format penulisan data 1byte pada EEPROM eksternal

Continue reading

Jam Digital Dengan RTC DS1307


RTC yang  digunakan dalam project ini adalah RTC DS1307 dengan antarmuka I2C. RTC DS1307 menyediakan pewaktu dalam detik, menit, jam, hari, tanggal, menit, bulan dan tahun yang memiliki akurasi hingga tahun 2100. Selain itu, RTC ini menyediakan pin battery-backup untuk dihubungkan pada baterai lithium 3V atau sumber energi lain sehingga ketika supply energi utama (VCC dan GND) mati, battery-backup mengambil alih supply energi pada RTC dan timer tetap berjalan sebagaimana mestinya. Penggunaan 3V lithium 48mAh battery-backup, RTC hanya mengkonsumsi arus kurang dari 500nA sehingga dengan baterai tersebut mampu bertahan hingga 11 tahun. Pengaksesan alamat perangkat dan register Timekeeper pada RTC ini melalui antar muka I2C dengan format seperti gambar berikut.

Penulisan data pada RTC (slave receive mode)

Pembacaan data dari RTC (slave transmitter mode)

Untuk menampilkan jam dan tanggal dari RTC DS1307 dilakukan dengan pengaksesan register pewaktu pada RTC dan ditampilkan pada LCD dengan program yang dibuat pada CodevisionAVR. Pada Codevision AVR terdapat fitur I2C bus dan koneksi pada RTC DS1307 sehingga hanya tinggal melakukan pengaksesan data pada register timekeeper RTC. Berikut langkah pengaturan pada widzard CodevisionAVR untuk pengaturan fitur I2C bus dan koneksi pada RTC DS1307 Continue reading

Kontrol Kecepatan Kipas AC Dengan Kontrol Fuzzy


Fuzzy set pertama kali diperkenalkan oleh prof. Lotfi Zadeh pada tahun 1965 dalam papernya yang berjudul “Fuzzy Set”. Dalam paper tersebut dipaparkan ide dasar fuzzy set yang meliputi inclusion, union, intersection, complement, relation dan convexity. Ide tersebut terus dimatangkan oleh Zadeh dengan paper-papernya yang diantaranya berjudul “Probability Measures of Fuzzy Events”, “Decision-Making in a Fuzzy Environment”, “Similarity Relations and Fuzzy Ordering” dan lain-lain. Pelopor aplikasi fuzzy set dalam bidang kontrol yan merupakan aplikasi pertama dan utama dari fuzzy set adalah Prof. Ebrahim Mamdani dan kawan-kawan dari Queen Mary College London. Aplikasinya meliputi proses pada tangki pencampur dan mesin uap yang semuanya dalam skala lab. Penerapan kontrol logika fuzzy secara nyata diindustri banyak dipelopori para ahli dari Jepang misalnya Prof. Sugeno dan kawan-kawan dari Tokyo Institute of Technology, Prof. Yamakawa dari Kyusu Institute of Technology melakukan penelitian dasar dari komputer fuzzy, sedangkan Togai dan Watanabe dari Bell Telephne Labs berhasil menciptakan untuk pertama kalinya chip logika fuzzy.

Begitulah sedikit pengantar tentang sejarah logika fuzzy dan pelopor penerapan logika fuzzy dalam bidang kontrol. Dalam tulisan ini akan dibahas sedikit tentang contoh sederhana penerapan logika fuzzy untuk pengontrolan kecepatan kipas angin dengan 2 parameter input yaitu jumlah orang dalam ruangan dan suhu ruangan serta 1 parameter output yaitu PWM kipas angin. Dalam aplikasi ini sensor yang digunakan untuk mencounter jumlah orang dalam ruangan adalah dua pasang sensor IR yang diletakkan di pintu ruangan sedangkan untuk mengukur suhu ruangan digunakan sensor LM35 yang memiliki tingkat kepresisian yang lumayan bagus. Semua parameter tersebut diinputkan pada sebuah kontoler Atmega 16 dan output dari kontoler di umpankan pada rangkaian switching solid state untuk mengatur kecepatan dari kipas angin.

Dalam kontrol logika fuzzy terdapat beberapa tahapan yaitu Fuzzyfikasi, Fuzzy Rule (rule based) dan Defuzzyfikasi. Fuzzyfikasi adalah proses untuk mendapatkan besarnya derajat keanggotaan masukan yang berupa suatu variabel numerik non-fuzzy (elemen himpunan) dalam suatu himpunan fuzzy atau dengan kata lain fuzzyfikasi adalah proses pengubahan data-data numerik dari parameter input (sensor) menjadi data-data fuzzy untuk proses pengolahan fuzzy lebih lanjut. Dalam hal ini proses fuzzyfikasi adalah bagaimana kita menyajikan data-data numerik input yang bersifat riil pada suatu grafik fuzzy dengan sumbu-x sebagai semesta pembicaraan dan sumbu-y sebagai derajat keanggotaan. Penentuan keanggotan suatu himpunan fuzzy tidak dibatasi oleh aturan-aturan tertentu. Terdapat tiga macam keanggotaan yang sering digunakan yaitu fungsi keangotaan S, π dan T (segitiga). Dalam aplikasi ini proses fuzzyfikasi menggunakan fungsi keanggotaan T (segitiga) dengan derajat keanggotaan max 100 dan semesta pembicaraan sesuai dengan nilai yang kita inginkan. Berikut adalah fuzzyfikasi dari masukan kontrol diatas.

Continue reading

Sensor SHT11


SHT11 adalah sensor digital untuk temperatur sekaligus kelembapan pertama didunia yang diklaim oleh pabrik pembuatnya yaitu Sensirion Corp yang mempunyai kisaran pengukuran dari 0-100% RH dan akurasi RH absolut +/- 3% RH. Sedangkan akurasi pengukuran temperatur +/- 0.4oC pada suhu 25 oC. Modul sensor ini sudah memiliki keluaran digital dan sudah terkalibrasi, jadi pengguna tidak perlu lagi melakukan konversi A/D ataupun kalibrasi data sensor. Antarmuka modul ini adalah serial 2-wire (bukan I2C) sehingga sangat menghemat jalur I/O kontroler.

Dalam tulisan ini akan dibahas cara menghubungkan modul SHT11 dengan rangkaian sistem minimum dan berikut ulasan tentang programnya menggunakan bahasa c. Hubungan antara modul SHT11 dengan sistem mikrokontroler Atmega8535 sebagai berikut:

*pin ini tidak mutlak dan dapat diganti dengan pin lain tetapi program juga harus disesuaikan

PA.0 digunakan untuk membaca dan menulis data dari/ke modul SHT11. Sedangkan PA.1 digunakan untuk menghasilkan pulsa (clock) untuk sinkronisasi proses komunikasi 2-wire. Dalam permintaan pengukuran temperatur dan kelembapan secara teknis sama hanya perbedaannya terletak nilai byte permintaan pengukuran yaitu nilai byte=0x03 untuk temperatur dan nilai byte=0x05 untuk kelembapan. Diagram alir program untuk meminta modul SHT11 melakukan pegukuran temperatur serta membaca hasil pengukuran sebagai berikut :

Continue reading

Termometer Digital Dengan Sensor LM35


Aplikasi thermometer digital dilakukan dengan melakukan konversi suhu menjadi data digital sehingga dapat diolah mikrokontroler. Proses konversi pertama kali dilakukan dengan mengubah suhu menjadi tegangan analog dan dilanjutkan dengan konversi tegangan analog menjadi data digital.

Konversi suhu menjadi tegangan analog dilakukan dengan menggunakan sensor suhu tipe LM35 di mana sensor ini dapat beroperasi dengan menggunakan tegangan sumber di antara 4 – 30 volt DC. LM35 adalan sensor temperatur yang paling banyak digunakan untuk praktek karena selain harganya murah, linearitasnya cukup bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan tingkat akurasi sekitar ¼ oC pada temperatur ruangan dan sekitar ¾ oC pada kisaran -55 sampai +150 oC. Keluaran sensor ini akan naik sebesar 10 mV setiap derajat Celcius sehingga diperoleh persamaan berikut:

VLM35 = Temperatur * 10 mV

Rangkaian penguat

Rangkaian Non Inverting Amplifier pada gambar 2 dengan VR3 sebesar 50K dan R9 = 10K dapat digunakan untuk mengatur agar keluaran dari LM35 lebih besar 5 kali sehingga keluaran amplifier ini dapat menghasilkan kenaikan tegangan sebesar 50 mV untuk setiap Derajat Celcius. Continue reading

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: