Kirim & Terima SMS dengan Mudah menggunakan GSM SIM900 Shield untuk Arduino Mega
Komponen dan Perlengkapan
- Arduino Mega 2560 – 1 unit
- Shield GSM/GPRS berbasis Seeed SIM900 – 1 unit
Aplikasi dan Layanan Online
- Visuino - Lingkungan Pengembangan Grafis untuk Arduino
- Arduino IDE
Tentang Proyek Ini
Salah satu elemen penting dalam membangun proyek IoT adalah kemampuan untuk menghubungkan perangkat. Wi-Fi dan Bluetooth adalah pilihan rendah biaya yang baik, tetapi mereka hanya bekerja pada jarak dekat, atau di area hotspot. Ketika perangkat perlu berada di lokasi jarak jauh GSM adalah opsi yang baik dan mudah diatur.
Dalam Tutorial ini, saya akan menunjukkan kepada Anda betapa mudahnya mengirim dan menerima pesan SMS melalui GSM dengan Arduino.
Dalam Tutorial berikutnya, saya juga akan menunjukkan kepada Anda bagaimana Anda dapat terhubung melalui GSM ke Internet dan mengakses server, dan bagaimana Anda dapat menangani panggilan suara.
Langkah 1: Komponen
- Satu Arduino Mega (Anda dapat menggunakan papan lain, tetapi sebaiknya menggunakan papan yang memiliki 2 atau lebih port serial. Proyek dapat dimodifikasi untuk menggunakan Software Serial, tetapi menggunakan serial hardware disarankan)
- Satu Shield GSM berbasis SIM900 atau Shield atau Modul kompatibel dengan Kartu SIM yang terinstal (Gambar 2) (Saya menggunakan Shield GSM/GPRS Versi 1.0 dari Seeed Studio)
- 2 kabel jumper Female-Male
Langkah 2: Hubungkan Shield GSM ke Arduino
- Hapus Cap Jumper dari Jumpers Seleksi RX dan TX Shield GSM (Gambar 1)
- Pasang Shield GSM di atas Arduino Mega
- Sambungkan Ujung Jantan dari kabel jumper Male-Female (Kabel Oranye) ke pin RX1 Arduino Mega (Gambar 2 dan 3)
- Sambungkan Ujung Jantan dari kabel jumper Male-Female (Kabel Coklat) ke pin TX1 Arduino Mega (Gambar 2 dan 3)
- Sambungkan ujung Betina dari kabel RX1 (Kabel Oranye) ke pin tengah dari Jumper Seleksi RX Shield GSM (Gambar 4)
- Sambungkan ujung Betina dari kabel TX1 (Kabel Coklat) ke pin tengah dari Jumper Seleksi TX Shield GSM (Gambar 4)
- Gambar 5 menunjukkan Shield GSM yang terinstal dan terhubung
Langkah 3: Mulai Visuino, dan pilih tipe papan Arduino
Untuk memprogram Arduino, Anda perlu menginstal Arduino IDE dari sini: https://www.arduino.cc/ .
Pastikan Anda menginstal versi 1.6.7 atau lebih tinggi, jika tidak Tutorial ini tidak akan bekerja!
Visuino: https://www.visuino.com juga perlu diinstal.
- Mulai Visuino seperti yang ditunjukkan dalam gambar pertama
- Klik tombol "Tools" pada komponen Arduino (Gambar 1) di Visuino
- Ketika dialog muncul, pilih "Arduino Mega 2560" seperti yang ditunjukkan dalam Gambar 2
Langkah 4: Di Visuino: Atur kecepatan channel Serial 1 ke 19200
Shield GSM dikonfigurasi secara default untuk kecepatan port serial 19200. Kita perlu mengonfigurasi Port Serial 1 untuk kecepatan ini:
- Di Object Inspector, per properti "Serial", kemudian Sub-Properti "Item[ 1 ]", dan pilih Sub-Properti "Speed" (Gambar 1)
- Di Object Inspector, klik tombol "Down Arrow" di samping nilai Sub-Properti "Speed" (Gambar 1)
- Dari daftar Drop Down pilih "19200" (Gambar 2), untuk mengubah nilai properti (Gambar 3)
Langkah 5: Di Visuino: Tambahkan dan sambungkan komponen Serial GSM/GPRS
Kita perlu menambahkan komponen untuk mengontrol Modul GSM. Modul dikontrol melalui channel Serial, jadi kita perlu menghubungkannya. Pin Digital 9 digunakan untuk menyala/mematikan Modul:
- Ketik "gsm" di kotak Filter Toolbox Komponen, lalu pilih komponen "GSM/GPRS Serial" (Gambar 1), dan tarik ke area desain (Gambar 2)
- Sambungkan pin output "Out" komponen GSM1 ke pin input "In" channel "Serial[ 1 ]" komponen Arduino (Gambar 2)
- Sambungkan pin output "Power" komponen GSM1 ke pin input "Digital" channel "Digital[ 9 ]" komponen Arduino (Gambar 3). Pin ini akan menyala/mematikan daya Modul GSM
Langkah 6: Di Visuino: Tambahkan, Siapkan dan sambungkan komponen Text Value
Butuh waktu untuk Modul GMS diinisialisasi. Baik jika kita memiliki indikasi bahwa modul siap. Untuk ini kita akan mengirim teks "GSM Ready" ke port Serial saat modul siap:
- Ketik "text val" di kotak Filter Toolbox Komponen, lalu pilih komponen "Text Value" (Gambar 1), dan tarik ke area desain (Gambar 2)
- Di Object Inspector atur nilai properti "Value" ke "GSM Ready" (Gambar 2)
- Sambungkan pin output "Ready" komponen GSM1 ke pin input "In" komponen TextValue1 (Gambar 3)
- Sambungkan pin output "Out" komponen TextValue1 ke pin input "In" channel "Serial[ 0 ]" komponen Arduino (Gambar 4)
Langkah 7: Di Visuino: Tambahkan Elemen Short Message ke komponen GSM, dan kemudian fungsi Send Message ke Elemen
Komponen GSM terdiri dari banyak modul yang melakukan tugas berbeda. Karena kita hanya akan menggunakan SMS kita perlu menambahkan hanya modul "Short Message", dan kemudian menambahkan satu fungsi "Send SMS" padanya:
- Di Area Desain, pilih komponen GSM1 (Gambar 1)
- Di Object Inspector, klik tombol "..." di samping nilai properti "Module" komponen GSM1 (Gambar 1)
- Di editor Modul pilih “Short Message”, lalu klik tombol "" (Gambar 2) untuk menambahkan satu (Gambar 3)
- Di Object Inspector, klik tombol "..." di samping nilai properti "Functions" modul “Short Message” (Gambar 3)
- Di editor Fungsi pilih “Send SMS”, lalu klik tombol "" (Gambar 2) untuk menambahkan satu
Langkah 8: Di Visuino: Konfigurasikan fungsi Send SMS, dan sambungkan Info Pesan yang Diterima ke Serial
- Di Object Inspector, atur nilai properti "Address" elemen "Send SMS" ke nomor telepon di mana Anda ingin mengirim pesan (Dalam kasus saya, untuk uji saya memasukkan nomor kartu SIM saya sehingga modul akan menerima dan mencetak pesan yang dikirimnya) (Gambar 1 - menunjukkan nomor buatan)
- Di Object Inspector, pilih properti "Text" (Gambar 2)
- Klik tombol "Pin" di depan properti "Text" (Gambar 2)
- Dari daftar Drop Down, pilih "String SinkPin" (Gambar 3). Ini akan menambahkan pin "Text" baru ke fungsi "Send SMS" (Gambar 4)
- Tutup dialog editor Elemen (Gambar 4)
- Sambungkan pin output "Out" blok "MessageInfo" komponen GSM1 ke pin input "In" channel "Serial[ 0 ]" komponen Arduino (Gambar 4)
Langkah 9: Di Visuino: Tambahkan dan sambungkan komponen Char To Text
Port Serial menerima satu karakter sekaligus. Untuk mengirim pesan SMS, kita perlu mendapatkan semua karakter dari baris, membuat Teks darinya, dan mengirimnya ke Modul GSM:
- Ketik "char" di kotak Filter Toolbox Komponen, lalu pilih komponen "Char to Text" (Gambar 1), dan tarik ke area desain (Gambar 2)
- Sambungkan pin output "Out" channel "Serial[ 0 ]" komponen Arduino ke pin input "In" komponen CharToText1 (Gambar 2)
- Sambungkan pin output "Out" komponen CharToText1 ke pin input "Text" elemen "Send SMS" komponen GSM1 (Gambar 3)
Langkah 10: Di Visuino: Tambahkan, Siapkan, dan sambungkan komponen Delay
Kita perlu memastikan bahwa kita mengirim SMS setelah teks telah diperbarui dengan benar. Kita dapat menggunakan komponen Delay dengan jeda singkat untuk itu:
- Ketik "delay" di kotak Filter Toolbox Komponen, lalu pilih komponen "Delay" (Gambar 1), dan tarik ke area desain (Gambar 2)
- Di Object Inspector, atur nilai properti "Interval" ke "100" (Gambar 2)
- Sambungkan pin output "Out" komponen CharToText1 ke pin input "In" komponen Delay1 (Gambar 3)
- Sambungkan pin output "Out" komponen Delay1 ke pin input "Clock" elemen "Send SMS" komponen GSM1 (Gambar 4)
Langkah 11: Buat, Kompilasi, dan Unggah Kode Arduino
- Di Visuino, Tekan F9 atau klik tombol yang ditunjukkan pada Gambar 1 untuk menghasilkan kode Arduino, dan buka Arduino IDE
- Di Arduino IDE, klik tombol Upload, untuk mengompilasi dan mengunggah kode (Gambar 2)
Langkah 12: Dan bermain...
Selamat! Anda telah menyelesaikan proyek.
Gambar 1 menunjukkan proyek yang terhubung dan dinyalakan. Pada Gambar 2 Anda dapat melihat diagram Visuino lengkap. Jika Anda terhubung dengan Terminal Serial ke Arduino, setelah sekitar 30 detik Anda akan melihat pesan "GSM Ready" muncul (Gambar 3)
Setelah pesan muncul, jika Anda mengetik beberapa teks, dan klik "Send" (Gambar 4), teks akan dikirim sebagai pesan SMS. Jika Anda telah memilih nomor telepon pada Langkah 8 ke telepon kartu SIM pada Shield, setelah beberapa saat Anda akan menerima pesan, dan akan ditampilkan di Terminal Serial (Gambar 5). Jika Anda telah menetapkan nomor perangkat berbeda pada Langkah 8, pesan akan dikirim ke perangkat tersebut.
Anda dapat mengirim pesan SMS ke nomor telepon dari ponsel dan perangkat lain, dan mereka juga akan ditampilkan di terminal serial.
Juga dilampirkan adalah proyek Visuino, yang saya buat untuk Tutorial ini. Anda dapat mengunduh dan membukanya di Visuino: https://www.visuino.com