- Walkie Talkie gamit ang nRF24L01 RF Module
- Kinakailangan ang Component para sa Arduino based Walkie Talkie
- Arduino Walkie Talkie Circuit Diagram
- Walkie Talkie Arduino Code
Nakatira kami sa panahon ng mga aparatong 5G at 5G na pinagana; gayunpaman, ang mga lumang teknolohiya tulad ng sistema ng walkie-talkie at sistema ng komunikasyon ng RF ay mahalaga pa rin sa mga sitwasyon kung saan kinakailangan ang isang malayo, maikling distansya, murang, at komunikasyon na may mababang gastos. Halimbawa, kung mayroon kang isang gusali o mabigat na timbang na kumpanya ng konstruksyon na may tindig, kung gayon ang iyong mga manggagawa ay kailangang makipag-usap sa bawat isa para sa co-ordinated na pagtatrabaho. Sa tulong ng isang walkie-talkie, maaari silang makipag-usap sa bawat isa at kumalat ng maikling masahe o mga tagubilin sa pamamagitan lamang ng pagpindot sa pindutang "PTT" upang magpadala ng boses para sa ibang mga manggagawa, upang makinig sila at sundin ang tagubilin. Ang isa pang application ay maaaring nasa mga smart helmetupang makipag-usap sa isang pakete ng mga rider habang nasa mahabang paghimok, ang iminungkahing modelo dito ay maaaring makipag-usap sa anim na tao nang paisa-isa. Kung nais mong suriin ang iba pang mga uri ng mga maikling proyekto sa wireless audio transmission, bisitahin ang proyekto ng IR Batay Wireless Audio Transmitter at Li-Fi Audio Transmitter gamit ang mga link.
Walkie Talkie gamit ang nRF24L01 RF Module
Ang pangunahing bahagi ng proyektong ito ay ang NRF24L01 RF module at Arduino Uno na siyang utak o processor. Natutunan na namin kung paano i-interface ang Nrf24L01 sa Arduino sa pamamagitan ng pagkontrol sa isang servo motor mula sa malayo. Para sa proyektong ito, ang module na NRF24L01 RF ay napili sapagkat mayroon itong maraming kalamangan sa isang daluyan ng digital na komunikasyon. Mayroon itong 2.4 GHz na napakataas na dalas na ISM band at ang rate ng data ay maaaring 250bps, 1Mbps, 2 Mbps. Mayroon itong 125 posibleng mga channel sa pagitan ng 1Mhz spacing kaya ang module ay maaaring gumamit ng 125 iba't ibang mga channel na ginagawang posible na magkaroon ng isang network ng 125 nang nakapag-iisa na nagtatrabaho modem sa isang lugar.
Pinakamahalaga, ang mga signal ng NRF24L01 ay hindi nagsasapawan o nag-cross interface sa iba pang mga system ng walkie-talkie tulad ng walkie-talkie ng pulisya at walkie-talkie ng riles at hindi nito maaabala ang iba pang mga walkie-talkie. Ang isang solong module ng nrf24l01 ay maaaring makipag-ugnay sa iba pang mga 6 modul na nrf24l01 sa isang oras kapag nasa estado na silang tumatanggap. Gayundin, ito ay isang mababang module ng pagkonsumo ng kuryente na kung saan ay isang karagdagang kalamangan. Mayroong dalawang uri ng NRF24L01 modules na malawak na magagamit at karaniwang ginagamit, ang isa ay NRF24L01 + at ang isa pa ay NRF24L01 + PA + LNA (ipinapakita sa ibaba) na may built-in na antena.
Ang NRF24L01 + ay mayroong isang onboard antena at isang saklaw na 100 metro lamang. Mabuti lamang ito para sa panloob na paggamit at hindi angkop para sa panlabas na mga pang-malayuan na komunikasyon. Bukod dito, kung mayroong isang pader na nasa pagitan ng transmitter at receiver, ang paghahatid ng signal ay napakahirap. Ang NRF24L01 + PA + LNA na may panlabas na antena ay may isang PA na nagpapalakas ng lakas ng signal bago ang paghahatid. Ang LNA ay kumakatawan sa Low Noise Amplifier. Ito ay malinaw, sinasala ang ingay at nagpapalakas ng labis na mahina at hindi tiyak na mababang antas ng signal na natanggap mula sa antena. Nakatutulong ito sa paggawa ng mga kapaki-pakinabang na antas ng signal at mayroon itong 2dB panlabas na antena kung saan maaari itong magpadala ng 1000 metro ng saklaw na saklaw na on-air, kaya perpekto ito para sa aming mga panlabas na proyekto ng komunikasyon sa walkie-talkie.
Kinakailangan ang Component para sa Arduino based Walkie Talkie
- NRF24L01 + PA + LNA na may panlabas na 2DB antena (2 mga PC)
- Arduino UNO o anumang bersyon ng Arduino
- Audio amplifier (2pcs)
- Circuit ng mikropono: Maaari mo itong gawin mismo (tatalakayin sa paglaon) o bumili ng isang module ng tunog sensor.
- DC to DC step-up booster module (2pcs)
- 3.3V AMS1117 module ng boltahe regulator
- LED tagapagpahiwatig ng kuryente (2pcs)
- 470 ohms paglaban (2pcs)
- Isang 4-pulgadang loudspeaker (2pcs)
- pindutan ng push (para sa pindutan ng PTT)
- 104 PF para sa paggawa ng pindutan ng PTT (2pcs)
- 100 NF capacitor para sa NRF24L01 (2pcs)
- 1k paglaban para sa pindutan ng PTT (2pcs)
- 2 hanay ng baterya ng li-ion
- Pagsingil ng baterya ng Li-ion at module ng proteksyon ng baterya (2pcs)
- Ang ilang mga jumper wire, male header pin, may tuldok na vero board
Arduino Walkie Talkie Circuit Diagram
Ang kumpletong diagram ng circuit para sa Arduino Walkie Talkie ay ipinapakita sa imahe sa ibaba. Ipinapakita ng diagram ng circuit ang lahat ng mga koneksyon kabilang ang pindutan ng PTT, circuit ng mikropono, at output ng stereo audio.
Mahalaga: Ang saklaw ng input ng boltahe ng NRF24L01 ay 1.9v sa maximum na 3.6 volts at para sa boltahe at kasalukuyang katatagan kailangan mong gumamit ng isang 100nf capacitor sa + VCC at - GND, ngunit ang iba pang mga pin ng module ng nrf24l01 ay maaaring tiisin ang 5-volt signal mga antas.
Hakbang 1: Nagsimula ako sa paggawa ng lutong bahay na pasadyang PCB at Arduino Atmega328p board. Inilagay ko ang IC Atmega328p sa programmer at na-flash ito at pagkatapos ay na-upload ang code. Pagkatapos, nagdagdag ako ng 16 MHz na kristal sa Atmega328p IC sa (PB6, PB7) pin 9 at 10. Ang mga larawan ng aking pasadyang ginawang PCB at ang binuo board na may program na IC ay ipinapakita sa ibaba.
Hakbang 2: Ikinonekta ko ang mga module ng NRF24L01 tulad ng ipinakita sa circuit diagram sa sumusunod na pagkakasunud-sunod. CE sa digital pin number 7, CSN sa pin number 8, SCK sa digital pin 13, MOSI sa digital pin 11, MISO sa digital pin 12 at IRQ sa digital pin 2.
Para sa supply ng kuryente, kailangan mong i-drop muna ang boltahe mula 5 volts hanggang 3.3v na may mahusay na kasalukuyang katatagan. Gayundin, kailangan mong maglagay ng isang 100nF capacitor sa VCC at sa lupa ng module ng nrf24l01. Kaya, ginamit ko ang AMS1117 na isang 3.3-volt boltahe regulator, binabawasan din ng module ang laki ng iyong proyekto at ginagawa itong compact.
Kung nais mong gawin ang board ng voltage regulator na ito, maaari kang bumili ng 3.3-volt regulator IC lamang at magagawa ito sa pamamagitan ng pagdaragdag ng ilang mga takip, paglaban sa input at output dahil napakahalaga nito para sa iyong RF module sapagkat ito ay isang sensitibong aparato. O maaari mong gamitin ang LM317 variable voltage regulator upang bumuo ng isang 3.3V Regulated circuit tulad ng ginawa namin sa proyekto ng supply ng kuryente ng Breadboard.
Hakbang 3: Maaari kang bumili ng isang sensor ng tunog o gumawa ng isang simpleng circuit ng mikropono tulad ng ipinakita sa circuit diagram. Binubuo lamang ito ng isang transistor- 2n3904 NPN transistor. Ipinapakita ng imahe sa ibaba ang homemade microphone circuit na itinayo sa isang Vero board. Maaari mo ring suriin ang simpleng circuit ng audio pre-amplifier na ito para sa karagdagang impormasyon.
Para sa mas mahusay na pag-unawa, gumawa ako ng isa pang representasyon ng buong koneksyon sa mga halaga ng sangkap na nakikita mo sa ibaba
Hakbang 4: Para sa, paggawa ng isang koneksyon mula sa iyong microcontroller digital pin number 9 & 10 sa iyong audio amplifier, ginamit ko ang PAM8403 stereo audio amplifier sapagkat sa pamamagitan ng default ang output ng audio ng Arduino ay napakababa (karaniwang maririnig mo lamang ang tunog gamit ang headphone lamang, hindi isang loudspeaker, kaya kailangan namin ng yugto ng pagpapalaki). Ang modyul ay maaaring magmaneho ng dalawang laptop speaker at madali itong magagamit sa napakababang gastos. Gayundin, nagmumula ito sa isang napakalakas na audio amplifier sa isang SMD package na nangangailangan ng napakakaunting puwang. Ang module ng PAM8403 audio amplifier ay ipinapakita sa ibaba.
Ang koneksyon ay napaka-simple, isang 3.7V hanggang 5V power supply ay kinakailangan upang mapagana ang Audio Amplifier. Ang kaliwang channel at kanang channel audio input mula sa Arduino pin 9 at 10 kasama ang ground pin ay dapat ibigay bilang input para sa amplifier module na ito tulad ng ipinakita sa circuit diagram. Sa aking kaso, gumamit ako ng isang solong 4 pulgada 8 ohms speaker at ginamit ko lamang ang tamang output ng channel. Kung nais mo, maaari mong gamitin ang dalawang speaker na may modyul na ito.
Hakbang 5: Susunod, itinayo ko ang switch ng PTT gamit ang isang simpleng push-button. Nagdagdag ako ng isang 104PF o 0.1uf capacitor upang maiwasan ang switch bouncing o erratic signal kapag pinindot ang switch. Ang Pin 4 ay direktang konektado sa Arduino Digital pin D3 dahil ang isang nagambala na pin ay nakatalaga sa coding.
Ang NRF24L01 + PA + LNA kapag nagpapadala ng isang audio signal o mga pack ng DATA ay kumakain ng mas maraming lakas mula rito, nakakonsumo ito ng mas maraming kasalukuyang. Kapag pinindot mo bigla ang pindutan ng PTT, tumataas ang pagkonsumo ng kuryente. Para sa paghawak ng biglang tumaas na karga, dapat mong gamitin ang isang 100nF capacitor sa + vcc at Ground para sa katatagan ng paghahatid ng NRF24L01 + PA + LNA Module.
Kapag pinindot ang switch, ang Arduino board ay tumatanggap ng Arduino Interrupt sa pin na D3 nito. Sa programa, idedeklara namin ang digital pin 3 ng Arduino na patuloy na suriin ang input boltahe nito. Kung ang input boltahe ay mababa, pinapanatili nito ang walkie-talkie sa mode na pagtanggap at kung ang digital pin number 3 ay mataas, pinalilipat nito ang walkie-talkie sa mode na paglilipat para sa pagpapadala ng signal ng boses na kinuha ng proseso ng mikropono sa pamamagitan ng microcontroller at ipadala NRF24L01 + PA + LNA na may panlabas na antena.
Hakbang 6: Para sa supply ng kuryente, pinili ko ang bateryang Li-ion na ito. Upang mapagana, ang lahat ng mga bahagi tulad ng Arduino IC Atmega328p, NRF24L01 + PA + LNA, audio amplifier, pindutan ng PTT, at circuit ng Microphone, gumamit ako ng 2 mga hanay ng baterya ng Li-ion para sa proyektong ito tulad ng ipinakita sa ibaba.
Ang isang mahusay na cell ay may antas ng boltahe 3.8v hanggang 4.2 volts at ang boltahe ng pagsingil ay 4v hanggang 4.2 volts lamang. Upang malaman ang higit pa tungkol sa mga baterya ng lithium maaari mong suriin ang naka-link na artikulo. Ang mga baterya na ito ay napakapopular na ginagamit sa mga portable electronic device at mga de-kuryenteng sasakyan. Ngunit ang mga cell ng baterya ng Li-ion ay hindi kasing lakas ng iba pang mga baterya, kailangan nila ng proteksyon mula sa sobrang labis na pag-charge at napalabas na masyadong mabilis, nangangahulugang ang kasalukuyang pagsingil / paglabas at boltahe ay dapat na mapanatili sa loob ng ligtas na mga limitasyon. Samakatuwid, ginamit ko ang pinaka-propeller na Li-ion na module ng pagsingil ng baterya - TP4056. Ginamit namin dati ang modyul na ito para sa pagbuo ng isang Portable Power Bank, maaari mong suriin iyon para sa higit pang mga detalye sa board na ito.
Hakbang 7: Gumamit ako ng isang 2 Amp dc upang dc step up booster module dahil Arduino atmega328p, Audio Amplifier, microphone circuit, pindutan ng PTT lahat ng kailangan ng 5 volt ngunit ang aking baterya ay maaari lamang magbigay ng 3.7V hanggang 4.2V, Kaya't kailangan ko ng isang boost converter upang maabot ang 5V na may higit sa 1 Amp ng matatag na output ng lakas.
Matapos mong maitayo ang circuit, maaari mo itong tipunin sa isang maliit na enclosure. Gumamit ako ng isang plastic box at inilagay ang aking mga circuit tulad ng ipinakita sa imahe sa ibaba
Walkie Talkie Arduino Code
Ang kumpletong programa para sa iyong Arduino walkie talkie ay matatagpuan sa ilalim ng pahinang ito. Sa seksyong ito, talakayin natin kung paano gumagana ang programa. Bago makarating doon, kailangan mong isama ang ilang Mga Aklatan na nakalista sa ibaba.
- nRF24 Library
- nRF24 Audio Library
- Maniaxbug RF24 Library
Simulan ang programa sa pamamagitan ng pagsasama ng mga header ng Radio at Audio Library tulad ng ipinakita sa ibaba
# isama
Ipasimula ang RF Radio sa mga pin 7 at 8 at i-set up ang numero ng audio radio sa 0. Gayundin, simulan ang pindutan ng ppt sa pin 3.
Radyo RF24 (7,8); // I-set up ang radyo gamit ang mga pin 7 (CE) 8 (CS) RF24Audio rfAudio (radio, 0); // I-set up ang audio gamit ang radyo, at itakda sa radio number 0 int talk Button = 3;
Sa loob ng pag-andar ng pag-setup, simulan ang serial monitor sa 115200 baudrate para sa pag-debug. Pagkatapos ay ipasimulan ang pindutan ng ppt kumonekta sa pin 3 bilang isang nakakagambala na pin.
void setup () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talk Button, INPUT); // set interrupt upang suriin para sa button talk abutton pindutin ang attachInterrupt (digitalPinToInterrupt (talk Button), talk, CHANGE); // nagtatakda ng default na estado para sa bawat module na makatanggap ng rfAudio.receive (); }
Susunod, mayroon kaming isang function na tinatawag na talk () na kung saan ay tinawag bilang tugon sa makagambala. Sinusuri ng programa ang estado ng pindutan kung ang pindutan ay pinindot at gaganapin pumapasok sa mode na ipadala upang ipadala ang audio. Kung ang pindutan ay pinakawalan pumapasok ito tumanggap mode.
void talk () {if (digitalRead (talk Button)) rfAudio.transmit (); kung hindi man rfAudio.receive (); } void loop () {}
Ang kumpletong pagtatrabaho ng proyektong ito ay matatagpuan sa video na naka-link sa ibaba. Gumagawa ang Walkie Talkie ng ilang ingay sa panahon ng operasyon, ito ang ingay mula sa dalas ng carrier ng nRF24L01 Module. Maaari itong mabawasan sa pamamagitan ng paggamit ng isang mahusay na sensor ng tunog o module ng mikropono. Kung mayroon kang anumang mga katanungan tungkol sa proyektong ito maaari mong iwanan ang mga ito sa seksyon ng komento sa ibaba. Maaari mo ring gamitin ang aming mga forum para sa pagkuha ng mabilis na mga sagot sa iyong iba pang mga teknikal na query.