- Walkie Talkie menggunakan Modul RF nRF24L01
- Diperlukan Komponen untuk Walkie Talkie berasaskan Arduino
- Rajah Litar Arduino Walkie Talkie
- Kod Walkie Talkie Arduino
Kita hidup di era peranti berkemampuan 5G dan 5G; namun, teknologi lama seperti sistem walkie-talkie dan sistem komunikasi RF masih menjadi yang terpenting dalam senario di mana komunikasi jarak jauh, jarak pendek, murah dan murah diperlukan. Contohnya, jika anda mempunyai bangunan atau syarikat pembinaan yang mempunyai berat, maka pekerja anda perlu berkomunikasi antara satu sama lain untuk kerja yang diselaraskan. Dengan bantuan walkie-talkie, mereka dapat berkomunikasi antara satu sama lain dan menyebarkan urutan atau arahan pendek dengan hanya menekan butang "PTT" untuk menghantar suara bagi pekerja lain, agar mereka dapat mendengar dan mengikuti arahan tersebut. Aplikasi lain boleh di helmet pintaruntuk berkomunikasi di antara kumpulan penunggang semasa perjalanan jauh, model yang dicadangkan di sini dapat berkomunikasi di antara enam orang pada satu masa. Sekiranya anda ingin melihat jenis projek penghantaran audio tanpa wayar jarak jauh yang lain, kunjungi projek Pemancar Audio Tanpa Wayar Berasaskan IR dan projek Pemancar Audio Li-Fi menggunakan pautan.
Walkie Talkie menggunakan Modul RF nRF24L01
Komponen utama projek ini adalah modul RF NRF24L01 dan Arduino Uno yang merupakan otak atau pemproses. Kami telah belajar bagaimana menghubungkan Nrf24L01 dengan Arduino dengan mengendalikan motor servo dari jauh. Untuk projek ini, modul RF NRF24L01 dipilih kerana mempunyai beberapa kelebihan berbanding media komunikasi digital. Ia mempunyai jalur ISM frekuensi tinggi 2,4 GHz dan laju data dapat 250kbps, 1Mbps, 2 Mbps. Ia mempunyai 125 saluran yang mungkin di antara jarak 1Mhz sehingga modul dapat menggunakan 125 saluran yang berlainan yang memungkinkan untuk memiliki rangkaian 125 modem yang berfungsi secara bebas di satu tempat.
Yang paling penting, isyarat NRF24L01 tidak bertindih atau saling bersilang dengan sistem walkie-talkie lain seperti walkie-talkie polis dan walkie-talkie kereta api dan ia tidak mengganggu walkie-talkie lain. Modul nrf24l01 tunggal dapat berkomunikasi dengan 6 modul nrf24l01 yang lain pada masa ia berada dalam keadaan penerimaan. Juga, ia adalah modul penggunaan kuasa rendah yang merupakan kelebihan tambahan. Terdapat dua jenis modul NRF24L01 yang banyak terdapat dan biasa digunakan, satu adalah NRF24L01 + dan yang lain adalah NRF24L01 + PA + LNA (ditunjukkan di bawah) dengan antena terbina dalam.
The NRF24L01 + mempunyai antena di atas kapal dan hanya 100 meter pelbagai. Ia baik untuk kegunaan dalaman sahaja dan tidak sesuai untuk komunikasi jarak jauh luar. Lebih-lebih lagi, jika ada dinding di antara pemancar dan penerima, transmisi isyarat sangat buruk. The NRF24L01 + PA + LNA dengan antena luaran mempunyai PA yang meningkatkan kuasa isyarat sebelum penghantaran. LNA bermaksud Penguat Kebisingan Rendah. Jelas, menyaring kebisingan dan meningkatkan tahap isyarat yang sangat lemah dan tidak pasti yang diterima dari antena. Ini membantu dalam membuat tahap isyarat yang berguna dan ia mempunyai antena luaran 2dB di mana ia dapat menghantar liputan jarak udara sejauh 1000 meter, jadi sangat sesuai untuk projek komunikasi walkie-talkie luaran kami.
Diperlukan Komponen untuk Walkie Talkie berasaskan Arduino
- NRF24L01 + PA + LNA dengan antena 2DB luaran (2 pcs)
- Arduino UNO atau sebarang versi Arduino
- Penguat audio (2pcs)
- Litar mikrofon: Anda boleh membuatnya sendiri (dibincangkan kemudian) atau membeli modul sensor bunyi.
- Modul penggalak DC ke DC (2pcs)
- Modul pengatur voltan 3.3V AMS1117
- LED penunjuk kuasa (2pcs)
- Rintangan 470 ohm (2pcs)
- Pembesar suara 4 inci (2pcs)
- tekan butang (untuk butang PTT)
- 104 PF untuk pembuatan butang PTT (2pcs)
- Kapasitor 100 NF untuk NRF24L01 (2pcs)
- Rintangan 1k untuk butang PTT (2pcs)
- 2 set bateri li-ion
- Modul pengecasan bateri Li-ion dan perlindungan bateri (2pcs)
- Beberapa wayar pelompat, pin header lelaki, papan vero bertitik
Rajah Litar Arduino Walkie Talkie
Gambarajah litar lengkap untuk Arduino Walkie Talkie ditunjukkan dalam gambar di bawah. Gambarajah litar menunjukkan semua sambungan termasuk butang PTT, litar mikrofon, dan output audio stereo.
Penting: Julat input voltan modul NRF24L01 adalah 1.9v hingga maksimum 3.6 volt dan untuk kestabilan voltan dan arus anda harus menggunakan kapasitor 100nf ke dalam + VCC dan - GND, namun pin modul nrf24l01 yang lain boleh bertolak ansur dengan isyarat 5 volt tahap.
Langkah 1: Saya bermula dengan membuat papan PCB buatan sendiri dan papan Arduino Atmega328p. Saya telah meletakkan IC Atmega328p pada programmer dan menyalakannya dan kemudian memuat naik kodnya. Kemudian, saya menambah kristal 16 MHz pada IC Atmega328p pada (PB6, PB7) pin 9 dan 10. Gambar-gambar PCB buatan saya dan papan pemasangan dengan IC yang diprogramkan ditunjukkan di bawah.
Langkah 2: Saya menyambungkan modul NRF24L01 seperti yang ditunjukkan dalam rajah litar mengikut urutan berikut. CE ke pin digital nombor 7, CSN ke pin nombor 8, SCK ke pin digital 13, MOSI ke pin digital 11, MISO ke pin digital 12 dan IRQ ke pin digital 2.
Untuk bekalan kuasa, anda perlu menurunkan voltan terlebih dahulu dari 5 volt hingga 3.3v dengan kestabilan arus yang baik. Anda juga mesti meletakkan kapasitor 100nF pada VCC dan landasan modul nrf24l01. Jadi, saya menggunakan AMS1117 yang merupakan pengatur voltan 3.3 volt, modul ini juga mengurangkan saiz projek anda dan menjadikannya padat.
Sekiranya anda ingin membuat papan pengatur voltan ini sendiri, anda hanya boleh membeli IC pengatur 3.3 volt dan boleh membuatnya dengan menambahkan beberapa penutup, rintangan dalam input dan output kerana sangat penting untuk modul RF anda kerana ia adalah peranti yang sensitif. Atau anda boleh menggunakan pengatur voltan berubah LM317 untuk membina rangkaian 3.3V Regulated seperti yang kami lakukan dalam projek bekalan kuasa Breadboard.
Langkah 3: Anda boleh membeli sensor bunyi atau membuat litar mikrofon sederhana seperti yang ditunjukkan dalam rajah litar. Ia terdiri daripada hanya satu transistor- 2n3904 NPN transistor. Gambar di bawah menunjukkan litar mikrofon buatan sendiri yang dibina di atas papan Vero. Anda juga boleh melihat litar pra-penguat audio sederhana ini untuk maklumat lebih lanjut.
Untuk pemahaman yang lebih baik, saya telah membuat gambaran lain mengenai keseluruhan hubungan dengan nilai komponen seperti yang anda lihat di bawah
Langkah 4: Untuk, membuat sambungan dari pin digital mikrokontroler nombor 9 & 10 ke penguat audio anda, saya telah menggunakan penguat audio stereo PAM8403 kerana secara lalai output audio Arduino sangat rendah (biasanya anda hanya dapat mendengar suara menggunakan fon kepala sahaja, bukan pembesar suara, jadi kita memerlukan tahap penguat). Modul ini dapat menggerakkan dua pembesar suara komputer riba dengan mudah dan tersedia dengan kos yang sangat rendah. Ia juga dilengkapi dengan penguat audio yang sangat kuat dalam pakej SMD yang memerlukan sedikit ruang. Modul penguat audio PAM8403 ditunjukkan di bawah.
Sambungannya sangat mudah, bekalan kuasa 3.7V hingga 5V diperlukan untuk menguatkan Audio Amplifier. Input audio saluran kiri dan saluran kanan dari pin Arduino 9 dan 10 beserta pin ground harus diberikan sebagai input untuk modul penguat ini seperti yang ditunjukkan dalam rajah litar. Dalam kes saya, saya telah menggunakan pembesar suara 4 ohm 4 inci tunggal dan hanya menggunakan output saluran yang betul. Sekiranya anda mahu, anda boleh menggunakan dua pembesar suara dengan modul ini.
Langkah 5: Seterusnya, saya membina suis PTT menggunakan butang tekan mudah. Saya menambah kapasitor 104PF atau 0.1uf untuk mengelakkan suis memantul atau isyarat tidak menentu ketika suis ditekan. Pin 4 kini dihubungkan secara langsung dengan Arduino Digital pin D3 kerana pin yang terputus ditugaskan ke pengekodan.
NRF24L01 + PA + LNA ketika menghantar isyarat audio atau paket DATA menggunakan lebih banyak kuasa, oleh itu, ia menggunakan lebih banyak arus. Apabila anda menekan butang PTT secara tiba-tiba, penggunaan kuasa meningkat. Untuk menangani beban yang tiba-tiba meningkat ini, anda mesti menggunakan kapasitor 100nF pada + vcc dan Ground untuk kestabilan penghantaran Modul NRF24L01 + PA + LNA.
Apabila suis ditekan, papan Arduino menerima Arduino Interrupt pada pin D3. Dalam program ini, kami akan menyatakan pin digital 3 Arduino sentiasa memeriksa voltan inputnya. Sekiranya voltan input rendah, ia akan menjadikan walkie-talkie dalam mod penerimaan dan jika pin digital nombor 3 tinggi, ia menukar walkie-talkie ke mod transmisi untuk menghantar isyarat suara yang diambil oleh proses mikrofon melalui mikrokontroler dan mengirimkan melalui NRF24L01 + PA + LNA dengan antena luaran.
Langkah 6: Untuk bekalan kuasa, saya telah memilih bateri Li-ion ini. Untuk kuasa, semua komponen seperti Arduino IC Atmega328p, NRF24L01 + PA + LNA, penguat audio, butang PTT, dan litar Mikrofon, saya menggunakan 2 set bateri Li-ion untuk projek ini seperti yang ditunjukkan di bawah.
Sel yang baik mempunyai tahap voltan 3.8v hingga 4.2 volt dan voltan pengisian hanya 4v hingga 4.2 volt. Untuk mengetahui lebih lanjut mengenai bateri litium, anda boleh menyemak artikel yang dipautkan. Bateri ini sangat popular digunakan dalam peranti elektronik mudah alih dan kenderaan elektrik. Tetapi sel bateri Li-ion tidak sekuat bateri lain, ia memerlukan perlindungan dari terlalu banyak dan habis terlalu cepat, yang bermaksud arus pengisian / pelepasan dan voltan harus dikekalkan dalam had yang selamat. Oleh itu, saya menggunakan modul pengecasan bateri Li-ion yang paling propeller - TP4056. Kami sebelum ini menggunakan modul ini untuk membina Portable Power Bank, anda boleh menyemaknya untuk maklumat lebih lanjut di papan ini.
Langkah 7: Saya telah menggunakan modul booster 2 Amp dc to dc step up kerana Arduino atmega328p, Penguat Audio, litar mikrofon, butang PTT semuanya memerlukan 5 volt tetapi bateri saya hanya dapat membekalkan 3.7V hingga 4.2V, Jadi saya memerlukan penukar rangsangan untuk mencapai 5V dengan output kuasa stabil lebih daripada 1 Amp.
Selepas anda membina litar, anda boleh memasangnya di sebuah kandang kecil. Saya menggunakan kotak plastik dan meletakkan litar saya seperti yang ditunjukkan dalam gambar di bawah
Kod Walkie Talkie Arduino
Program lengkap untuk walkie talkie Arduino anda boleh didapati di bahagian bawah halaman ini. Di bahagian ini, mari kita bincangkan bagaimana program ini berfungsi. Sebelum sampai di sana, anda perlu memasukkan beberapa Perpustakaan yang disenaraikan di bawah.
- Perpustakaan nRF24
- Perpustakaan Audio nRF24
- Perpustakaan Maniaxbug RF24
Mulakan pengaturcaraan dengan memasukkan tajuk Perpustakaan Radio dan Audio seperti gambar di bawah
#sertakan
Permulaan Radio RF pada pin 7 dan 8 dan tetapkan nombor radio audio menjadi 0. Juga, mulakan butang ppt pada pin 3.
Radio RF24 (7,8); // Tetapkan radio menggunakan pin 7 (CE) 8 (CS) RF24Audio rfAudio (radio, 0); // Siapkan audio menggunakan radio, dan tetapkan ke nombor radio 0 int talkButton = 3;
Di dalam fungsi persediaan, mulakan monitor bersiri pada 115200 baudrate untuk debug. Kemudian mulakan butang ppt sambungkan ke pin 3 sebagai pin interrupt.
persediaan tidak sah () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // menetapkan interrupt untuk memeriksa butang bicara butang tekan attachInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // menetapkan keadaan lalai untuk setiap modul untuk menerima rfAudio.receive (); }
Seterusnya, kita mempunyai fungsi yang disebut talk () yang dipanggil sebagai tindak balas terhadap gangguan. Program ini memeriksa keadaan butang jika butang ditekan dan menahannya memasuki mod transmit untuk mengirim audio. Sekiranya butang dilepaskan, ia memasuki mod penerimaan.
batal bicara () {if (digitalRead (talkButton)) rfAudio.transmit (); lain rfAudio.receive (); } gelung kosong () {}
Penyelesaian sepenuhnya projek ini boleh didapati dalam video yang dipautkan di bawah. Walkie Talkie mengeluarkan sedikit bunyi semasa operasi, ini adalah bunyi dari frekuensi pembawa Modul nRF24L01. Ini dapat dikurangkan dengan menggunakan sensor suara atau modul mikrofon yang baik. Sekiranya anda mempunyai pertanyaan mengenai projek ini, anda boleh meninggalkannya di bahagian komen di bawah. Anda juga boleh menggunakan forum kami untuk mendapatkan jawapan pantas untuk pertanyaan teknikal anda yang lain.