- Walkie Talkie menggunakan Modul RF nRF24L01
- Komponen Diperlukan untuk Walkie Talkie berbasis Arduino
- Diagram Sirkuit Arduino Walkie Talkie
- Kode Arduino Walkie Talkie
Kita hidup di era perangkat berkemampuan 5G dan 5G; namun, teknologi lama seperti sistem walkie-talkie dan sistem komunikasi RF masih penting dalam skenario di mana diperlukan komunikasi jarak jauh, jarak pendek, murah, dan berbiaya rendah. Misalnya, jika Anda memiliki sebuah gedung atau perusahaan konstruksi bantalan beban berat, maka pekerja Anda perlu berkomunikasi satu sama lain untuk kerja terkoordinasi. Dengan bantuan walkie-talkie, mereka dapat berkomunikasi satu sama lain dan menyebarkan pijatan singkat atau instruksi hanya dengan menekan tombol “PTT” untuk mengirimkan suara ke pekerja lain, untuk mereka mendengarkan dan mengikuti instruksi. Aplikasi lain bisa di helm pintaruntuk berkomunikasi di antara sekelompok pengendara selama perjalanan jauh, model yang disarankan di sini dapat berkomunikasi di antara enam orang sekaligus. Jika Anda ingin memeriksa jenis proyek transmisi audio nirkabel jarak pendek lainnya, kunjungi proyek Pemancar Audio Nirkabel Berbasis IR dan Pemancar Audio Li-Fi menggunakan tautan.
Walkie Talkie menggunakan Modul RF nRF24L01
Komponen utama dari proyek ini adalah modul RF NRF24L01 dan Arduino Uno yang merupakan otak atau prosesor. Kami telah mempelajari cara menghubungkan Nrf24L01 dengan Arduino dengan mengendalikan motor servo dari jarak jauh. Untuk proyek ini, modul RF NRF24L01 dipilih karena memiliki beberapa keunggulan dibandingkan dengan media komunikasi digital. Ini memiliki pita ISM frekuensi sangat tinggi 2,4 GHz dan kecepatan datanya bisa 250kbps, 1Mbps, 2 Mbps. Ini memiliki 125 kemungkinan saluran di antara jarak 1Mhz sehingga modul dapat menggunakan 125 saluran berbeda yang memungkinkan untuk memiliki jaringan 125 modem yang bekerja secara independen di satu tempat.
Yang terpenting, sinyal NRF24L01 tidak tumpang tindih atau antar-antarmuka dengan sistem walkie-talkie lain seperti walkie-talkie polisi dan walkie-talkie kereta api dan tidak mengganggu walkie-talkie lainnya. Satu modul nrf24l01 dapat berkomunikasi dengan 6 modul nrf24l01 lainnya pada saat modul tersebut dalam status penerima. Juga, ini adalah modul konsumsi daya rendah yang merupakan keuntungan tambahan. Ada dua jenis modul NRF24L01 yang banyak tersedia dan umum digunakan, satu adalah NRF24L01 + dan yang lainnya adalah NRF24L01 + PA + LNA (ditampilkan di bawah) dengan antena built-in.
The NRF24L01 + memiliki antena onboard dan berkisar hanya 100 meter. Ini hanya bagus untuk penggunaan di dalam ruangan dan tidak cocok untuk komunikasi jarak jauh di luar ruangan. Selain itu, jika ada dinding di antara pemancar dan penerima, transmisi sinyal sangat buruk. The NRF24L01 + PA + LNA dengan antena eksternal memiliki PA yang meningkatkan kekuatan sinyal sebelum transmisi. LNA adalah singkatan dari Low Noise Amplifier. Jelas, menyaring kebisingan dan meningkatkan tingkat rendah sinyal yang sangat lemah dan tidak pasti yang diterima dari antena. Ini membantu dalam membuat tingkat sinyal yang berguna dan memiliki antena eksternal 2dB yang dapat digunakan untuk memancarkan jangkauan jangkauan udara 1000 meter, sehingga sangat cocok untuk proyek komunikasi walkie-talkie luar ruangan kami.
Komponen Diperlukan untuk Walkie Talkie berbasis Arduino
- NRF24L01 + PA + LNA dengan antena 2DB eksternal (2 pcs)
- Arduino UNO atau versi Arduino apa pun
- Penguat audio (2 lembar)
- Sirkuit mikrofon: Anda dapat membuatnya sendiri (dibahas nanti) atau membeli modul sensor suara.
- Modul penguat step-up DC ke DC (2 lembar)
- Modul pengatur tegangan 3.3V AMS1117
- LED indikator daya (2 lembar)
- Resistensi 470 ohm (2 lembar)
- Loudspeaker 4 inci (2 lembar)
- tombol tekan (untuk tombol PTT)
- 104 PF untuk membuat tombol PTT (2 lembar)
- Kapasitor 100 NF untuk NRF24L01 (2 lembar)
- Resistensi 1k untuk tombol PTT (2 lembar)
- 2 set baterai li-ion
- Pengisian baterai Li-ion dan modul perlindungan baterai (2 lembar)
- Beberapa kabel jumper, pin header laki-laki, papan vero bertitik
Diagram Sirkuit Arduino Walkie Talkie
Diagram rangkaian lengkap untuk Arduino Walkie Talkie ditunjukkan pada gambar di bawah ini. Diagram sirkuit menunjukkan semua koneksi termasuk tombol PTT, sirkuit mikrofon, dan output audio stereo.
Penting: Rentang input tegangan modul NRF24L01 adalah 1.9v hingga maksimum 3.6 volt dan untuk stabilitas tegangan dan arus Anda harus menggunakan kapasitor 100nf ke dalam + VCC dan - GND, namun pin lain dari modul nrf24l01 dapat mentolerir sinyal 5 volt level.
Langkah 1: Saya mulai dengan membuat PCB kustom sendiri dan papan Arduino Atmega328p. Saya telah meletakkan IC Atmega328p pada programmer dan mem-flash-nya dan kemudian mengunggah kodenya. Kemudian, saya menambahkan kristal 16 MHz pada IC Atmega328p pada (PB6, PB7) pin 9 dan 10. Gambar PCB yang dibuat khusus dan papan rakitan dengan IC terprogram ditampilkan di bawah ini.
Langkah 2: Saya menghubungkan modul NRF24L01 seperti yang ditunjukkan pada diagram sirkuit dalam urutan berikut. Pin CE ke digital nomor 7, CSN ke pin nomor 8, SCK ke pin digital 13, MOSI ke pin digital 11, MISO ke pin digital 12 dan IRQ ke pin digital 2.
Untuk catu daya, Anda perlu menurunkan tegangan terlebih dahulu dari 5 volt ke 3,3v dengan stabilitas arus yang baik. Selain itu, Anda harus memasang kapasitor 100nF pada VCC dan ground modul nrf24l01. Jadi, saya menggunakan AMS1117 yang merupakan pengatur tegangan 3,3 volt, modul ini juga mengurangi ukuran proyek Anda dan membuatnya ringkas.
Jika Anda ingin membuat papan pengatur tegangan ini sendiri, Anda hanya dapat membeli IC regulator 3,3 volt dan dapat membuatnya dengan menambahkan beberapa tutup, hambatan pada input dan output karena sangat penting untuk modul RF Anda karena merupakan perangkat yang sensitif. Atau Anda dapat menggunakan regulator tegangan variabel LM317 untuk membangun sirkuit yang Diatur 3.3V seperti yang kami lakukan dalam proyek catu daya Breadboard.
Langkah 3: Anda dapat membeli sensor suara atau membuat rangkaian mikrofon sederhana seperti yang ditunjukkan pada diagram rangkaian. Ini hanya terdiri dari satu transistor- transistor 2n3904 NPN. Gambar di bawah ini menunjukkan rangkaian mikrofon buatan sendiri yang dibangun di atas papan Vero. Anda juga dapat memeriksa rangkaian pre-amplifier audio sederhana ini untuk informasi lebih lanjut.
Untuk pemahaman yang lebih baik, saya telah membuat representasi lain dari keseluruhan koneksi dengan nilai komponen seperti yang Anda lihat di bawah
Langkah 4: Untuk membuat koneksi dari pin digital mikrokontroler nomor 9 & 10 ke penguat audio Anda, saya telah menggunakan penguat audio stereo PAM8403 karena secara default output audio Arduino sangat rendah (biasanya Anda hanya dapat mendengar suara menggunakan headphone saja, bukan loudspeaker, jadi kita perlu tahap amplifikasi). Modul ini dapat menggerakkan dua speaker laptop dengan mudah dan tersedia dengan biaya yang sangat rendah. Selain itu, ia hadir dengan penguat audio yang sangat kuat dalam paket SMD yang membutuhkan sedikit ruang. Modul penguat audio PAM8403 ditunjukkan di bawah ini.
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> orang </s>Sambungannya sangat sederhana, catu daya 3,7V hingga 5V diperlukan untuk memberi daya pada Amplifier Audio. Input audio channel kiri dan kanan dari Arduino pin 9 dan 10 beserta pin ground harus diberikan sebagai input untuk modul amplifier ini seperti yang ditunjukkan pada diagram rangkaian. Dalam kasus saya, saya telah menggunakan satu speaker 4 inci 8 ohm dan hanya menggunakan output saluran kanan. Jika mau, Anda dapat menggunakan dua speaker dengan modul ini.
Langkah 5: Selanjutnya, saya membangun sakelar PTT menggunakan tombol tekan sederhana. Saya menambahkan kapasitor 104PF atau 0.1uf untuk mencegah sakelar memantul atau sinyal tidak menentu saat sakelar ditekan. Pin 4 sekarang terhubung langsung dengan Arduino Digital pin D3 sebagai pin terputus ditugaskan ke pengkodean.
NRF24L01 + PA + LNA saat mentransmisikan sinyal audio atau paket DATA mengkonsumsi lebih banyak daya sehingga mengkonsumsi lebih banyak arus. Saat Anda menekan tombol PTT secara tiba-tiba, konsumsi daya meningkat. Untuk menangani beban yang tiba-tiba meningkat ini, Anda harus menggunakan kapasitor 100nF pada + vcc dan Ground untuk stabilitas transmisi Modul NRF24L01 + PA + LNA.
Saat sakelar ditekan, papan Arduino menerima Interupsi Arduino pada pin D3-nya. Dalam program ini, kami akan mendeklarasikan pin 3 digital Arduino terus-menerus memeriksa tegangan inputnya. Jika tegangan input rendah, itu membuat walkie-talkie dalam mode penerimaan dan jika pin digital nomor 3 tinggi, itu mengalihkan walkie-talkie ke mode transmisi untuk mengirim sinyal suara yang diambil oleh proses mikrofon melalui mikrokontroler dan mengirimkan melalui NRF24L01 + PA + LNA dengan antena eksternal.
Langkah 6: Untuk catu daya, saya telah memilih baterai Li-ion ini. Untuk menyalakan semua komponen seperti IC Arduino Atmega328p, NRF24L01 + PA + LNA, penguat audio, tombol PTT, dan rangkaian Mikrofon, saya menggunakan 2 set baterai Li-ion untuk proyek ini seperti yang ditunjukkan di bawah ini.
Sel yang baik memiliki level tegangan 3.8v hingga 4.2 volt dan tegangan charging hanya 4v hingga 4.2 volt. Untuk mengetahui lebih banyak tentang baterai lithium, Anda dapat memeriksa artikel terkait. Baterai ini sangat populer digunakan pada perangkat elektronik portabel dan kendaraan listrik. Tetapi sel baterai Li-ion tidak sekuat baterai lainnya, mereka membutuhkan perlindungan dari pengisian daya yang berlebihan dan pengosongan yang terlalu cepat, yang berarti arus dan tegangan pengisian / pengosongan harus dijaga dalam batas aman. Oleh karena itu, saya menggunakan modul pengisian baterai Li-ion baling-baling paling banyak - TP4056. Kami sebelumnya telah menggunakan modul ini untuk membangun Power Bank Portabel, Anda dapat memeriksanya untuk detail lebih lanjut di papan ini.
Langkah 7: Saya telah menggunakan modul booster step up 2 Amp dc ke dc karena Arduino atmega328p, Audio Amplifier, rangkaian mikrofon, tombol PTT semuanya membutuhkan 5 volt tetapi baterai saya hanya dapat memasok 3.7V ke 4.2V, Jadi saya perlu konverter penguat untuk mencapai 5V dengan lebih dari 1 Amp output daya yang stabil.
Setelah Anda membangun sirkuit, Anda dapat merakitnya di kandang kecil. Saya menggunakan kotak plastik dan menempatkan sirkuit saya seperti yang ditunjukkan pada gambar di bawah
Kode Arduino Walkie Talkie
Program lengkap untuk walkie talkie Arduino Anda dapat ditemukan di bagian bawah halaman ini. Pada bagian ini, mari kita bahas bagaimana program itu bekerja. Sebelum sampai di sana, Anda perlu menyertakan beberapa Perpustakaan yang tercantum di bawah ini.
- Perpustakaan nRF24
- Perpustakaan Audio nRF24
- Perpustakaan RF24 Maniaxbug
Mulailah pemrograman dengan memasukkan header Radio dan Audio Library seperti yang ditunjukkan di bawah ini
#include
Inisialisasi Radio RF pada pin 7 dan 8 dan atur nomor radio audio ke 0. Selain itu, inisialisasi tombol ppt pada pin 3.
Radio RF24 (7,8); // Atur radio menggunakan pin 7 (CE) 8 (CS) RF24Audio rfAudio (radio, 0); // Siapkan audio menggunakan radio, dan setel ke nomor radio 0 int talkButton = 3;
Di dalam fungsi pengaturan, mulai monitor serial pada 115200 baudrate untuk debugging. Kemudian inisialisasi tombol ppt sambungkan ke pin 3 sebagai pin interupsi.
void setup () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // setel interupsi untuk memeriksa tombol bicara melalui tombol tekan attachInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // setel status default untuk setiap modul yang akan menerima rfAudio.receive (); }
Selanjutnya, kita memiliki fungsi yang disebut talk () yang dipanggil sebagai respons terhadap interupsi. Program ini memeriksa status tombol jika tombol ditekan dan ditahan itu memasuki mode transmisi untuk mengirim audio. Jika tombol dilepaskan, ia memasuki mode terima.
void talk () {if (digitalRead (talkButton)) rfAudio.transmit (); else rfAudio.receive (); } lingkaran kosong () {}
Pekerjaan lengkap proyek ini dapat ditemukan dalam video yang ditautkan di bawah ini. Walkie Talkie menghasilkan beberapa noise selama pengoperasian, ini adalah suara dari frekuensi pembawa Modul nRF24L01. Itu dapat dikurangi dengan menggunakan sensor suara atau modul mikrofon yang bagus. Jika Anda memiliki pertanyaan tentang proyek ini, Anda dapat meninggalkannya di bagian komentar di bawah. Anda juga dapat menggunakan forum kami untuk mendapatkan jawaban cepat atas pertanyaan teknis Anda yang lain.