- Rācija, izmantojot nRF24L01 RF moduli
- Nepieciešams komponents Arduino bāzētajam Walkie Talkie
- Arduino Walkie Talkie shēmas shēma
- Rācijas rācijas Arduino kods
Mēs dzīvojam 5G un 5G iespējotu ierīču laikmetā; tomēr vecās tehnoloģijas, piemēram, rācijas sistēma un RF sakaru sistēma, joprojām ir vissvarīgākās scenārijos, kur nepieciešama attālināta, neliela attāluma, lēta un lēta komunikācija. Piemēram, ja jums ir celtniecības uzņēmums vai celtniecības uzņēmums ar lielu svaru, tad jūsu darbiniekiem ir jāsazinās savā starpā, lai strādātu koordinēti. Ar rācijas palīdzību viņi var sazināties savā starpā un izplatīt īsu masāžu vai instrukcijas, vienkārši nospiežot pogu “PTT”, lai pārraidītu balsi citiem darbiniekiem, lai viņi klausītos un izpildītu norādījumus. Cits pielietojums varētu būt viedajās ķiverēsLai sazinātos starp braucēju baru liela brauciena laikā, šeit piedāvātais modelis vienlaikus var sazināties starp sešiem cilvēkiem. Ja vēlaties pārbaudīt cita veida maza darbības diapazona bezvadu audio pārraides projektus, apmeklējiet IR balstītā bezvadu audio raidītāja un Li-Fi audio raidītāja projektu, izmantojot saites.
Rācija, izmantojot nRF24L01 RF moduli
Šī projekta galvenā sastāvdaļa ir NRF24L01 RF modulis un Arduino Uno, kas ir smadzenes vai procesors. Mēs jau esam iemācījušies saskarni Nrf24L01 ar Arduino, attālināti vadot servomotoru. Šim projektam tiek izvēlēts NRF24L01 RF modulis, jo tam ir vairākas priekšrocības salīdzinājumā ar digitālo sakaru nesēju. Tam ir 2,4 GHz ļoti augstas frekvences ISM josla, un datu pārraides ātrums var būt 250 kbps, 1 Mbps, 2 Mbps. Tam ir 125 iespējamie kanāli starp 1Mhz atstarpi, tāpēc modulis var izmantot 125 dažādus kanālus, kas ļauj vienā vietā izveidot 125 neatkarīgi strādājošu modemu tīklu.
Vissvarīgākais ir tas, ka NRF24L01 signāli nepārklājas un nesaskaras ar citām rācijas sistēmām, piemēram, policijas rāciju un dzelzceļa rāciju, un tas netraucē citas rācijas. Viens nrf24l01 modulis var sazināties ar pārējiem 6 nrf24l01 moduļiem laikā, kad tie atrodas saņēmējā stāvoklī. Turklāt tas ir zema enerģijas patēriņa modulis, kas ir papildu priekšrocība. Ir divu veidu NRF24L01 moduļi, kas ir plaši pieejami un parasti tiek izmantoti, viens ir NRF24L01 +, bet otrs ir NRF24L01 + PA + LNA (parādīts zemāk) ar iebūvētu antenu.
NRF24L01 + ir borta antenu un tikai 100 metru diapazonā. Tas ir piemērots tikai lietošanai iekštelpās un nav piemērots āra tālsatiksmes komunikācijām. Turklāt, ja starp raidītāju un uztvērēju atrodas siena, signāla pārraide ir ļoti slikta. NRF24L01 + PA + LNA ar ārējo antenu ir PA, kas palielina jaudu signālu pirms pārraides. LNA nozīmē zema trokšņa pastiprinātāju. Tas ir skaidrs, filtrē troksni un veicina ārkārtīgi vāju un nenoteiktu zemu signāla līmeni, kas saņemts no antenas. Tas palīdz iegūt noderīgu signāla līmeni, un tam ir 2dB ārējā antena, caur kuru tā var pārraidīt 1000 metru gaisa diapazona pārklājumu, tāpēc tas ir lieliski piemērots mūsu āra rācijas komunikācijas projektiem.
Nepieciešams komponents Arduino bāzētajam Walkie Talkie
- NRF24L01 + PA + LNA ar ārēju 2DB antenu (2 gab.)
- Arduino UNO vai jebkura Arduino versija
- Audio pastiprinātājs (2gab)
- Mikrofona shēma: to varat izgatavot pats (apskatīts vēlāk) vai iegādāties skaņas sensora moduli.
- Līdzstrāvas līdz līdzstrāvas pastiprināšanas modulis (2 gab.)
- 3.3V AMS1117 sprieguma regulatora modulis
- Barošanas indikatora LED (2gab.)
- 470 omu pretestība (2gab)
- 4 collu skaļrunis (2gab)
- spiedpoga (rācijsaziņas pogai)
- 104 PF rācijsaziņas pogas izgatavošanai (2gab.)
- 100 NF kondensators NRF24L01 (2gab)
- 1k pretestība PTT pogai (2gab)
- 2 litija jonu akumulatoru komplekti
- Li-ion akumulatoru uzlādes un akumulatora aizsardzības modulis (2gab)
- Daži džempera vadi, vīriešu galvenes tapa, punktota vero dēlis
Arduino Walkie Talkie shēmas shēma
Pilnīga Arduino Walkie Talkie shēma ir parādīta zemāk esošajā attēlā. Shēmas shēma parāda visus savienojumus, ieskaitot PTT pogu, mikrofona shēmu un stereo audio izvadi.
Svarīgi: NRF24L01 moduļa sprieguma ieejas diapazons ir no 1,9 V līdz maksimāli 3,6 voltiem, un sprieguma un strāvas stabilitātei jums jāizmanto 100 nf kondensators + VCC un - GND, bet citi nrf24l01 moduļa tapas var izturēt 5 voltu signālu līmeņiem.
1. solis: es sāku ar pašmāju pielāgotu PCB un Arduino Atmega328p dēļa izgatavošanu. Es biju uzlicis IC Atmega328p uz programmētāja un to uzplaiksnījis un pēc tam augšupielādējis kodu. Tad es pievienoju 16 MHz kristālu uz Atmega328p IC uz (PB6, PB7) tapām 9 un 10. Tālāk ir parādīti mana pasūtījuma izgatavotā PCB un samontētās plates ar ieprogrammēto IC attēli.
2. solis: Es savienoju NRF24L01 moduļus, kā parādīts shēmā, šādā secībā. CE līdz digitālajam tapas numuram 7, CSN līdz tapas numuram 8, SCK - digitālajam tapam 13, MOSI - digitālajam tapam 11, MISO - digitālajam tapam 12 un IRQ - digitālajam tapam 2.
Strāvas padevei vispirms ir jāsamazina spriegums no 5 voltiem līdz 3,3 v ar labu strāvas stabilitāti. Turklāt jums ir jāuzliek 100nF kondensators uz moduļa nrf24l01 VCC un zemes. Tātad, es izmantoju AMS1117, kas ir 3,3 voltu sprieguma regulators, modulis arī samazina jūsu projekta lielumu un padara to kompaktu.
Ja vēlaties pats izgatavot šo sprieguma regulatora plāksni, varat iegādāties tikai 3,3 voltu regulatora IC un to var izdarīt, pievienojot dažus vāciņus, pretestību ieejā un izvadē, jo tas ir ļoti svarīgi jūsu RF modulim, jo tā ir jutīga ierīce. Vai arī varat izmantot mainīgā sprieguma regulatoru LM317, lai izveidotu 3,3 V regulētu ķēdi, kā mēs to darījām Breadboard barošanas projektā.
3. solis: Jūs varat iegādāties skaņas sensoru vai izveidot vienkāršu mikrofona shēmu, kā parādīts shēmas shēmā. Tas sastāv tikai no viena tranzistora - 2n3904 NPN tranzistora. Zemāk redzamajā attēlā redzama pašmāju mikrofona shēma, kas uzbūvēta uz Vero dēļa. Lai iegūtu papildinformāciju, varat pārbaudīt arī šo vienkāršo audio pastiprinātāja shēmu.
Lai labāk izprastu, es vēlreiz parādīju visu saikni ar komponentu vērtībām, kā jūs varat redzēt zemāk
4. solis: Lai izveidotu savienojumu no mikrokontrollera ciparu tapas numuriem 9 un 10 ar audio pastiprinātāju, esmu izmantojis PAM8403 stereo audio pastiprinātāju, jo pēc noklusējuma Arduino audio izeja ir ļoti zema (parasti skaņu var dzirdēt tikai, izmantojot tikai austiņas, nevis skaļrunis, tāpēc mums ir nepieciešams pastiprināšanas posms). Modulis var viegli vadīt divus klēpjdatora skaļruņus un ir pieejams par ļoti zemām izmaksām. Tam ir arī ļoti jaudīgs audio pastiprinātājs SMD paketē, kam nepieciešams ļoti maz vietas. PAM8403 audio pastiprinātāja modulis ir parādīts zemāk.
Savienojums ir ļoti vienkāršs, lai darbinātu audio pastiprinātāju, ir nepieciešams 3,7–5 V barošanas avots. Kreisā kanāla un labā kanāla audio ieeja no Arduino tapām 9 un 10 kopā ar zemes tapu ir jāpiešķir kā ievade šim pastiprinātāja modulim, kā parādīts shēmas shēmā. Manā gadījumā esmu izmantojis vienu 4 collu 8 omu skaļruni un izmantojis tikai labā kanāla izeju. Ja vēlaties, šajā modulī varat izmantot divus skaļruņus.
5. solis: Pēc tam es izveidoju rācijsaziņas slēdzi, izmantojot vienkāršu spiedpogu. Es pievienoju 104PF vai 0.1uf kondensatoru, lai novērstu slēdža atlēcienu vai neregulārus signālus, kad slēdzis tiek nospiests. 4. tapa ir tagad tieši savienota ar Arduino Digital tapu D3, jo kodēšanai tiek piešķirta pārtraukta tapa.
NRF24L01 + PA + LNA, pārsūtot audio signālu vai DATA paketes, patērē vairāk enerģijas, tādējādi patērējot vairāk strāvas. Pēkšņi nospiežot rācijsaziņas pogu, enerģijas patēriņš palielinās. Lai apstrādātu šo pēkšņi palielināto slodzi, NRF24L01 + PA + LNA moduļa pārraides stabilitātei jāizmanto 100nF kondensators uz + vcc un Ground.
Nospiežot slēdzi, Arduino dēlis saņem Arduino Interrupt uz tā tapas D3. Programmā mēs paziņosim, ka Arduino digitālā tapa 3 pastāvīgi pārbauda tā ieejas spriegumu. Ja ieejas spriegums ir zems, tas saglabā rāciju uztveršanas režīmā un, ja ciparu tapas numurs 3 ir augsts, tas pārslēdz rāciju pārraides režīmā, lai nosūtītu mikrofona procesa paņemto balss signālu caur mikrokontrolleru un pārraidītu caur NRF24L01 + PA + LNA ar ārēju antenu.
6. solis: barošanas avotam esmu izvēlējies šo litija jonu akumulatoru. Lai darbinātu visus komponentus, piemēram, Arduino IC Atmega328p, NRF24L01 + PA + LNA, audio pastiprinātāju, PTT pogu un mikrofona shēmu, es šim projektam izmantoju 2 komplektus litija jonu akumulatoru, kā parādīts zemāk.
Labai šūnai ir sprieguma līmenis no 3,8v līdz 4,2 voltiem, un uzlādes spriegums ir tikai no 4v līdz 4,2 voltiem. Lai uzzinātu vairāk par litija baterijām, varat apskatīt saistīto rakstu. Šīs baterijas ļoti populāri tiek izmantotas portatīvajās elektroniskajās ierīcēs un elektriskajos transportlīdzekļos. Bet litija jonu akumulatoru šūnas nav tik izturīgas kā citas baterijas, tām ir nepieciešama aizsardzība pret pārāk ātru un pārāk ātru izlādi, kas nozīmē, ka uzlādes / izlādes strāva un spriegums būtu jāuztur drošās robežās. Tāpēc es izmantoju visvairāk propellera litija jonu akumulatoru uzlādes moduli - TP4056. Iepriekš mēs izmantojām šo moduli, lai izveidotu Portable Power Bank, jūs varat to pārbaudīt, lai iegūtu sīkāku informāciju šajā dēlī.
7. solis: Esmu izmantojis 2 ampēru līdzstrāvas līdzstrāvas pastiprinātāja moduli, jo Arduino atmega328p, audio pastiprinātājam, mikrofona ķēdei, rācijsaziņas pogai visam ir nepieciešams 5 volti, bet mana baterija var piegādāt tikai 3,7–4,2 V, tāpēc man ir nepieciešams pastiprinātāja pārveidotājs sasniegt 5 V ar vairāk nekā 1 Amp stabilu izejas jaudu.
Pēc tam, kad esat izveidojis ķēdi, to var salikt mazā korpusā. Es izmantoju plastmasas kasti un ievietoju savas shēmas, kā parādīts attēlā zemāk
Rācijas rācijas Arduino kods
Pilnīga Arduino rācijas programma ir atrodama šīs lapas apakšdaļā. Šajā sadaļā apspriedīsim programmas darbību. Pirms tur nokļūšanas jums jāiekļauj dažas tālāk uzskaitītās bibliotēkas.
- nRF24 bibliotēka
- nRF24 audio bibliotēka
- Maniaxbug RF24 bibliotēka
Sāciet programmēšanu, iekļaujot radio un audio bibliotēkas galvenes, kā parādīts zemāk
# iekļaut
Inicializējiet RF radio uz 7. un 8. tapas un iestatiet audio radio numuru uz 0. Inicializējiet arī ppt pogu 3. tapā.
RF24 radio (7,8); // Radio iestatīšana, izmantojot tapas 7 (CE) 8 (CS) RF24Audio rfAudio (radio, 0); // Iestatiet audio, izmantojot radio, un iestatiet uz radio numuru 0 int talkButton = 3;
Iestatīšanas funkcijas iekšpusē sāciet sērijveida monitoru ar atkļūdošanu ar ātrumu 115200 baudi. Pēc tam inicializējiet ppt pogu, lai izveidotu savienojumu ar 3. kontaktu kā pārtraukuma tapu.
void setup () {Serial.begin (115200); printf_begin (); radio.sākt (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // iestata pārtraukumu, lai pārbaudītu pogas sarunas pogu, nospiediet attachInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // iestata noklusējuma stāvokli katram modulim, lai saņemtu rfAudio.receive (); }
Tālāk mums ir funkcija, ko sauc par talk (), kuru izsauc, reaģējot uz pārtraukumu. Programma pārbauda pogas stāvokli, ja poga tiek nospiesta un turēta, tā pāriet pārraides režīmā, lai nosūtītu audio. Ja poga tiek atlaista, tā nonāk saņemšanas režīmā.
void talk () {if (digitalRead (talkButton)) rfAudio.transmit (); else rfAudio.receive (); } void loop () {}
Pilnīga šī projekta darbība ir atrodama zemāk esošajā videoklipā. Darbības laikā rācija rada nelielu troksni, tas ir troksnis no nRF24L01 moduļa nesējfrekvences. To var samazināt, izmantojot labu skaņas sensoru vai mikrofona moduli. Ja jums ir kādi jautājumi par šo projektu, varat tos atstāt zemāk esošajā komentāru sadaļā. Varat arī izmantot mūsu forumus, lai ātri saņemtu atbildes uz citiem tehniskajiem jautājumiem.