- Walkie Talkie pomoću RF modula nRF24L01
- Komponenta potrebna za voki-toki zasnovan na Arduinu
- Arduino voki-toki krug dijagram
- Walkie Talkie Arduino kod
Živimo u eri 5G i 5G uređaja; međutim, stare tehnologije poput walkie-talkie sustava i RF komunikacijskog sustava i dalje su najvažnije u scenarijima gdje je potrebna daljinska, jeftina i jeftina komunikacija. Na primjer, ako imate građevinsku ili građevinsku tvrtku s teškim građevinama, tada vaši radnici trebaju međusobno komunicirati radi koordiniranog rada. Uz pomoć voki-tokija mogu komunicirati jedni s drugima i širiti kratku masažu ili upute samo pritiskom na tipku "PTT" za prijenos glasa za druge radnike, kako bi oni mogli slušati i slijediti upute. Još jedna aplikacija mogla bi biti u pametnim kacigamaza komunikaciju između čopora jahača tijekom duge vožnje, predloženi model ovdje može komunicirati između šest osoba odjednom. Ako želite provjeriti druge vrste projekata bežičnog prijenosa zvuka kratkog dometa, posjetite projekt bežičnog zvučnog odašiljača i Li-Fi audio odašiljača temeljenog na IR-u pomoću poveznica.
Walkie Talkie pomoću RF modula nRF24L01
Glavna komponenta ovog projekta je NRF24L01 RF modul i Arduino Uno koji je mozak ili procesor. Već smo naučili kako povezati Nrf24L01 s Arduinom upravljanjem servo motorom na daljinu. Za ovaj je projekt odabran NRF24L01 RF modul jer ima nekoliko prednosti u odnosu na digitalni komunikacijski medij. Ima 2,4 GHz vrlo visokofrekventni ISM opseg, a brzina prijenosa podataka može biti 250kbps, 1Mbps, 2 Mbps. Ima 125 mogućih kanala između 1Mhz razmaka, tako da modul može koristiti 125 različitih kanala što omogućava mrežu od 125 neovisno radećih modema na jednom mjestu.
Najvažnije je da se signali NRF24L01 ne preklapaju i ne ukrštaju se s drugim sustavima voki-tokija, poput policijskog voki-tokija i željezničkog voki-tokija, i ne ometaju druge voki-tokije. Pojedinačni modul nrf24l01 može komunicirati s ostalih 6 modula nrf24l01 u trenutku kada su u stanju prijema. Također, riječ je o modulu male potrošnje energije što je dodatna prednost. Postoje dvije vrste NRF24L01 modula koji su široko dostupni i često se koriste, jedan je NRF24L01 +, a drugi NRF24L01 + PA + LNA (prikazan u nastavku) s ugrađenom antenom.

NRF24L01 + ima onboard antenu i samo 100 metara raspona. Dobar je samo za unutarnju upotrebu i nije prikladan za vanjske velike komunikacije. Štoviše, ako je između odašiljača i prijemnika prisutan zid, prijenos signala je vrlo loš. NRF24L01 + PA + LNA s vanjskom antenom ima PA koja pojačava snagu signala prije prijenosa. LNA je kratica za pojačalo s niskom bukom. Jasno je, filtrira buku i pojačava izuzetno slabu i nesigurnu nisku razinu signala primljenog od antene. Pomaže u stvaranju korisnih razina signala i ima vanjsku antenu od 2 dB kroz koju može prenijeti 1000 metara pokrivenosti zrakom, tako da je savršen za naše komunikacijske projekte walkie-talkieja na otvorenom.
Komponenta potrebna za voki-toki zasnovan na Arduinu
- NRF24L01 + PA + LNA s vanjskom 2DB antenom (2 kom)
- Arduino UNO ili bilo koja verzija Arduina
- Pojačalo zvuka (2kom)
- Krug mikrofona: Možete ga sami izraditi (o čemu ćemo razgovarati kasnije) ili kupiti modul senzora zvuka.
- DC-DC pojačajući modul za pojačavanje (2kom)
- 3.3V modul AMS1117 regulatora napona
- LED indikatora napajanja (2kom)
- Otpor 470 ohma (2kom)
- 4-inčni zvučnik (2kom)
- tipka (za PTT tipku)
- 104 PF za izradu PTT gumba (2kom)
- Kondenzator od 100 NF za NRF24L01 (2kom)
- Otpor 1k za PTT tipku (2kom)
- 2 kompleta li-ionske baterije
- Modul za punjenje i zaštitu litij-jonske baterije (2kom)
- Neka kratkospojna žica, muški zatik zaglavlja, točkasta ploča vero
Arduino voki-toki krug dijagram
Kompletna shema sklopa za Arduino Walkie Talkie prikazana je na donjoj slici. Shema sklopa prikazuje sve veze, uključujući PTT tipku, sklop mikrofona i stereo audio izlaz.

Važno: Područje ulaza napona modula NRF24L01 iznosi 1,9 v do najviše 3,6 volta, a za stabilnost napona i struje morate koristiti kondenzator od 100 nf u + VCC i - GND, ali ostali pinovi modula nrf24l01 mogu tolerirati 5-voltni signal razinama.
Korak 1: Počeo sam s izradom domaćih prilagođenih PCB-a i Arduino Atmega328p ploče. Na programator sam stavio IC Atmega328p, bljesnuo sam i zatim učitao kod. Zatim sam dodao kristal od 16 MHz na Atmega328p IC na (PB6, PB7) pin 9 i 10. Slike mog prilagođenog PCB-a i sklopljene ploče s programiranim IC-om prikazane su u nastavku.

Korak 2: Spojio sam module NRF24L01 kako je prikazano na shemi spojeva sljedećim redoslijedom. CE na digitalni pin broj 7, CSN na pin broj 8, SCK na digitalni pin 13, MOSI na digitalni pin 11, MISO na digitalni pin Pin i IRQ na digitalni pin 2.

Za napajanje trebate spustiti napon s 5 volti na 3,3 v uz dobru stabilnost struje. Također, na VCC i uzemljenje modula nrf24l01 morate staviti kondenzator od 100 nF. Dakle, koristio sam AMS1117 koji je 3,3-voltni regulator napona, modul također smanjuje veličinu vašeg projekta i čini ga kompaktnim.

Ako želite sami izraditi ovu ploču regulatora napona, možete kupiti samo 3,3-voltnu IC-regulatoru i to možete učiniti dodavanjem nekih kapica, otpora na ulazu i izlazu, jer je to vrlo važno za vaš RF modul, jer je to osjetljiv uređaj. Ili možete upotrijebiti regulator promjenjivog napona LM317 za izradu regulacijskog kruga od 3,3 V, kao što smo to učinili u projektu napajanja mreže.
Korak 3: Možete kupiti zvučni senzor ili napraviti jednostavni sklop mikrofona kao što je prikazano na shemi spojeva. Sastoji se od samo jednog tranzistora - 2n3904 NPN tranzistor. Slika dolje prikazuje domaći sklop mikrofona izgrađen na Vero ploči. Također možete provjeriti ovaj jednostavni krug audio pojačala za više informacija.

Za bolje razumijevanje, napravio sam još jedan prikaz cijele veze s vrijednostima komponenata, kao što možete vidjeti dolje

Korak 4: Za uspostavljanje veze s digitalnog pin broja 9 i 10 vašeg mikrokontrolera na vaše audio pojačalo upotrijebio sam stereo audio pojačalo PAM8403 jer je prema zadanim postavkama Arduino audio izlaz vrlo nizak (zvuk obično možete čuti samo pomoću samo slušalica, a ne zvučnik, pa nam treba faza pojačanja). Modul može lako voziti dva zvučnika za prijenosno računalo i dostupan je po vrlo niskoj cijeni. Također, dolazi s vrlo snažnim audio pojačalom u SMD paketu koje zahtijeva vrlo malo prostora. Modul pojačala PAM8403 prikazan je u nastavku.

Veza je vrlo jednostavna, za napajanje audio pojačala potrebno je napajanje od 3,7 V do 5 V. Lijevi i desni kanal audio ulaza s Arduino pina 9 i 10 zajedno s uzemljenjem trebaju biti dati kao ulaz za ovaj modul pojačala, kao što je prikazano na shemi sklopa. U mom slučaju koristio sam jedan 4-inčni 8-omski zvučnik i koristio samo izlaz desnog kanala. Ako želite, s ovim modulom možete koristiti dva zvučnika.
Korak 5: Dalje, izgradio sam PTT prekidač pomoću jednostavnog gumba. Dodao sam kondenzator 104PF ili 0,1uf kako bih spriječio poskakivanje prekidača ili nestalne signale kad se pritisne prekidač. Pin 4 sada je izravno povezan s Arduino Digital pinom D3 jer je prekinut pin dodijeljen kodiranju.

NRF24L01 + PA + LNA kod odašiljanja audio signala ili DATA paketa troši više energije, stoga troši više struje. Kad naglo pritisnete tipku PTT, potrošnja energije se povećava. Za rukovanje ovim naglo povećanim opterećenjem morate koristiti kondenzator od 100 nF na + vcc i uzemljenje za stabilnost prijenosa modula NRF24L01 + PA + LNA.
Kad se pritisne prekidač, ploča Arduino prima Arduino prekid na svoj pin D3. U programu ćemo proglasiti digitalni pin 3 Arduina neprestanom provjerom njegovog ulaznog napona. Ako je ulazni napon nizak, on održava walkie-talkie u načinu primanja, a ako je digitalni pin broj 3 visok, Walkie-talkie prebacuje u način odašiljanja za slanje glasovnog signala koji je mikrofonski proces primio putem mikrokontrolera i prenosi putem NRF24L01 + PA + LNA s vanjskom antenom.
Korak 6: Za napajanje odabrao sam ovu Li-ion bateriju. Za napajanje svih komponenata poput Arduino IC Atmega328p, NRF24L01 + PA + LNA, audio pojačala, PTT gumba i kruga mikrofona, za ovaj sam projekt koristio 2 kompleta Li-ion baterije, kao što je prikazano u nastavku.

Dobra ćelija ima napon od 3,8 do 4,2 volta, a napon punjenja je od 4 do 4,2 volta. Da biste saznali više o litijevim baterijama, možete provjeriti povezani članak. Te se baterije vrlo popularno koriste u prijenosnim elektroničkim uređajima i električnim vozilima. Ali ćelije Li-ionskih baterija nisu robusne kao ostale baterije, treba im zaštita od prebrzog punjenja i prebrzog pražnjenja, što znači da struju punjenja / pražnjenja i napon treba održavati u sigurnim granicama. Stoga sam koristio najviše propelerski Li-ion baterijski modul za punjenje - TP4056. Ranije smo koristili ovaj modul za izradu prijenosne banke napajanja, to možete provjeriti za više detalja na ovoj ploči.
Korak 7: Upotrijebio sam 2 A DC jednosmjerne struje za pojačavanje modula pojačala, jer Arduino atmega328p, pojačalo zvuka, mikrofonski krug, PTT tipka trebaju sve od 5 volta, ali moja baterija može napajati samo 3,7 V do 4,2 V, tako da trebam pretvarač pojačanja da dosegne 5V s više od 1 A stabilne izlazne snage.

Nakon što ste izgradili strujni krug, možete ga sastaviti u malom kućištu. Koristio sam plastičnu kutiju i smjestio krugove kako je prikazano na donjoj slici


Walkie Talkie Arduino kod
Kompletni program za vaš voki-toki Arduino nalazi se na dnu ove stranice. U ovom odjeljku razgovarajmo o tome kako program radi. Prije nego što dođete tamo, morate uključiti neke knjižnice koje su navedene u nastavku.
- Knjižnica nRF24
- Audioteka NRF24
- Knjižnica Maniaxbug RF24
Započnite s programiranjem uključivanjem zaglavlja Radio i Audio biblioteke kao što je prikazano u nastavku
#include
Inicijalizirajte RF radio na pinovima 7 i 8 i postavite broj audio radija na 0. Također, inicijalizirajte gumb ppt na pinu 3.
RF24 radio (7,8); // Postavljanje radija pomoću pinova 7 (CE) 8 (CS) RF24Audio rfAudio (radio, 0); // Postavite zvuk pomoću radija i postavite na radio broj 0 int talkButton = 3;
Unutar funkcije postavljanja započnite serijski monitor na 115200 baudrate za otklanjanje pogrešaka. Zatim inicijalizirajte ppt gumb spojite na pin 3 kao pin za prekidanje.
void setup () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // postavlja prekid za provjeru pritiska tipke za razgovor, pritisnite attachInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // postavlja zadano stanje za svaki modul za primanje rfAudio.receive (); }
Dalje, imamo funkciju koja se naziva talk () koja se poziva kao odgovor na prekid. Program provjerava stanje gumba ako se gumb pritisne i zadrži, prelazi u način prijenosa za slanje zvuka. Ako je tipka otpuštena, ona prelazi u način primanja.
void talk () {if (digitalRead (talkButton)) rfAudio.transmit (); inače rfAudio.receive (); } void loop () {}
Cjelovit rad ovog projekta možete pronaći u video linku dolje. Walkie Talkie stvara određenu buku tijekom rada, to je šum iz noseće frekvencije modula nRF24L01. To se može smanjiti upotrebom dobrog senzora zvuka ili mikrofonskog modula. Ako imate pitanja o ovom projektu, možete ih ostaviti u odjeljku za komentare u nastavku. Naše forume također možete koristiti za brze odgovore na vaše ostale tehničke upite.
