- Walkie Talkie mitjançant el mòdul RF nRF24L01
- Component necessari per al walkie talkie basat en Arduino
- Diagrama del circuit Arduino Walkie Talkie
- Walkie Talkie Arduino Code
Vivim en l’era dels dispositius compatibles amb 5G i 5G; no obstant això, les tecnologies antigues com el sistema de walkie-talkie i el sistema de comunicació RF encara són primordials en escenaris en què es requereix una comunicació remota, de distància curta, barata i de baix cost. Per exemple, si teniu una empresa de construcció amb un edifici pesant o pesat, els vostres treballadors hauran de comunicar-se entre ells per treballar coordinadament. Amb l'ajuda d'un walkie-talkie, poden comunicar-se entre ells i difondre un breu massatge o instruccions simplement prement el botó "PTT" per transmetre veu als altres treballadors, perquè escoltin i segueixin les instruccions. Una altra aplicació podria ser als cascos intel·ligentsper comunicar-se entre un grup de pilots durant un llarg viatge, el model suggerit aquí pot comunicar-se entre sis persones a la vegada. Si voleu veure altres tipus de projectes de transmissió d’àudio sense fils de curt abast, visiteu el projecte Transmissor d’àudio sense fils basat en IR i Transmissor d’àudio Li-Fi mitjançant els enllaços.
Walkie Talkie mitjançant el mòdul RF nRF24L01
El component principal d’aquest projecte és el mòdul RF NRF24L01 i Arduino Uno, que és el cervell o el processador. Ja hem après a interfície Nrf24L01 amb Arduino controlant un servomotor de forma remota. Per a aquest projecte, es tria el mòdul RF NRF24L01 perquè té diversos avantatges respecte a un mitjà de comunicació digital. Té una banda ISM de 2,4 GHz de molt alta freqüència i la velocitat de dades pot ser de 250 kbps, 1 Mbps, 2 Mbps. Té 125 canals possibles entre 1Mhz d’espai, de manera que el mòdul pot utilitzar 125 canals diferents, cosa que permet tenir una xarxa de 125 mòdems de treball independent en un sol lloc.
El més important és que els senyals NRF24L01 no es superposen ni es creuen en interfícies amb altres sistemes de walkie-talkie com el walkie-talkie de la policia i el walkie-talkie de ferrocarril i no molesta els altres walkie-talkies. Un únic mòdul nrf24l01 pot comunicar-se amb els altres 6 mòduls nrf24l01 alhora quan es troben en estat receptor. A més, és un mòdul de baix consum d'energia que suposa un avantatge addicional. Hi ha dos tipus de mòduls NRF24L01 que són àmpliament disponibles i que s’utilitzen habitualment, un és NRF24L01 + i un altre és NRF24L01 + PA + LNA (es mostra a continuació) amb antena incorporada.

El NRF24L01 + té una antena a bord i només té un abast de 100 metres. És bo només per a ús en interiors i no és adequat per a comunicacions de llarga distància a l’aire lliure. A més, si hi ha una paret present entre el transmissor i el receptor, la transmissió del senyal és molt deficient. El NRF24L01 + PA + LNA amb una antena externa té un PA que augmenta la potència del senyal abans de la transmissió. LNA significa Amplificador de Baix Soroll. És clar, filtra el soroll i augmenta el nivell extremadament feble i incert del senyal rebut de l’antena. Ajuda a fer nivells útils de senyal i disposa d’antena externa de 2 dB a través de la qual pot transmetre 1.000 metres de cobertura d’aire. per tant, és perfecte per als nostres projectes de comunicació de walkie-talkie a l’aire lliure.
Component necessari per al walkie talkie basat en Arduino
- NRF24L01 + PA + LNA amb antena externa 2DB (2 unitats)
- Arduino UNO o qualsevol versió d'Arduino
- Amplificador d'àudio (2 unitats)
- Circuit de micròfon: podeu fabricar-lo vosaltres mateixos (més endavant) o adquirir un mòdul de sensor de so.
- Mòdul de reforç intensiu de CC a CC (2 unitats)
- Mòdul regulador de voltatge AMS1117 de 3,3V
- LED indicador d'alimentació (2 unitats)
- Resistència de 470 ohms (2 unitats)
- Un altaveu de 4 polzades (2 unitats)
- polsador (per al botó PTT)
- 104 PF per fer botó PTT (2 unitats)
- Condensador de 100 NF per NRF24L01 (2 unitats)
- 1 k de resistència per al botó PTT (2 unitats)
- 2 jocs de bateria d'ió li
- Mòdul de càrrega i protecció de la bateria d'ió li-li (2 unitats)
- Alguns ponts de filferro, passador de capçalera masculí, tauler Vero puntejat
Diagrama del circuit Arduino Walkie Talkie
A la imatge següent es mostra el diagrama de circuits complet de l’ Arduino Walkie Talkie. El diagrama del circuit mostra totes les connexions, inclòs el botó PTT, el circuit de micròfon i la sortida d’àudio estèreo.

Important: el rang d’entrada de voltatge del mòdul NRF24L01 és d’1,9 V fins a un màxim de 3,6 volts i, per obtenir estabilitat de tensió i corrent, heu d’utilitzar un condensador de 100 nf als + VCC i - GND, però altres pins del mòdul nrf24l01 poden tolerar el senyal de 5 volts. nivells.
Pas 1: Vaig començar a fer PCB personalitzats casolans i la placa Arduino Atmega328p. Havia posat l'IC Atmega328p al programador, el vaig llançar i després vaig penjar el codi. A continuació, he afegit cristall de 16 MHz a l’atmega328p IC als pins 9 i 10. (PB6, PB7) del pin 9 i 10. A continuació es mostren les imatges del meu PCB fet a mida i de la placa muntada amb l’IC programat.

Pas 2: He connectat mòduls NRF24L01 tal com es mostra al diagrama del circuit en l'ordre següent. CE al pin digital número 7, CSN al pin número 8, SCK al pin digital 13, MOSI al pin digital 11, MISO al pin digital 12 i IRQ al pin digital 2.

Per a la font d'alimentació, primer heu de baixar el voltatge de 5 volts a 3,3 v amb una bona estabilitat de corrent. A més, heu de posar un condensador 100nF al VCC i a terra del mòdul nrf24l01. Per tant, he utilitzat AMS1117, que és un regulador de voltatge de 3,3 volts, el mòdul també redueix la mida del projecte i el fa compacte.

Si voleu fabricar aquesta placa de regulador de tensió vosaltres mateixos, només podeu comprar un regulador IC de 3,3 volts i podeu fer-ho afegint alguns taps, resistència a l'entrada i sortida, ja que és molt important per al vostre mòdul de RF perquè és un dispositiu sensible. O bé podeu utilitzar el regulador de voltatge variable LM317 per construir un circuit regulat de 3,3 V, tal com vam fer al projecte de subministrament elèctric de Breadboard.
Pas 3: podeu adquirir un sensor de so o fer un circuit de micròfon senzill, tal com es mostra al diagrama del circuit. Consisteix només en un transistor NPN transistor 2n3904. La imatge següent mostra el circuit de micròfon casolà construït sobre una placa Vero. També podeu consultar aquest senzill circuit de preamplificador d'àudio per obtenir més informació.

Per a una millor comprensió, he fet una altra representació de tota la connexió amb valors de components com podeu veure a continuació

Pas 4: per fer una connexió des del pin digital número 9 i 10 del microcontrolador amb el vostre amplificador d'àudio, he utilitzat l' amplificador d'àudio estèreo PAM8403 perquè, per defecte, la sortida d'àudio Arduino és molt baixa (normalment només es pot escoltar so només amb auriculars), no un altaveu, de manera que necessitem una etapa d'amplificació). El mòdul pot conduir dos altaveus portàtils fàcilment i està disponible a un cost molt baix. A més, ve amb un amplificador d’àudio molt potent en un paquet SMD que requereix molt poc espai. A continuació es mostra el mòdul amplificador d’àudio PAM8403.

La connexió és molt senzilla, es necessita una font d’alimentació de 3,7 V a 5 V per alimentar l’amplificador d’àudio. Les entrades d’àudio del canal esquerre i dret del pin 9 i 10 d’Arduino junt amb el pin de terra s’han de donar com a entrada d’aquest mòdul amplificador tal com es mostra al diagrama del circuit. En el meu cas, he utilitzat un sol altaveu de 8 polzades de 4 polzades i només he utilitzat la sortida del canal dret. Si voleu, podeu utilitzar dos altaveus amb aquest mòdul.
Pas 5: A continuació, he creat el commutador PTT amb un senzill polsador. Vaig afegir un condensador de 104PF o 0.1uf per evitar que els interruptors rebotessin o rebessin senyals quan es prem l’interruptor. El pin 4 està connectat directament amb el pin D3 Arduino Digital, ja que s’assigna un pin interromput a la codificació.

El NRF24L01 + PA + LNA quan transmet un senyal d'àudio o paquets de dades consumeix més energia, per tant, consumeix més corrent. Quan premeu de sobte el botó PTT, el consum d’energia augmenta. Per manejar aquesta càrrega augmentada sobtadament, heu d’utilitzar un condensador 100nF a + vcc i a terra per a l’estabilitat de transmissió del mòdul NRF24L01 + PA + LNA.
Quan es pressiona l’interruptor, la placa Arduino rep una interrupció Arduino al pin D3. Al programa, declararem el pin digital 3 d'Arduino comprovant constantment la seva tensió d'entrada. Si el voltatge d’entrada és baix, manté el walkie-talkie en mode de recepció i, si el pin digital número 3 és alt, canvia el walkie-talkie en mode de transmissió per a l’enviament de senyals de veu captats pel procés del micròfon a través del microcontrolador i transmetre mitjançant NRF24L01 + PA + LNA amb antena externa.
Pas 6: per a la font d'alimentació, he triat aquesta bateria d'ió Li. Per alimentar tots els components com Arduino IC Atmega328p, NRF24L01 + PA + LNA, amplificador d'àudio, botó PTT i circuit de micròfon, he utilitzat 2 jocs de bateria de ions Li per a aquest projecte, tal com es mostra a continuació.

Una bona cel·la té un nivell de voltatge de 3,8 a 4,2 volts i la tensió de càrrega només és de 4 a 4,2 volts. Per obtenir més informació sobre les bateries de liti, podeu consultar l'article enllaçat. Aquestes bateries s’utilitzen molt popularment en dispositius electrònics portàtils i vehicles elèctrics. Però les cèl·lules de les bateries de ions de li no són tan robustes com la resta de bateries, sinó que necessiten protecció contra la sobrecàrrega i la descàrrega massa ràpides, de manera que el corrent i el voltatge de càrrega / descàrrega s’han de mantenir dins dels límits de seguretat. Per tant, he utilitzat el mòdul de càrrega de la bateria de ions de Li amb més hèlix: TP4056. Anteriorment hem utilitzat aquest mòdul per construir un banc d’energia portàtil. Podeu consultar-lo per obtenir més informació en aquest tauler.
Pas 7: he utilitzat un mòdul de reforç de 2 Amp dc a dc perquè Arduino atmega328p, amplificador d'àudio, circuit de micròfon, botó PTT tot necessita 5 volts, però la meva bateria només pot subministrar de 3,7 V a 4,2 V, per tant, necessito un convertidor d'augment per arribar a 5V amb més d'1 Amp de potència estable.

Després de construir el circuit, el podeu muntar en un petit recinte. Vaig utilitzar una caixa de plàstic i vaig col·locar els circuits com es mostra a la imatge següent


Walkie Talkie Arduino Code
El programa complet del vostre walkie talkie Arduino es troba a la part inferior d’aquesta pàgina. En aquesta secció, analitzem el funcionament del programa. Abans d’arribar-hi, heu d’incloure algunes biblioteques que s’enumeren a continuació.
- Biblioteca nRF24
- Biblioteca d'àudio nRF24
- Biblioteca Maniaxbug RF24
Comenceu la programació incloent les capçaleres de ràdio i àudio com es mostra a continuació
#incloure
Inicialitzeu la ràdio RF als pins 7 i 8 i configureu el número de ràdio àudio a 0. A més, inicialitzeu el botó ppt del pin 3.
Ràdio RF24 (7,8); // Configureu la ràdio mitjançant els pins 7 (CE) 8 (CS) RF24Audio rfAudio (ràdio, 0); // Configureu l'àudio mitjançant la ràdio i configureu el número de ràdio 0 int talkButton = 3;
Dins de la funció de configuració, comenceu el monitor sèrie a una velocitat de transmissió de 115200 per depurar. A continuació, inicialitzeu el botó de connexió ppt al pin 3 com a pin d'interrupció.
configuració nul·la () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // defineix la interrupció per comprovar si hi ha botó de conversa de botó premeu attachInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // estableix l'estat per defecte de cada mòdul per rebre rfAudio.receive (); }
A continuació, tenim una funció anomenada talk () que es diu en resposta a la interrupció. El programa comprova l'estat del botó si es manté premut el botó i entra en mode de transmissió per enviar l'àudio. Si es deixa anar el botó, entra en mode de recepció.
void talk () {if (DigitalRead (talkButton)) rfAudio.transmit (); else rfAudio.receive (); } bucle buit () {}
El funcionament complet d’aquest projecte es pot trobar al vídeo enllaçat a continuació. El Walkie Talkie produeix una mica de soroll durant el funcionament, és el soroll de la freqüència portadora del mòdul nRF24L01. Es pot reduir utilitzant un bon sensor de so o un mòdul de micròfon. Si teniu cap pregunta sobre aquest projecte, podeu deixar-les a la secció de comentaris que hi ha a continuació. També podeu utilitzar els nostres fòrums per obtenir respostes ràpides a les vostres altres consultes tècniques.
