Daftar Isi:

Tutorial Perisai Seluler Arduino: 9 Langkah (dengan Gambar)
Tutorial Perisai Seluler Arduino: 9 Langkah (dengan Gambar)

Video: Tutorial Perisai Seluler Arduino: 9 Langkah (dengan Gambar)

Video: Tutorial Perisai Seluler Arduino: 9 Langkah (dengan Gambar)
Video: Proses pasang Ring Jantung atau Cincin Jantung #cardio #cardiology #ringjantung 2024, Juli
Anonim
Tutorial Perisai Seluler Arduino
Tutorial Perisai Seluler Arduino

Arduino Cellular Shield memungkinkan Anda melakukan panggilan telepon seluler, dan mengirim pesan teks. Otak dari perisai ini adalah SM5100B yang merupakan modul seluler tangguh yang mampu melakukan banyak tugas dari sebagian besar ponsel standar. Perisai ini memerlukan penggunaan kartu SIM untuk terhubung ke jaringan seluler. Tutorial berikut ini adalah tutorial sederhana untuk menginisialisasi perisai, dan mengirim dan menerima pesan teks, dan panggilan telepon. Untuk mempelajari lebih lanjut tentang fungsionalitas modul, pastikan untuk memeriksa lembar data di halaman produk Sparkfun.

Langkah 1: Dapatkan Barang

Pergi Dapatkan Barang
Pergi Dapatkan Barang

Anda akan perlu:

(x1) Pelindung seluler (x1) Header Arduino yang dapat ditumpuk (x1) Antena quad band (x1) Arduino Uno

(Perhatikan bahwa beberapa tautan di halaman ini adalah tautan afiliasi. Ini tidak mengubah biaya barang untuk Anda. Saya menginvestasikan kembali hasil apa pun yang saya terima untuk membuat proyek baru. Jika Anda menginginkan saran untuk pemasok alternatif, beri tahu saya tahu.)

Langkah 2: Solder Header

Solder Header
Solder Header
Solder Header
Solder Header
Solder Header
Solder Header

Masukkan header ke dalam pelindung dan solder ke tempatnya.

Langkah 3: Sisipkan

Memasukkan
Memasukkan
Memasukkan
Memasukkan

Masukkan pin header ke soket di Arduino.

Langkah 4: Resolder

Resolder
Resolder

Sambungan kabel antena ke modul SM5100B biasanya tidak terlalu baik. Resolder setiap sambungan kabel ke modul untuk memastikan konektivitas.

Langkah 5: Pasang Antena

Pasang Antena
Pasang Antena
Pasang Antena
Pasang Antena

Masukkan antena ke kabel antena.

Langkah 6: Masukkan Kartu SIM

Masukkan kartu SIM
Masukkan kartu SIM
Masukkan kartu SIM
Masukkan kartu SIM
Masukkan kartu SIM
Masukkan kartu SIM
Masukkan kartu SIM
Masukkan kartu SIM

Masukkan kartu SIM dengan aman ke dalam soket kartu SIM.

Langkah 7: Inisialisasi

Inisialisasi
Inisialisasi

Jalankan kode berikut di Arduino:

/*

SparkFun Cellular Shield - Contoh Sketsa Pass-Through SparkFun Electronics Ditulis oleh Ryan Owens 3/Deskripsi: Sketsa ini ditulis untuk menghubungkan Arduino Duemillanove ke Cellular Shield dari SparkFun Electronics. Pelindung seluler dapat dibeli di sini: https://www.sparkfun.com/commerce/product_info.php?products_id=9607 Dalam sketsa ini, perintah serial diteruskan dari program terminal ke modul seluler SM5100B; dan tanggapan dari modul seluler dipasang di terminal. Informasi lebih lanjut dapat ditemukan di komentar sketsa. Kartu SIM yang diaktifkan harus dimasukkan ke dalam dudukan kartu SIM di papan untuk menggunakan perangkat! Sketsa ini menggunakan perpustakaan NewSoftSerial yang ditulis oleh Mikal Hart dari Arduiniana. Pustaka dapat diunduh di URL ini: https://arduiniana.org/libraries/NewSoftSerial/ Kode ini disediakan di bawah Lisensi Atribusi Creative Commons. Informasi lebih lanjut dapat ditemukan di sini: https://creativecommons.org/licenses/by/3.0/ (Gunakan kode kami dengan bebas! Harap ingat untuk memberi kami kredit di mana itu jatuh tempo. Terima kasih!) */ #include //Sertakan NewSoftSerial library untuk mengirim perintah serial ke modul seluler. #include //Digunakan untuk manipulasi string char incoming_char=0; // Akan menampung karakter yang masuk dari Serial Port. Sel SoftwareSerial(2, 3); //Buat port serial 'palsu'. Pin 2 adalah pin Rx, pin 3 adalah pin Tx. void setup() { //Menginisialisasi port serial untuk komunikasi. Serial.begin(9600); sel.begin(9600); //Ayo kita mulai! Serial.println("Memulai Komunikasi SM5100B…"); } void loop() { //Jika sebuah karakter masuk dari modul seluler… if(cell.available() >0) { incoming_char=cell.read(); //Dapatkan karakter dari port serial seluler. Serial.print(incoming_char); //Mencetak karakter yang masuk ke terminal. } //Jika sebuah karakter datang dari terminal ke Arduino… if(Serial.available() > 0) { incoming_char = Serial.read(); // Dapatkan karakter yang berasal dari terminal if(incoming_char == '~') // Jika itu adalah tilde… incoming_char = 0x0D; // …konversi ke carriage return else if(incoming_char == '^') // Jika itu adalah tanda sisipan… incoming_char = 0x1A; // …konversi ke ctrl-Z cell.print(incoming_char); // Kirim karakter ke modul seluler. Serial.print(incoming_char); // Gema kembali ke terminal } } /* Referensi Quck SM5100B untuk Set Perintah AT *Kecuali jika dinyatakan lain, perintah AT diakhiri dengan menekan tombol 'enter'. 1.) Pastikan band GSM yang tepat telah dipilih untuk negara Anda. Untuk AS band harus diatur ke 7. Untuk mengatur band, gunakan perintah ini: AT+SBAND=7 2.) Setelah menyalakan Arduino dengan pelindung terpasang, pastikan modul membaca dan mengenali kartu SIM. Dengan jendela terimal terbuka dan atur ke port Arduino dan 9600 buad, hidupkan Arduino. Urutan startup akan terlihat seperti ini: Memulai Komunikasi SM5100B… +SIND: 1 +SIND: 10, "SM", 1, "FD", 1, "LD", 1, "MC", 1, "RC", 1, "ME", 1 Komunikasi dengan modul dimulai setelah baris pertama ditampilkan. Jalur komunikasi kedua, +SIND: 10, memberi tahu kita jika modul dapat melihat kartu SIM. Jika kartu SIM terdeteksi setiap bidang lainnya adalah 1; jika kartu SIM tidak terdeteksi setiap bidang lainnya adalah 0. 3.) Tunggu koneksi jaringan sebelum Anda mulai mengirim perintah. Setelah +SIND: 10 respon modul akan secara otomatis mulai mencoba untuk terhubung ke jaringan. Tunggu hingga Anda menerima jawaban berikut: +SIND: 11 +SIND: 3 +SIND: 4 Respons +SIND dari modul seluler memberitahukan status modul. Berikut adalah ringkasan singkat dari makna respons: 0 Kartu SIM dilepas 1 Kartu SIM dimasukkan 2 Melodi dering 3 Modul AT siap sebagian 4 Modul AT benar-benar siap 5 ID panggilan yang dilepaskan 6 Panggilan dilepaskan yang IDnya = 7 Layanan jaringan tersedia untuk panggilan darurat 8 Jaringan terputus 9 Audio HIDUP 10 Menampilkan status setiap buku telepon setelah frasa init 11 Terdaftar ke jaringan Setelah mendaftar di jaringan, Anda dapat memulai interaksi. Berikut adalah beberapa perintah sederhana dan berguna untuk memulai: Untuk melakukan panggilan: Perintah AT - ATDxxxyyyzzzz Nomor telepon dengan format: (xxx)yyy-zzz try ---- cell.print("ATDxxxyyyzzzz"); Jika Anda melakukan panggilan telepon, pastikan untuk merujuk lembar data perangkat untuk menghubungkan mikrofon dan speaker ke pelindung. Untuk mengirim pesan txt: Perintah AT - AT+CMGF=1 Perintah ini menyetel mode pesan teks ke 'teks'. AT command = AT+CMGS="xxxyyyzzzz"(carriage return)'Text to send'(CTRL+Z) Perintah ini agak membingungkan untuk dijelaskan. Nomor telepon, dalam format (xxx)yyy-zzzz ditulis dalam tanda kutip ganda. Tekan 'enter' setelah menutup kutipan. Selanjutnya masukkan teks yang akan dikirim. Akhiri perintah AT dengan mengirimkan CTRL+Z. Karakter ini tidak dapat dikirim dari terminal Arduino. Gunakan program terminal alternatif seperti Hyperterminal, Tera Term, Bray Terminal atau X-CTU. Modul SM5100B dapat melakukan lebih dari ini! Lihat lembar data di halaman produk untuk mempelajari lebih lanjut tentang modul ini.*/Buka port serial di terminal. Pada Mac ini dilakukan dengan mengetik: screen /dev/tty.usbmodemfa131 9600 (ganti tty.usbmodemfa131 dengan alamat serial Arduino Anda)Tunggu untuk melihat urutan berikut yang dikembalikan: Mulai SM5100B Komunikasi… +SIND: 3 +SIND: 4 +SIND: 11 (Jika urutan ini tidak dikembalikan, periksa kode kesalahan yang tercantum di bagian bawah kode di atas, dan debug dengan tepat. Anda mungkin perlu mengatur modul untuk penggunaan di Amerika Utara -- lihat di bawah -- sebelum mendaftar ke jaringan (mis. +SIND 11))Kirim perintah berikut ke port serial: Kirim ini untuk penggunaan di Amerika Utara: AT+SBAND=7 Atur waktu saat ini - yy/mm/dd: AT+CCLK="13/05/15, 11: 02:00" Kirim panggilan tes: ATD4155551212

Langkah 8: Pesan Teks

Pesan teks
Pesan teks

Unduh dan instal SerialGSM ke perpustakaan Arduino Anda.

Untuk mengirim pesan teks, kunjungi tutorial modul seluler Tronixstuff dan gunakan kode contoh 26.3:https://tronixstuff.wordpress.com/2011/01/19/tutorial-arduino-and-gsm-cellular-part-one/

Jika Anda ingin menjalankan kode contoh untuk menerima teks, sambungkan LED ke pin 8 dan pasang secara seri dengan resistor 220 ohm ke ground.

Untuk mengirim pesan teks, kunjungi tutorial modul seluler Tronixstuff dan gunakan kode contoh 26.5:https://tronixstuff.wordpress.com/2011/01/19/tutorial-arduino-and-gsm-cellular-part-one/

Kirim salah satu perintah berikut ke modul seluler Anda:

//menyalakan LED #a1

//mematikan LED #a0

Langkah 9: Suara

Suara
Suara
Suara
Suara
Suara
Suara

Sambungkan mikrofon dan speaker ke pelindung menggunakan kabel audio yang diarde. Kabel sinyal tengah harus menuju ke terminal audio plus dan pelindung harus menuju ke terminal negatif masing-masing pada pelindung. Kabel ini harus dihubungkan dengan cara yang sama di sisi mikrofon dan speaker.

Untuk menginisialisasi panggilan suara, unggah kode berikut:

//**********************************************************************************

// MELAKUKAN PANGGILAN // // KODE BUFFERING BERDASARKAN: // // //********************************************************************************** #include #define BUFFSIZ 90 //Set up buffer array char at_buffer[BUFFSIZ]; char buffidx; //Network state variables int network_registered; int network_AT_ready; //Code state variables int firstTimeInLoop = 1; int firstTimeInOtherLoop = 1; int x; //Will hold the incoming character from the Serial Port. char incoming_char=0; //Create a 'fake' serial port. Pin 2 is the Rx pin, pin 3 is the Tx pin. SoftwareSerial cell(2, 3); void setup() { //Initialize Arduino serial port for debugging. Serial.begin(9600); //Initialize virtual serial port to talk to Phone. cell.begin(9600); //Hello World. Serial.println("Starting SM5100B Communication…"); delay(1000); //Set initial network state network_registered = 0; network_AT_ready = 0; } //Read AT strings from the cellular shield void readATString(void) { char c; buffidx= 0; // start at begninning for (x = 0; x 0) { c=cell.read(); if (c == -1) { at_buffer[buffidx] = '\0'; return; } if (c == '\n') { continue; } if ((buffidx == BUFFSIZ - 1) || (c == '\r')){ at_buffer[buffidx] = '\0'; return; } at_buffer[buffidx++]= c; } } } //Process the AT strings void ProcessATString() { if(strstr(at_buffer, "+SIND: 8") != 0) { network_registered = 0; Serial.println("network Network Not Available"); } if(strstr(at_buffer, "+SIND: 11") != 0) { network_registered=1; Serial.println("network Registered"); } if(strstr(at_buffer, "+SIND: 4") != 0) { network_AT_ready=1; Serial.println("network AT Ready"); } } void loop() { /* If called for the first time, loop until network and AT is ready */ if(firstTimeInLoop == 1) { firstTimeInLoop = 0; while (network_registered == 0 || network_AT_ready == 0) { readATString(); ProcessATString(); } } //LET'S MAKE A PHONE CALL! if(firstTimeInOtherLoop == 1){ //Change the 10 digit phone number to whatever you wish cell.println("ATD4155551212"); firstTimeInOtherLoop = 0; } }

To receive a voice call upload the following code

//**********************************************************************************

// ANSWER A CALL // // BUFFERING CODE BASED UPON: // // //********************************************* ************************************ #include #define BUFFSIZ 90 //Set up buffer array char at_buffer [BUFFSIZ]; char buffidx; //Variabel status jaringan int network_registered; int jaringan_AT_ready; //Kode variabel status int firstTimeInLoop = 1; int firstTimeInOtherLoop = 1; intx; // Akan menampung karakter yang masuk dari Serial Port. char masuk_char=0; //Buat port serial 'palsu'. Pin 2 adalah pin Rx, pin 3 adalah pin Tx. Sel SoftwareSerial(2, 3); void setup() { //Inisialisasi port serial Arduino untuk debugging. Serial.begin(9600); //Inisialisasi port serial virtual untuk berbicara dengan Telepon. sel.begin(9600); //Halo Dunia. Serial.println("Memulai Komunikasi SM5100B…"); penundaan (1000); //Mengatur status jaringan awal network_registered = 0; jaringan_AT_siap = 0; } //Membaca string AT dari perisai seluler void readATString(void) { char c; buffidx= 0; // mulai dari awal untuk (x = 0; x 0) { c=cell.read(); if (c == -1) { at_buffer[buffidx] = '\0'; kembali; } if (c == '\n') { lanjutkan; } if ((buffidx == BUFFSIZ - 1) || (c == '\r')){ at_buffer[buffidx] = '\0'; kembali; } at_buffer[buffidx++]= c; } } } //Memproses string AT void ProcessATString() { if(strstr(at_buffer, "+SIND: 8") != 0) { network_registered = 0; Serial.println("Jaringan Jaringan Tidak Tersedia"); } if(strstr(at_buffer, "+SIND: 11") != 0) { network_registered=1; Serial.println("jaringan Terdaftar"); } if(strstr(at_buffer, "+SIND: 4") != 0) { network_AT_ready=1; Serial.println("jaringan AT Ready"); } } void loop() { /* Jika dipanggil untuk pertama kalinya, loop sampai jaringan dan AT siap */ if(firstTimeInLoop == 1) { firstTimeInLoop = 0; while (network_registered == 0 || network_AT_ready == 0) { readATString(); ProsesATString(); } } if(firstTimeInOtherLoop == 1){ //Mencari panggilan masuk if(strstr(at_buffer, "+CPAS: 3") != 0) { //Menjawab telepon seluler.println("ATA"); firstTimeInOtherLoop = 0; } } }

Gambar
Gambar

Apakah menurut Anda ini berguna, menyenangkan, atau menghibur? Ikuti @madeineuphoria untuk melihat proyek terbaru saya.

Direkomendasikan: