Tutorial Starduino: Program Cek Koneksi Starduino Dengan Modem GSM Wavecom Dengan Perintah AT

starduino_wavecom2

Gambar di samping adalah foto pengujian koneksi antara Starduino Board yang berbasis mikrokontroler ATmega8 dengan Modem GSM Wavecom M1306B.

Pengujian koneksi dilakukan dengan cara sebagai berikut: Starduino mengirimkan “AT<CR>” kepada modem, yang mana jika perintah tersebut diterima dengan benar oleh modem, maka modem akan mengirimkan jawaban berupa “OK”.

Sebagai indikator adalah LED yang terhubung ke pin 13 dari Starduino (pada gambar adalah LED Merah yang sedang menyala, dan selanjutnya disebut sebagai LED-13). Skenario pengecekan koneksi antara Starduino dengan Modem GSM Wavecom adalah sebagai berikut:

  • Sebelum mengirimkan perintah “AT<CR>”, Starduino akan menyalakan LED-13 secara berkedip sebanyak 3 kali dengan periode kedipan yang cukup cepat yakni sekitar 100ms (50ms ON – 50ms OFF).
  • Setelah LED berkedip 3 kali, Starduino mengirimkan perintah “AT<CR>”.
  • Selanjutnya, Starduino menunggu balasan dari Modem GSM Wavecom.
  • Jika menerima data “OK”, maka Starduino akan kembali mengedipkan LED-13 sebanyak 3 kali namun dengan periode yang lebih lama yakni sekitar 1000ms (500ms ON – 500ms OFF).
  • Selama perintah “AT<CR>” dari Starduino dijawab dengan “OK” oleh Modem GSM Wavecom, maka LED-13 akan berkedip-kedip terus dengan pola yang sama seperti yang telah dijelaskan.

Nah, berikut adalah listing programnya.

/* CEK KONEKSI MODEM DENGAN AT=OK
    Chandra MDE – Teknik Elektro Links */
int OK;
char curr_char, prev_char;

void setup()
{
  pinMode(13, OUTPUT);
  Serial.begin(115200);
}

void loop()
{
  while(1)
  {
    //Kedip 3 kali (cepat) sebelum kirim AT<CR> ke MODEM
    //=====================================
    digitalWrite(13, HIGH); delay(50);
    digitalWrite(13, LOW);  delay(50);
    digitalWrite(13, HIGH); delay(50);
    digitalWrite(13, LOW);  delay(50);
    digitalWrite(13, HIGH); delay(50);
    digitalWrite(13, LOW);  delay(500);

    //Kirim AT<CR> ke MODEM
    //=================
    Serial.print(“AT”);
    Serial.write(13);

    //Tunggu balasan dari MODEM
    //====================
    curr_char = prev_char = 0;
    OK = 0;
    while(!OK)
    {
      if (Serial.available() > 0)
      {
        curr_char = Serial.read();
        if (prev_char==’O’ && curr_char==’K’)
          OK = 1;
        else
          prev_char = curr_char;
      }
    }

    //Pastikan tidak ada karakter tersisa di buffer serial
    //===================================
    while (Serial.available()) Serial.read();

    //Kedip 3 kali (lama) setelah terima “OK” dari MODEM
    //====================================
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW);  delay(500);
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW);  delay(500);
    digitalWrite(13, HIGH); delay(500);
    digitalWrite(13, LOW);  delay(500);   
  }
}

Saya merasa tidak perlu menjelaskan listing program di atas secara terperinci. Listing program di atas sudah diberi komentar-komentar yang akan membantu Anda membaca dan memahami blok-blok program beserta fungsi-fungsinya.

Pada aplikasi modem, sangatlah penting untuk mengetahui setiap saat apakah koneksi antara kontroler dengan modem terhubung dengan baik. Setelah kontroler mengetahui bahwa koneksi dengan modem baik, maka kontroler dapat mengirimkan perintah-perintah selanjutnya sesuai dengan program. Dan jika ternyata koneksi dengan modem bermasalah, maka kontroler dapat memberikan tanda peringatan kepada user.

Starduino dapat langsung dihubungkan dengan Modem GSM Wavecom karena tipe konektor port serialnya adalah DB9-Male sehingga konektor modem dapat langsung dihubungkan ke port serial Starduino.

Jika Anda membutuhkan Starduino Board atau bahkan lengkap dengan Modem GSM Wavecom seperti pada foto di atas, silakan langsung menghubungi kami melalui: http://teknikelektrolinks.com/kontak.htm.

Semoga bermanfaat, selamat belajar, dan selamat berkarya!

🙂

Starduino Board – Layout Pin I/O

Starduino Board menggunakan ATMEL AVR ATmega8 sebagai mikrokontrolernya. Sedikit berbeda dengan Arduino Duemilanove yang memiliki 6 buah pin PWM, Starduino hanya memiliki 3 buah pin PWM. Arduino Duemilanove menggunakan ATmega328. Namun demikian, kecuali 3 pin PWM tersebut, fungsi semua pin Starduino adalah sama dengan Arduino Duemilanove.

Gambar berikut ini menunjukkan nomor-nomor pin dari masing-masing terminal pada Starduino Board. Nomor-nomor tersebut sesuai dengan pemetaan pin I/O pada Arduino.

starduino_layout

Pin bernomor 0-7 pada terminal bagian atas adalah pin-pin digital, demikian juga dengan pin nomor 8-13 pada terminal bagian bawah. Pin digital 9, 10, dan 11 dapat digunakan sebagai keluaran berupa sinyal PWM.

Pin 0-5 (Analog In) adalah pin-pin analog input yang mewakili ADC0-ADC5. Selain digunakan sebagai masukan analog, pin-pin ini juga dapat difungsikan sebagai pin digital dengan nama A0-A5.

Penggunaan nomor ini merupakan salah satu kelebihan konsep yang dimiliki oleh Arduino. Untuk mendayagunakan pin digital, Arduino memiliki beberapa fungsi spesial yang sangat mudah dipahami dan digunakan. Berikut adalah contoh program sederhana pengaksesan pin digital.

void setup()
{
pinMode(7, OUTPUT); //pin 7 sebagai keluaran
}

void loop()
{
digitalWrite(7, HIGH); //pin 7 = HIGH
delay(500); //delay 500ms
digitalWrite(7, LOW); //pin 7 = LOW
delay(500); //delay 500ms
}
 

Sangat mudah, sehingga meskipun kita tidak mengetahui konfigurasi pin ATmega8, kita dapat mengakses pin-pin tersebut secara langsung dengan menggunakan fungsi-fungsi yang telah disediakan oleh Arduino. Tak hanya mudah, fungsi-fungsi Arduino telah digunakan dan diuji oleh ratusan ribu atau bahkan mungkin jutaan orang, sehingga tidak perlu diragukan kualitas programnya.

Nah, jika Anda berminat dengan Starduino Board, silakan mengunjungi situs http://teknikelektrolinks.com untuk mengetahui informasi harga dan pemesanan.

Selamat belajar!

Selamat Datang!

Selamat datang di blog Starduino Board – blog khusus untuk pemula yang membahas tentang tutorial, tip dan trik, serta contoh-contoh aplikasi menggunakan board mikrokontroler Starduino 1.0.

starduino_1_0Starduino 1.0 adalah sebuah board mikrokontroler berbasis mikrokontroler ATMEL ATmega8 yang telah ditanami bootloader Arduino. Oleh karenanya, Starduino 1.0 dapat diprogram secara langsung menggunakan program Arduino. Starduino 1.0 adalah board mikrokontroler yang merupakan turunan dan modifikasi dari Arduino model lama yang masih menggunakan ATmega8. Namun demikian, jika memang aplikasinya membutuhkan memori program yang lebih besar, maka board ini juga dapat digunakan untuk mikrokontroler tipe ATmega168 dan ATmega328.

Adapun spesifikasi board STARDUINO 1.0 adalah sebagai berikut:

  • Mikrokontroler AVR ATmega8-16PU dengan Bootloader Arduino
  • 14 pin digital I/O dengan nomor 0-13 (3 diantaranya adalah dapat difungsikan sebagai PWM Output)
  • 6 pin ADC-Input (dapat juga digunakan sebagai digital I/O)
  • Port serial RS232 dengan konverter tegangan MAX232
  • Tegangan input AC/DC 9-18V (bisa langsung dari trafo)
  • 5 buah +5V Power-Port
  • Dimensi 10 x 4,5 cm

Paket Starduino 1.0 yang terdiri dari board Starduino, kabel serial, dan CD STARDUINO 1.0 dapat Anda dapatkan melalui situs Teknik Elektro Links di: http://telinks.co.nr.

paket_starduino

CD Starduino 1.0 berisi program-program antara lain: Arduino-022, Lazarus, Processing, dan beberapa program freeware dari Teknik Elektro Links seperti kalkulator warna gelang resistor, kalkulator display seven-segment, dan kalkulator heater tiga-fasa.

Silakan mengunjungi blog ini sewaktu-waktu untuk menikmati sajian tutorial, tip dan trik, serta contoh-contoh aplikasi Starduino Board dan pemrograman Arduino-022. Dapatkan juga tutorial dan contoh aplikasi pemrograman antarmuka antara komputer dan Starduino menggunakan VB.NET, Lazarus, dan Processing.

Pastikan alamat email Anda terdaftar dalam blog ini untuk mendapatkan email notifikasi mengenai tulisan terbaru dari kami. Silakan mendaftarkan email Anda pada widget Email Subscription di bagian atas halaman blog ini.

Terima kasih atas kunjungan Anda dan Selamat Belajar!

Winking smile