- Bộ đàm sử dụng Mô-đun RF nRF24L01
- Cần có thành phần cho Walkie Talkie dựa trên Arduino
- Sơ đồ mạch Arduino Walkie Talkie
- Mã bộ đàm Arduino
Chúng ta đang sống trong thời đại của 5G và các thiết bị hỗ trợ 5G; tuy nhiên, các công nghệ cũ như hệ thống bộ đàm và hệ thống liên lạc RF vẫn là điều tối quan trọng trong các trường hợp yêu cầu liên lạc từ xa, khoảng cách ngắn, giá rẻ và chi phí thấp. Ví dụ: nếu bạn có một tòa nhà hoặc công ty xây dựng chịu lực nặng, thì các công nhân của bạn cần phải giao tiếp với nhau để làm việc phối hợp. Với sự hỗ trợ của máy bộ đàm, họ có thể giao tiếp với nhau và truyền những bài massage hoặc hướng dẫn ngắn chỉ bằng cách nhấn nút “PTT” để truyền giọng nói cho những công nhân khác, để họ nghe và làm theo hướng dẫn. Một ứng dụng khác có thể nằm trong mũ bảo hiểm thông minhđể giao tiếp giữa một nhóm các tay đua trong một chặng đường dài, mô hình được đề xuất ở đây có thể giao tiếp giữa sáu người cùng một lúc. Nếu bạn muốn xem các loại dự án truyền âm thanh không dây tầm ngắn khác, hãy truy cập dự án Bộ phát âm thanh không dây dựa trên IR và Bộ phát âm thanh Li-Fi bằng cách sử dụng các liên kết.
Bộ đàm sử dụng Mô-đun RF nRF24L01
Thành phần chính của dự án này là mô-đun RF NRF24L01 và Arduino Uno là bộ não hoặc bộ xử lý. Chúng ta đã học cách giao tiếp Nrf24L01 với Arduino bằng cách điều khiển động cơ servo từ xa. Đối với dự án này, mô-đun RF NRF24L01 được chọn vì nó có một số ưu điểm so với phương tiện truyền thông kỹ thuật số. Nó có băng tần ISM tần số rất cao 2,4 GHz và tốc độ dữ liệu có thể là 250kbps, 1Mbps, 2 Mbps. Nó có 125 kênh có thể có ở giữa khoảng cách 1Mhz vì vậy mô-đun có thể sử dụng 125 kênh khác nhau, điều này có thể tạo ra một mạng gồm 125 modem hoạt động độc lập tại một nơi.
Quan trọng nhất, tín hiệu NRF24L01 không chồng chéo hoặc giao diện chéo với các hệ thống bộ đàm khác như bộ đàm cảnh sát và bộ đàm đường sắt và nó không làm phiền các bộ đàm khác. Một mô-đun nrf24l01 duy nhất có thể giao tiếp với 6 mô-đun nrf24l01 khác tại một thời điểm khi chúng ở trạng thái nhận. Ngoài ra, nó là một mô-đun tiêu thụ điện năng thấp là một lợi thế bổ sung. Có hai loại mô-đun NRF24L01 phổ biến rộng rãi và thường được sử dụng, một là NRF24L01 + và một là NRF24L01 + PA + LNA (hiển thị bên dưới) với ăng-ten tích hợp.
Các nRF24L01 + có một ăng-ten tích hợp và chỉ có 100 mét, phạm vi. Nó chỉ tốt cho việc sử dụng trong nhà và không thích hợp cho việc liên lạc đường dài ngoài trời. Hơn nữa, nếu có một bức tường ở giữa máy phát và máy thu, tín hiệu truyền dẫn rất kém. Các nRF24L01 + PA + LNA với một ăng-ten bên ngoài có một PA làm tăng sức mạnh của tín hiệu trước khi truyền. LNA là viết tắt của Low Noise Amplifier. Nó rõ ràng, lọc bỏ tiếng ồn và tăng cường mức cực kỳ yếu và không chắc chắn của tín hiệu nhận được từ ăng-ten. Nó giúp tạo ra các mức tín hiệu hữu ích và nó có ăng ten bên ngoài 2dB, qua đó nó có thể truyền phạm vi phủ sóng 1000 mét trên không, vì vậy nó hoàn hảo cho các dự án liên lạc bộ đàm ngoài trời của chúng tôi.
Cần có thành phần cho Walkie Talkie dựa trên Arduino
- NRF24L01 + PA + LNA với ăng ten 2DB bên ngoài (2 chiếc)
- Arduino UNO hoặc bất kỳ phiên bản nào của Arduino
- Bộ khuếch đại âm thanh (2 chiếc)
- Mạch micrô: Bạn có thể tự chế tạo (sẽ thảo luận sau) hoặc mua mô-đun cảm biến âm thanh.
- Mô-đun tăng cường bước lên DC đến DC (2 chiếc)
- Mô-đun điều chỉnh điện áp 3.3V AMS1117
- Đèn LED báo nguồn (2 chiếc)
- Kháng 470 ohms (2pcs)
- Một loa 4 inch (2 chiếc)
- nút ấn (đối với nút PTT)
- 104 PF để làm nút PTT (2 cái)
- Tụ điện 100 NF cho NRF24L01 (2 chiếc)
- Kháng 1k cho nút PTT (2 cái)
- 2 bộ pin li-ion
- Mô-đun bảo vệ pin và sạc pin Li-ion (2 chiếc)
- Một số dây jumper, pin tiêu đề nam, bảng mạch chấm
Sơ đồ mạch Arduino Walkie Talkie
Sơ đồ mạch hoàn chỉnh cho Arduino Walkie Talkie được hiển thị trong hình ảnh bên dưới. Sơ đồ mạch hiển thị tất cả các kết nối bao gồm nút PTT, mạch micrô và đầu ra âm thanh nổi.
Quan trọng: Phạm vi điện áp đầu vào của mô-đun NRF24L01 là 1,9v đến tối đa là 3,6 vôn và để ổn định điện áp và dòng điện, bạn phải sử dụng tụ điện 100nf vào + VCC và - GND, nhưng các chân khác của mô-đun nrf24l01 có thể chịu được tín hiệu 5 vôn các cấp độ.
Bước 1: Tôi bắt đầu với việc tạo bảng mạch Arduino Atmega328p tùy chỉnh tự chế. Tôi đã đặt IC Atmega328p trên lập trình viên và flash nó và sau đó tải lên mã. Sau đó, tôi thêm tinh thể 16 MHz trên IC Atmega328p trên (PB6, PB7) chân 9 và 10. Hình ảnh về PCB được sản xuất tùy chỉnh của tôi và bảng được lắp ráp với IC được lập trình được hiển thị bên dưới.
Bước 2: Tôi kết nối các mô-đun NRF24L01 như được hiển thị trong sơ đồ mạch theo thứ tự sau. CE đến chân số 7, CSN đến chân số 8, SCK đến chân số 13, MOSI đến chân số 11, MISO đến chân số 12 và IRQ đến chân số 2.
Đối với bộ nguồn, trước tiên bạn cần hạ điện áp từ 5 vôn xuống 3,3 v với dòng điện ổn định tốt. Ngoài ra, bạn phải đặt một tụ điện 100nF trên VCC và mặt đất của mô-đun nrf24l01. Vì vậy, tôi đã sử dụng AMS1117 là một bộ điều chỉnh điện áp 3,3 volt, mô-đun cũng làm giảm kích thước dự án của bạn và làm cho nó nhỏ gọn.
Nếu bạn muốn tự làm bo mạch điều chỉnh điện áp này, bạn chỉ có thể mua IC điều chỉnh 3,3 volt và có thể làm nó bằng cách thêm một số nắp, điện trở vào đầu vào và đầu ra vì nó rất quan trọng đối với mô-đun RF của bạn vì nó là một thiết bị nhạy cảm. Hoặc bạn có thể sử dụng bộ điều chỉnh điện áp biến đổi LM317 để xây dựng một mạch Điều chỉnh 3.3V như chúng tôi đã làm trong dự án cấp nguồn Breadboard.
Bước 3: Bạn có thể mua cảm biến âm thanh hoặc làm mạch micro đơn giản như trong sơ đồ mạch. Nó chỉ bao gồm một bóng bán dẫn - bóng bán dẫn NPN 2n3904. Hình ảnh dưới đây cho thấy mạch micrô tự chế được xây dựng trên bo mạch Vero. Bạn cũng có thể kiểm tra mạch tiền khuếch đại âm thanh đơn giản này để biết thêm thông tin.
Để hiểu rõ hơn, tôi đã thực hiện một đại diện khác của toàn bộ kết nối với các giá trị thành phần như bạn có thể thấy bên dưới
Bước 4: Để thực hiện kết nối từ chân số 9 & 10 của bộ vi điều khiển với bộ khuếch đại âm thanh của bạn, tôi đã sử dụng bộ khuếch đại âm thanh nổi PAM8403 vì theo mặc định, đầu ra âm thanh Arduino rất thấp (thường bạn chỉ có thể nghe âm thanh bằng cách sử dụng tai nghe, không phải loa nên chúng ta cần một tầng khuếch đại). Mô-đun có thể điều khiển hai loa máy tính xách tay một cách dễ dàng và có sẵn với chi phí rất thấp. Ngoài ra, nó đi kèm với một bộ khuếch đại âm thanh rất mạnh trong gói SMD đòi hỏi rất ít không gian. Mô-đun khuếch đại âm thanh PAM8403 được hiển thị bên dưới.
Các bác sĩ cho biết thêm:Kết nối rất đơn giản, cần có nguồn điện từ 3.7V đến 5V để cấp nguồn cho Bộ khuếch đại âm thanh. Đầu vào âm thanh kênh trái và kênh phải từ chân 9 và 10 của Arduino cùng với chân nối đất phải được đưa ra làm đầu vào cho mô-đun bộ khuếch đại này như được hiển thị trong sơ đồ mạch. Trong trường hợp của tôi, tôi đã sử dụng một loa 4 inch 8 ohms và chỉ sử dụng đầu ra đúng kênh. Nếu muốn, bạn có thể sử dụng hai loa với mô-đun này.
Bước 5: Tiếp theo, tôi đã xây dựng công tắc PTT bằng một nút nhấn đơn giản. Tôi đã thêm một tụ điện 104PF hoặc 0,1uf để ngăn chặn công tắc nảy hoặc tín hiệu thất thường khi công tắc được nhấn. Chân 4 hiện được kết nối trực tiếp với chân D3 của Arduino Digital vì một chân ngắt được gán cho mã hóa.
NRF24L01 + PA + LNA khi truyền tín hiệu âm thanh hoặc các gói DATA tiêu thụ nhiều điện năng hơn, do đó nó tiêu thụ nhiều dòng điện hơn. Khi bạn nhấn nút PTT đột ngột, mức tiêu thụ điện năng sẽ tăng lên. Để xử lý tải tăng đột ngột này, bạn phải sử dụng tụ điện 100nF trên + vcc và Nối đất cho sự ổn định truyền của Mô-đun NRF24L01 + PA + LNA.
Khi công tắc được nhấn, bảng Arduino nhận được Ngắt Arduino trên chân D3 của nó. Trong chương trình, chúng tôi sẽ khai báo chân số 3 của Arduino liên tục kiểm tra điện áp đầu vào của nó. Nếu điện áp đầu vào thấp, nó giữ bộ đàm ở chế độ nhận và nếu chân số 3 ở mức cao, nó sẽ chuyển bộ đàm sang chế độ truyền để gửi tín hiệu thoại do quá trình micrô thu được thông qua vi điều khiển và truyền qua NRF24L01 + PA + LNA với một ăng-ten bên ngoài.
Bước 6: Đối với nguồn điện, tôi đã chọn pin Li-ion này. Để cấp nguồn, tất cả các thành phần như IC Arduino Atmega328p, NRF24L01 + PA + LNA, bộ khuếch đại âm thanh, nút PTT và mạch Microphone, tôi đã sử dụng 2 bộ pin Li-ion cho dự án này như hình bên dưới.
Một tế bào tốt có mức điện áp 3,8v đến 4,2 volt và điện áp sạc chỉ là 4v đến 4,2 volt. Để biết thêm về pin lithium, bạn có thể kiểm tra bài viết được liên kết. Loại pin này được sử dụng rất phổ biến trong các thiết bị điện tử cầm tay và xe điện. Nhưng tế bào pin Li-ion không mạnh mẽ như các loại pin khác, chúng cần được bảo vệ để không bị sạc quá mức và xả quá nhanh, có nghĩa là dòng điện và điện áp sạc / xả phải được duy trì trong giới hạn an toàn. Do đó, tôi đã sử dụng mô-đun sạc pin Li-ion cánh quạt nhất - TP4056. Trước đây chúng tôi đã sử dụng mô-đun này để xây dựng Ngân hàng điện di động, bạn có thể kiểm tra mô-đun đó để biết thêm chi tiết trên bảng này.
Bước 7: Tôi đã sử dụng mô-đun tăng cường bước 2 Amp dc thành dc vì Arduino atmega328p, Bộ khuếch đại âm thanh, mạch micrô, nút PTT mọi thứ đều cần 5 volt nhưng pin của tôi chỉ có thể cung cấp 3,7V đến 4,2V, vì vậy tôi cần một bộ chuyển đổi tăng để đạt đến 5V với hơn 1 Amp của nguồn điện đầu ra ổn định.
Sau khi bạn đã xây dựng mạch, bạn có thể lắp ráp nó trong một hộp nhỏ. Tôi đã sử dụng một hộp nhựa và đặt các mạch của tôi như thể hiện trong hình dưới đây
Mã bộ đàm Arduino
Bạn có thể tìm thấy chương trình hoàn chỉnh cho bộ đàm Arduino của mình ở cuối trang này. Trong phần này, chúng ta hãy thảo luận về cách chương trình hoạt động. Trước khi đến đó, bạn cần bao gồm một số Thư viện được liệt kê dưới đây.
- Thư viện nRF24
- Thư viện âm thanh nRF24
- Thư viện Maniaxbug RF24
Bắt đầu chương trình bằng cách bao gồm các tiêu đề Thư viện âm thanh và Đài phát thanh như hình dưới đây
#include
Khởi tạo Radio RF trên chân 7 và 8 và thiết lập số radio âm thanh thành 0. Ngoài ra, khởi tạo nút ppt trên chân 3.
Đài RF24 (7,8); // Thiết lập radio bằng chân 7 (CE) 8 (CS) RF24Audio rfAudio (radio, 0); // Thiết lập âm thanh bằng radio và đặt thành radio number 0 int talkButton = 3;
Bên trong chức năng thiết lập, bắt đầu màn hình nối tiếp ở tốc độ 115200 baudrate để gỡ lỗi. Sau đó khởi tạo nút ppt kết nối với chân 3 làm chân ngắt.
void setup () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // thiết lập ngắt để kiểm tra nút nói chuyện abutton nhấn vào attachmentInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // thiết lập trạng thái mặc định cho mỗi mô-đun để nhận rfAudio.receive (); }
Tiếp theo, chúng ta có một hàm gọi là talk () được gọi để đáp ứng với ngắt. Chương trình kiểm tra trạng thái của nút nếu nút được nhấn và giữ, nó sẽ chuyển sang chế độ truyền để gửi âm thanh. Nếu nút được nhả ra, nó sẽ chuyển sang chế độ nhận.
void talk () {if (digitalRead (talkButton)) rfAudio.transmit (); else rfAudio.receive (); } void loop () {}
Hoạt động hoàn chỉnh của dự án này có thể được tìm thấy trong video được liên kết bên dưới. Bộ đàm tạo ra một số tiếng ồn trong quá trình hoạt động, đây là tiếng ồn từ tần số sóng mang của Mô-đun nRF24L01. Nó có thể được giảm bớt bằng cách sử dụng một bộ cảm biến âm thanh tốt hoặc mô-đun micrô. Nếu bạn có bất kỳ câu hỏi nào về dự án này, bạn có thể để lại trong phần bình luận bên dưới. Bạn cũng có thể sử dụng các diễn đàn của chúng tôi để nhận câu trả lời nhanh chóng cho các truy vấn kỹ thuật khác của bạn.