- Bahan yang Diperlukan:
- Modul Fly Scale SIM900 GSM:
- Modul Suara ISD1820:
- Rajah dan Penjelasan Litar:
- Memprogram Arduino anda:
- Bekerja:
Dalam dunia moden hari ini kita semua bergantung pada telefon bimbit sebagai kaedah komunikasi tanpa wayar utama kita. Tetapi, kita semua telah menghadapi situasi di mana kita mungkin tidak dapat menjawab panggilan kita, panggilan ini mungkin merupakan panggilan peribadi yang penting atau panggilan perniagaan yang mengubah hidup dan anda mungkin hanya melepaskan peluang itu kerana anda tidak dapat menjawabnya telefon pada waktu tertentu.
Projek ini bertujuan untuk menyelesaikan masalah ini dengan membuat Mesin Panggilan Panggilan Automatik dengan menggunakan modul Arduino dan GSM. Lain kali apabila anda menukar nombor telefon baru atau keluar untuk perjalanan ziarah yang panjang atau menikmati percutian yang layak, gunakan mesin ini untuk merakam suara anda dengan menyatakan sebab tidak hadir dan semua panggilan anda akan dijawab secara automatik oleh mesin ini dan anda suara yang dirakam akan dimainkan kepada mereka. Ini juga boleh digunakan untuk nombor perniagaan anda untuk menjawab panggilan pelanggan anda pada waktu bukan pejabat. Bunyi menarik bukan? Oleh itu marilah kita membinanya..
Bahan yang Diperlukan:
Projek ini mungkin terdengar agak rumit tetapi sangat senang dibina, anda hanya memerlukan komponen berikut
- Arduino Uno
- Modul GSM - Flyscale SIM 900
- Modul Suara ISD 1820
- Penyesuai 12V untuk menghidupkan modul GSM
- Bateri 9V untuk memberi kuasa kepada Arduino
- Menyambung wayar
Sebelum kita benar-benar meneruskan projek ini, mari kita berkenalan dengan modul GSM dan Modul Suara ISD 1820
Modul Fly Scale SIM900 GSM:
Modul GSM menarik untuk digunakan terutamanya apabila projek kami memerlukan akses jarak jauh. Modul-modul ini dapat membuat semua tindakan yang dapat dilakukan oleh telefon bimbit biasa kami, seperti membuat / menerima panggilan, mengirim / menerima SMS, menyambung ke internet menggunakan GPRS dll. Anda juga dapat menyambungkan mikrofon dan pembesar suara biasa ke modul ini dan berbicara pada panggilan mudah alih. Berikut adalah beberapa tutorial menggunakan mikrokontroler yang berbeza:
- Panggilan dan Mesej menggunakan Arduino dan GSM Module
- Panggilan dan Teks menggunakan Mod Raspberry Pi dan GSM
- Modul GSM Berinteraksi dengan PIC Microcontroller - Buat dan Terima Panggilan
Seperti yang ditunjukkan dalam gambar di bawah, modul GSM dilengkapi dengan adaptor USART yang dapat dihubungkan secara langsung ke komputer dengan menggunakan modul MAX232 atau pin Tx dan Rx dapat digunakan untuk menghubungkannya ke Mikrokontroler. Anda juga dapat melihat pin lain seperti MIC +, MIC-, SP +, SP- dll di mana mikrofon atau Pembesar suara boleh disambungkan. The modul boleh digerakkan oleh penyesuai 12V melalui DC laras jack normal.
Masukkan kad SIM anda di slot modul dan hidupkan, anda akan melihat LED kuasa menyala. Sekarang tunggu sebentar, dan anda akan melihat LED merah (atau warna lain) berkelip LED setiap 3 saat. Ini bermaksud bahawa Modul anda dapat membuat sambungan dengan kad SIM anda. Sekarang anda boleh meneruskan menghubungkan modul anda dengan Telefon atau Mikrokontroler mana pun.
Modul Suara ISD1820:
Modul Suara ISD 1820 benar-benar merupakan modul keren yang dapat memacu Projek anda dengan pengumuman Suara. Modul ini mampu merakam klip Audio selama 10 saat dan kemudian memainkannya apabila diperlukan. Modul itu sendiri dilengkapi dengan mikrofon dan pembesar suara (8ohms 0.5watt) dan ia kelihatan seperti yang ditunjukkan di bawah.
The modul berfungsi pada + 5V dan boleh digerakkan menggunakan kayu berg di sebelah kiri. Ia juga mempunyai tiga butang di bahagian bawah iaitu Rec. butang, PlayE. butang dan PlayL. butang masing-masing. Anda boleh merakam suara anda dengan menekan Rec. butang dan mainkan dengan menggunakan butang PlayE. PlayL akan memainkan suara selagi anda menahan butang. Semasa berinteraksi dengan MCU, kita dapat menggunakan pin di sebelah kiri. Pin ini tahan 3V-5V dan oleh itu boleh dipacu secara langsung oleh Arduino / ESP8266. Dalam projek kami, kami mengawal pin PLAYE menggunakan pin D8 modul Arduino kami. Supaya kita dapat memainkan suara yang dirakam ketika panggilan dikesan dan diterima oleh modul GSM.
Rajah dan Penjelasan Litar:
Gambarajah litar lengkap projek Mesin Panggilan Panggilan Suara Automatik ini diberikan di atas. Seperti yang anda lihat, sambungannya sangat mudah. Kami menghidupkan modul GSM dengan penyesuai 12V 1A dan Arduino dengan bateri 9V, modul Suara ISD dikuasakan oleh pin + 5V Arduino. Seperti yang kita ketahui, kita dapat merakam apa sahaja pada modul suara kita dengan menekan butang rec dan ini akan dimainkan ketika PE ditekan, audio ini harus dihantar ke mikrofon modul GSM. Oleh itu, kami menyambungkan pin pembesar suara modul Suara ke pin mikrofon modul GSM.
Di sini, modul Arduino dan GSM disambung secara bersiri, pin Tx Arduino disambungkan ke pin 9 dan pin Rx disambungkan pin 10. Ini akan membantu Arduino untuk mendengar modul GSM. Apabila panggilan sampai ke modul GSM, Arduino akan mendengarnya dan meminta modul GSM untuk menjawab panggilan tersebut. Arduino memastikan bahawa panggilan aktif dan kemudian memainkan mesej suara yang dirakam pada modul suara dengan menjadikan pin 8 (Disambungkan ke PE modul suara) menjadi tinggi 200ms.
Memprogram Arduino anda:
Kita tahu dari perenggan di atas apa peranan Arduino di sini; sekarang mari kita lihat kod yang sama. The kod Arduino lengkap projek itu diberikan di bahagian bawah halaman ini, lanjut di sini saya telah tertumpah kod ke dalam tongkang kecil untuk menjelaskannya.
Sebelum kita mendahulukan pemasangan Perpustakaan GSM, klik pada pautan perpustakaan Github GSM ini untuk memuat turun perpustakaan yang digunakan dalam projek ini. Anda akan mendapat fail zip yang harus ditambahkan ke perpustakaan Arduino anda dengan Sketch -> Include Librarey -> Tambah fail.Zip .
Tiga baris pertama kod yang ditunjukkan di bawah digunakan untuk memasukkan perpustakaan ke kod kami. Kami menggunakan perpustakaan bersiri dan perpustakaan wayar kerana kami tidak menggunakan pin Rx dan Tx lalai dari Arduino untuk berkomunikasi dengan modul GSM.
#sertakan
Kami mengaktifkan komunikasi bersiri pada pin 9 dan 10 menggunakan baris berikut. Ini dimungkinkan oleh perpustakaan bersiri perisian yang kami sertakan di atas.
Perisian Serial gprs (9,10); // TX, RX
Di dalam fungsi persediaan kami, kami menginisialisasi monitor bersiri pada kadar baud 9600 dan modul GSM juga diinisialisasi dengan 9600 Baudrate. Pin 8 yang mencetuskan suara dinyatakan sebagai pin output.
batal persediaan () {Serial.begin (9600); // Monitor bersiri berfungsi pada 9600 baudrate untuk debugging sim900_init (& gprs, 9600); // Modul GSM berfungsi pada 9600 pinMode baudrate (8, OUTPUT); // pin untuk menghidupkan Voice Serial.println ("Arduino - Mesin Suara Automatik"); }
Seterusnya kita harus membuat fungsi yang dapat membaca dan memahami apa yang dikatakan modul GSM melalui port Serialnya. Sekiranya kita menggunakan garis baca bersiri mudah seperti "gprs.read ()" untuk membaca mesej, kita akan mendapatkannya dalam bentuk nilai perpuluhan ASCII, ini tidak akan masuk akal bagi kita.
Oleh itu, fungsi berikut digunakan untuk menukar nilai perpuluhan ini ke rentetan dengan menggunakan objek rentetan dan kemudian menggabungkannya untuk membentuk rentetan. Nilai rentetan akhir disimpan dalam variabel Fdata , yang merupakan jenis tali dan dapat digunakan untuk membandingkan dengan nilai String mana pun.
batal check_Incoming () {if (gprs.available ()) // Sekiranya GSM mengatakan sesuatu {Incomingch = gprs.read (); // Dengarkan dan simpan dalam pemboleh ubah ini jika (Incomingch == 10 - Incomingch == 13) // Sekiranya ia mengatakan spasi (10) atau Newline (13) itu bermakna ia telah melengkapkan satu kata {Serial.println (data); Fdata = data; data = ""; } // Cetak perkataan dan kosongkan pemboleh ubah untuk memulakan yang baru {String newchar = String (char (Incomingch)); // ubah char ke string dengan menggunakan string objek data = data + newchar; // Setelah menukar ke rentetan, lakukan penggabungan rentetan}}}
Garis berikut digunakan untuk debugging, dengan baris debugger ini, anda boleh menghantar arahan AT dari monitor Serial Arduino ke GSM dan juga melihat apakah respons pada monitor bersiri.
if (Serial.available ()) {// Digunakan untuk menyahpepijat gprs.write (Serial.read ()); // Digunakan untuk debugging} // Digunakan untuk debugging
Seperti yang dinyatakan sebelumnya, Arduino harus memeriksa apakah modul GSM menerima sebarang panggilan. Ini dapat dilakukan dengan membuat Arduino memeriksa " RING " kerana modul GSM akan mengeluarkan RING sekiranya ada panggilan sesuai dengan daftar perintah AT. Apabila mendapat panggilan, ia akan menunggu selama 5 saat dan menghantar arahan " ATA " ke modul GSM, ini akan menjadikan modul GSM untuk menjawab panggilan dan setelah menjawabnya, ia akan menjawab dengan "OK". Arduino sekali lagi menunggu pengakuan “ OK ” dan kemudian menjadikan Pin 8 tinggi 200ms untuk memainkan suara yang dirakam dari modul suara.
if (Fdata == "RING") // Sekiranya modul GSM mengatakan RING {delay (5000); // tunggu 5 saat untuk membuat 3 deringan kelewatan. gprs.write ("ATA \ r \ n"); // Jawab panggilan Serial.println ("Diterima"); // Digunakan untuk penyahpepijatan semasa (Fdata! = "OK") // Sehingga panggilan berjaya dijawab {check_Incoming (); // Baca apa yang dikatakan modue GSM Serial.println ("Memainkan Rakaman pesanan"); // Digunakan untuk penyahpepijatan // Mainkan kelewatan pesanan suara yang direkodkan (500); digitalWrite (8, TINGGI); // Naik kelewatan tinggi (200); // tunggu 200 msec digitalWrite (8, RENDAH); // Pergi rendah}
Bekerja:
Setelah kod dan perkakasan anda siap, inilah masanya untuk bersenang-senang. Kuasakan kedua modul dan tekan butang REC pada modul Suara dan rakam mesej. Mesej ini hanya boleh berdurasi 10 saat.
Sekarang atur cara Arduino anda menggunakan kod yang diberikan di bawah ini dan masukkan kereta SIM ke dalam modul GSM, anda harus menunggu sekurang-kurangnya 2 minit sekarang agar modul GSM dapat menjalin hubungan dengan penyedia perkhidmatan Rangkaian anda. Setelah selesai, anda akan melihat LED warna merah berkelip sekali setiap 3 saat, ini menunjukkan bahawa SIM anda sudah siap untuk menerima panggilan. Anda sekarang boleh mencuba memanggil kad SIM ini dari sebarang nombor dan anda akan mendengar pesanan yang dirakam setelah tiga deringan berterusan. Kerja-kerja projek yang lengkap ditunjukkan dalam video di bawah.
Tadaaaaaa !!! Sekarang anda mempunyai Mesin penjawab panggilan suara automatik anda sendiri dan teruskan dan gunakannya bila diperlukan dan kagumi rakan dan keluarga anda dengannya.
Semoga anda menikmati projek ini dan membina sesuatu yang serupa, Sekiranya anda mempunyai masalah, hantarkannya di bahagian komen dan saya akan membantu anda.