- Vysílačka používající RF modul nRF24L01
- Komponenta vyžadovaná pro vysílačky založené na Arduinu
- Obvodové schéma vysílačky Arduino
- Vysílačka Arduino Code
Žijeme v éře zařízení podporujících 5G a 5G; staré technologie, jako je systém vysílačky a vysokofrekvenční komunikační systém, jsou však stále prvořadé ve scénářích, kdy je vyžadována vzdálená, krátká vzdálenost, levná a nízkonákladová komunikace. Například pokud máte stavební nebo těžkotonážní konstrukční společnost, musí vaši pracovníci navzájem komunikovat, aby mohli pracovat koordinovaně. Pomocí vysílačky mohou mezi sebou komunikovat a šířit krátkou masáž nebo pokyny pouhým stisknutím tlačítka „PTT“ pro přenos hlasu pro ostatní pracovníky, aby mohli poslouchat a dodržovat pokyny. Další aplikace by mohla být v inteligentních přilbáchpro komunikaci mezi smečkou jezdců během dlouhé jízdy může navrhovaný model komunikovat mezi šesti lidmi najednou. Chcete-li se podívat na další typy projektů bezdrátového přenosu zvuku na krátkou vzdálenost, navštivte odkazy IR Projektor bezdrátového zvuku na bázi IR a Li-Fi Audio Transmitter.
Vysílačka používající RF modul nRF24L01
Hlavní součástí tohoto projektu je RF modul NRF24L01 a Arduino Uno, což je mozek nebo procesor. Již jsme se naučili, jak propojit Nrf24L01 s Arduino dálkovým ovládáním servomotoru. Pro tento projekt je vybrán RF modul NRF24L01, protože má oproti digitálnímu komunikačnímu médiu několik výhod. Má 2,4 GHz velmi vysokofrekvenční pásmo ISM a datová rychlost může být 250 kb / s, 1 Mb / s, 2 Mb / s. Má 125 možných kanálů mezi 1Mhz mezerami, takže modul může používat 125 různých kanálů, což umožňuje mít síť 125 nezávisle pracujících modemů na jednom místě.
Nejdůležitější je, že signály NRF24L01 se nepřekrývají ani nepřekračují rozhraní s jinými systémy vysílaček, jako jsou policejní vysílačky a železniční vysílačky, a neruší ostatní vysílačky. Jeden modul nrf24l01 může komunikovat s dalšími 6 moduly nrf24l01 v době, kdy jsou v přijímacím stavu. Jedná se také o modul s nízkou spotřebou energie, což je další výhodou. Existují dva typy modulů NRF24L01, které jsou široce dostupné a běžně používané, jeden je NRF24L01 + a druhý je NRF24L01 + PA + LNA (zobrazený níže) se zabudovanou anténou.
NRF24L01 + má palubní anténu a pouhých 100 metrů Rozsah. Je vhodný pouze pro vnitřní použití a není vhodný pro venkovní komunikaci na velké vzdálenosti. Navíc, pokud je mezi vysílačem a přijímačem zeď, je přenos signálu velmi špatný. NRF24L01 + PA + LNA s externí anténa má PA, který zvyšuje sílu signálu před přenosem. LNA je zkratka pro Low Noise Amplifier. Je to jasné, filtruje hluk a zvyšuje extrémně slabou a nejistou nízkou úroveň signálu přijímaného z antény. Pomáhá vytvářet užitečné úrovně signálu a má 2dB externí anténu, přes kterou může přenášet 1 000 metrů pokrytí dosahu ve vzduchu, takže je ideální pro naše venkovní komunikační vysílací komunikační projekty.
Komponenta vyžadovaná pro vysílačky založené na Arduinu
- NRF24L01 + PA + LNA s externí 2DB anténou (2 ks)
- Arduino UNO nebo jakákoli verze Arduina
- Audio zesilovač (2ks)
- Mikrofonní obvod: Můžete si jej vyrobit sami (probráno později) nebo si zakoupit modul zvukového senzoru.
- Zesilovací modul DC na DC (2ks)
- Modul regulátoru napětí 3,3 V AMS1117
- Indikátor napájení LED (2ks)
- Odpor 470 ohmů (2ks)
- 4palcový reproduktor (2ks)
- tlačítko (pro tlačítko PTT)
- 104 PF pro výrobu tlačítka PTT (2ks)
- 100 NF kondenzátor pro NRF24L01 (2ks)
- 1k odpor pro tlačítko PTT (2ks)
- 2 sady li-ion baterie
- Li-ion baterie pro nabíjení a ochranný modul baterie (2ks)
- Nějaký propojovací vodič, kolík zástrčky, tečkovaná deska vero
Obvodové schéma vysílačky Arduino
Kompletní schéma zapojení vysílačky Arduino je zobrazeno na obrázku níže. Schéma zapojení ukazuje všechna připojení včetně tlačítka PTT, obvodu mikrofonu a stereofonního zvukového výstupu.
Důležité: Rozsah vstupního napětí modulu NRF24L01 je 1,9 V až maximálně 3,6 V a pro stabilitu napětí a proudu musíte použít kondenzátor 100nf do + VCC a - GND, další piny modulu nrf24l01 mohou tolerovat 5voltový signál úrovně.
Krok 1: Začal jsem s výrobou domácí zakázkové desky plošných spojů a desky Arduino Atmega328p. Dal jsem IC Atmega328p na programátor a zablikal jsem ho a poté nahrál kód. Poté jsem přidal 16 MHz krystal na Atmega328p IC na (PB6, PB7) pin 9 a 10. Obrázky mé vlastní desky PCB a sestavené desky s naprogramovaným IC jsou uvedeny níže.
Krok 2: Připojil jsem moduly NRF24L01 podle schématu zapojení v následujícím pořadí. CE na digitální kolík číslo 7, CSN na kolík číslo 8, SCK na digitální kolík 13, MOSI na digitální kolík 11, MISO na digitální kolík 12 a IRQ na digitální kolík 2.
U napájecího zdroje musíte nejprve snížit napětí z 5 voltů na 3,3 V s dobrou stabilitou proudu. Rovněž musíte umístit 100nF kondenzátor na VCC a uzemnění modulu nrf24l01. Použil jsem tedy AMS1117, což je regulátor napětí 3,3 V, modul také zmenšuje velikost vašeho projektu a činí jej kompaktním.
Pokud si chcete tuto desku regulátoru napětí vyrobit sami, můžete si koupit pouze 3,3-voltový regulátor IC a můžete si jej přidat přidáním několika čepiček, odporu na vstupu a výstupu, protože to je pro váš RF modul velmi důležité, protože je to citlivé zařízení. Nebo můžete použít regulátor proměnného napětí LM317 k vytvoření regulovaného obvodu 3,3 V, jak jsme to udělali v projektu napájecího zdroje Breadboard.
Krok 3: Můžete si koupit zvukový senzor nebo vytvořit jednoduchý obvod mikrofonu, jak je znázorněno na schématu zapojení. Skládá se pouze z jednoho tranzistoru - tranzistor 2N3904 NPN. Níže uvedený obrázek ukazuje domácí obvod mikrofonu postavený na desce Vero. Můžete také zkontrolovat tento jednoduchý obvod předzesilovače zvuku, kde získáte další informace.
Pro lepší pochopení jsem vytvořil další reprezentaci celého spojení s hodnotami komponent, jak vidíte níže
Krok 4: Pro připojení digitálního kolíku mikrokontroléru číslo 9 a 10 k vašemu audio zesilovači jsem použil stereofonní audio zesilovač PAM8403, protože ve výchozím nastavení je zvukový výstup Arduino velmi nízký (zvuk obvykle slyšíte pouze pomocí sluchátek, ne reproduktor, takže potřebujeme fázi zesílení). Modul může snadno řídit dva reproduktory notebooku a je k dispozici za velmi nízkou cenu. Dodává se také s velmi výkonným zvukovým zesilovačem v balíčku SMD, který vyžaduje velmi málo místa. Níže je zobrazen modul audio zesilovače PAM8403.
Připojení je velmi jednoduché, k napájení audio zesilovače je zapotřebí napájecí zdroj 3,7 V až 5 V. Levý kanál a pravý zvukový vstup z pinů Arduino 9 a 10 spolu s uzemňovacím kolíkem by měl být uveden jako vstup pro tento modul zesilovače, jak je znázorněno na schématu zapojení. V mém případě jsem použil jediný 4palcový 8 ohmový reproduktor a použil jsem pouze pravý výstup kanálu. Pokud chcete, můžete s tímto modulem použít dva reproduktory.
Krok 5: Dále jsem pomocí jednoduchého tlačítka sestavil přepínač PTT. Přidal jsem kondenzátor 104PF nebo 0,1uf, abych zabránil odskakování spínače nebo chybným signálům při stisknutí spínače. Pin 4 je nyní přímo spojen s digitálním pinem Arduino D3, protože kódování je přiřazeno přerušený pin.
NRF24L01 + PA + LNA při přenosu zvukového signálu nebo DATA paketů spotřebovává více energie, proto spotřebovává více proudu. Když stisknete tlačítko PTT náhle, zvýší se spotřeba energie. Pro zvládnutí tohoto náhle zvýšeného zatížení musíte použít 100nF kondenzátor na + vcc a Ground pro stabilitu přenosu modulu NRF24L01 + PA + LNA.
Po stisknutí spínače obdrží deska Arduino na svém pinu D3 přerušení Arduino. V programu deklarujeme digitální pin 3 Arduina, který neustále kontroluje své vstupní napětí. Pokud je vstupní napětí nízké, udržuje vysílačku v přijímacím režimu a pokud je digitální kolík číslo 3 vysoký, přepne vysílačku do vysílacího režimu pro odesílání hlasového signálu zachyceného mikrofonním procesem přes mikrokontrolér a přenášet přes NRF24L01 + PA + LNA s externí anténou.
Krok 6: Pro napájení jsem vybral tuto Li-ion baterii. K napájení všech komponent, jako je Arduino IC Atmega328p, NRF24L01 + PA + LNA, audio zesilovač, tlačítko PTT a obvod mikrofonu, jsem pro tento projekt použil 2 sady Li-ion baterie, jak je uvedeno níže.
Dobrý článek má úroveň napětí 3,8 V až 4,2 V a nabíjecí napětí je pouze 4 V až 4,2 V. Chcete-li se dozvědět více o lithiových bateriích, podívejte se na odkazovaný článek. Tyto baterie se velmi populárně používají v přenosných elektronických zařízeních a elektrických vozidlech. Li-ion baterie však nejsou tak robustní jako ostatní baterie, vyžadují ochranu před příliš rychlým přebitím a vybitím, což znamená, že nabíjecí / vybíjecí proud a napětí by měly být udržovány v bezpečných mezích. Proto jsem použil nejvíce vrtulový nabíjecí modul Li-ion baterie - TP4056. Tento modul jsme dříve používali k sestavení přenosné powerbanky, můžete se podívat na další podrobnosti na této desce.
Krok 7: Použil jsem zesilovací modul zesilovače 2 A na DC, protože Arduino atmega328p, zvukový zesilovač, obvod mikrofonu, tlačítko PTT vše potřebuje 5 voltů, ale moje baterie může dodávat pouze 3,7 V až 4,2 V, takže potřebuji zesilovač dosáhnout 5V s více než 1 A stabilního výstupního výkonu.
Poté, co jste obvod postavili, můžete jej sestavit do malého krytu. Použil jsem plastovou krabici a umístil své obvody, jak je znázorněno na obrázku níže
Vysílačka Arduino Code
Kompletní program pro vaši vysílačku Arduino najdete ve spodní části této stránky. V této části pojďme diskutovat o tom, jak program funguje. Než se tam dostanete, musíte zahrnout některé knihovny, které jsou uvedeny níže.
- Knihovna nRF24
- Zvuková knihovna nRF24
- Knihovna Maniaxbug RF24
Programování zahájíte zahrnutím záhlaví rozhlasové a zvukové knihovny, jak je znázorněno níže
#zahrnout
Inicializujte RF Radio na pinech 7 a 8 a nastavte číslo audio rádia na 0. Inicializujte také tlačítko ppt na pin 3.
Rádio RF24 (7,8); // Nastavení rádia pomocí pinů 7 (CE) 8 (CS) RF24Audio rfAudio (rádio, 0); // Nastavit zvuk pomocí rádia a nastavit rádio číslo 0 int talkButton = 3;
Uvnitř funkce nastavení začněte sériový monitor při ladění 115200 baudů. Poté inicializujte připojení tlačítka ppt ke kolíku 3 jako kolíku přerušení.
void setup () {Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // nastaví přerušení pro kontrolu tlačítka talk abutton stiskněte attachInterrupt (digitalPinToInterrupt (talkButton), talk, CHANGE); // nastaví výchozí stav pro každý modul pro příjem rfAudio.receive (); }
Dále máme funkci nazvanou talk (), která je volána v reakci na přerušení. Program zkontroluje stav tlačítka, pokud je tlačítko stisknuto a podrženo, přejde do režimu vysílání a odešle zvuk. Pokud je tlačítko uvolněno, přejde do režimu příjmu.
void talk () {if (digitalRead (talkButton)) rfAudio.transmit (); else rfAudio.receive (); } void loop () {}
Kompletní fungování tohoto projektu najdete ve videu, na které odkazujete níže. Vysílačka během provozu produkuje určitý hluk, to je hluk z nosné frekvence modulu nRF24L01. Lze to snížit použitím dobrého zvukového senzoru nebo modulu mikrofonu. Máte-li jakékoli dotazy týkající se tohoto projektu, můžete je zanechat v sekci komentářů níže. Můžete také použít naše fóra k získání rychlých odpovědí na vaše další technické dotazy.