#arduino telsiz nedir
Explore tagged Tumblr posts
arduinoprojeleri · 5 years ago
Text
Arduino Telsiz Nasıl Yapılır
Adım 2: NRF24L01 modüllerini devre şemasında gösterildiği gibi aşağıdaki sırayla bağladım. CE dijital pin numarası 7, CSN pin numarası 8, SCK dijital pin 13, MOSI dijital pin 11, MISO dijital pin 12 ve IRQ dijital pin 2.
Tumblr media Tumblr media Tumblr media Tumblr media
5G ve 5G özellikli cihazlar çağında yaşıyoruz; ancak, telsiz sistemi ve RF iletişim sistemi gibi eski teknolojiler, uzak, kısa mesafe, ucuz ve düşük maliyetli iletişimin gerekli olduğu senaryolarda hala çok önemlidir. Örneğin, bir bina veya ağır yük taşıyan inşaat şirketiniz varsa, işçilerinizin koordineli çalışmak için birbirleriyle iletişim kurması gerekir. Bir telsizin yardımıyla, birbirleriyle iletişim kurabilirler ve kısa bir masaj veya talimatlar yayınlayabilirler, sadece diğer işçilere ses iletmek için “PTT” düğmesine basarak komutları dinleyip takip edebilirler. Başka bir uygulama akıllı kasklarda olabiliruzun bir sürüş sırasında bir sürü bisikletçi arasında iletişim kurmak için, burada önerilen model bir seferde altı kişi arasında iletişim kurabilir. Diğer kısa menzilli kablosuz ses iletim projelerine göz atmak istiyorsanız , bağlantıları kullanarak IR Tabanlı Kablosuz Ses Verici ve Li-Fi Ses Verici projesini ziyaret edin .             
NRF24L01 RF Modülünü kullanan Walkie Talkie
Bu projenin ana bileşeni NRF24L01 RF modülü ve beyin veya işlemci olan Arduino Uno'dur . Bir servo motoru uzaktan kontrol ederek Nrf24L01 ile Arduino arasında nasıl arayüz kurabileceğimizi öğrendik . Bu proje için NRF24L01 RF modülü, dijital iletişim ortamına göre çeşitli avantajlara sahip olduğu için seçilmiştir. Bu sahip 2,4 GHz çok yüksek frekanslı ISM bandını ve veri hızı 250kbps, 1 Mbps, 2 Mbps olabilir. 1Mhz aralığı arasında 125 olası kanal vardır, böylece modül 125 farklı kanal kullanabilir, bu da tek bir yerde 125 bağımsız çalışan modemden oluşan bir ağa sahip olmayı mümkün kılar.
En önemlisi, NRF24L01 sinyalleri polis telsizi ve demiryolu telsizi gibi diğer telsiz sistemleri ile çakışmaz veya çapraz arayüz oluşturmaz ve diğer telsizleri rahatsız etmez. Tek bir nrf24l01 modülü, alıcı durumdayken diğer 6 nrf24l01 modülü ile iletişim kurabilir. Ayrıca, ek bir avantaj olan düşük güç tüketimi modülüdür. Yaygın olarak bulunan ve yaygın olarak kullanılan iki tür NRF24L01 modülü vardır, biri NRF24L01 + ve diğeri dahili antenli NRF24L01 + PA + LNA (aşağıda gösterilmiştir). NRF24L01 +
Tumblr media
yerleşik bir antene ve sadece 100 metre menzile sahiptir. Sadece iç mekan kullanımı için iyidir ve dış mekan uzun mesafeli iletişim için uygun değildir. Ayrıca, verici ve alıcı arasında bir duvar varsa, sinyal iletimi çok zayıftır. Harici antenli NRF24L01 + PA + LNA bir sahip PA olduğunu artırır iletiminden önce sinyalin gücü. LNA, Düşük Gürültülü Amplifikatör anlamına gelir. Açıktır, gürültüyü filtreler ve antenden alınan sinyalin son derece zayıf ve belirsiz düşük seviyesini artırır. Bu sinyalin kullanışlı seviyelerini yapımında yardımcı olur ve sahip olduğu 2dB'lik dış anteni o hangi aracılığıyla , üzerinde hava aralığı kapsamının 1000 metreden iletmek açık hava telsiz iletişim projelerimiz için mükemmeldir.
Arduino tabanlı Walkie Talkie için Gerekli Bileşen
Harici 2DB antenli NRF24L01 + PA + LNA (2 adet)
Arduino UNO veya Arduino'nun herhangi bir sürümü
Ses yükseltici (2 adet)
Mikrofon devresi: Kendiniz yapabilir (daha sonra tartışılacaktır) veya bir ses sensörü modülü satın alabilirsiniz.
DC'den DC'ye yükseltme güçlendirici modülü (2 adet)
3.3V AMS1117 voltaj regülatörü modülü
Güç gösterge LED'i (2 adet)
470 ohm direnç (2 adet)
4 inç hoparlör (2 adet)
basma düğmesi (bas-konuş düğmesi için)
PTT düğmesinin yapılması için 104 PF (2 adet)
NRF24L01 için 100 NF kapasitör (2 adet)
PTT düğmesi için 1k direnç (2 adet)
2 set li-ion pil
Li-ion pil şarj ve pil koruma modülü (2 adet)
Bazı jumper teli, erkek başlık pimi, noktalı vero kartı
Arduino Walkie Talkie Devre Şeması
Arduino Walkie Talkie için tüm devre şeması aşağıdaki resimde gösterilmektedir. Devre şeması PTT düğmesi, mikrofon devresi ve stereo ses çıkışı dahil tüm bağlantıları gösterir.
Tumblr media
Önemli: NRF24L01 modülü voltaj giriş aralığı 1.9v ila maksimum 3.6 volt arasındadır ve voltaj ve akım kararlılığı için + VCC ve - GND'ye 100nf kapasitör kullanmanız gerekir, ancak nrf24l01 modülünün diğer pimleri 5 volt sinyale tolere edebilir seviyeleri.
Adım 1: Ev yapımı özel PCB ve Arduino Atmega328p kartı yapmaya başladım. IC Atmega328p'yi programcıya koydum ve yanıp söndüm ve kodu yükledim. Daha sonra, Atmega328p IC'ye (PB6, PB7) pin 9 ve 10'a 16 MHz kristal ekledim. Özel yapım PCB'm ve programlanmış IC'ye sahip monte edilmiş kartın resimleri aşağıda gösterilmiştir.
Tumblr media
Adım 2: NRF24L01 modüllerini devre şemasında gösterildiği gibi aşağıdaki sırayla bağladım. CE dijital pin numarası 7, CSN pin numarası 8, SCK dijital pin 13, MOSI dijital pin 11, MISO dijital pin 12 ve IRQ dijital pin 2.
Tumblr media
Güç kaynağı için, gerilimi önce 5 volttan 3.3 v'ye iyi akım kararlılığı ile düşürmeniz gerekir. Ayrıca, nrf24l01 modülünün VCC'sine ve toprağına 100nF kapasitör koymanız gerekir. Bu nedenle, 3.3 volt voltaj regülatörü olan AMS1117'yi kullandım   , modül aynı zamanda proje boyutunuzu da küçültür ve kompakt hale getirir.
Tumblr media
Bu voltaj regülatör kartını kendiniz yapmak istiyorsanız, sadece 3,3 voltluk regülatör IC'yi satın alabilir ve hassas bir cihaz olduğu için RF modülünüz için çok önemli olduğu için bazı kapaklar, giriş ve çıkışta direnç ekleyerek yapabilirsiniz. Veya , Breadboard güç kaynağı projesinde yaptığımız gibi 3.3V Ayarlı bir devre oluşturmak için LM317 değişken voltaj regülatörünü kullanabilirsiniz .
Adım 3: Devre şemasında gösterildiği gibi bir ses sensörü satın alabilir veya basit bir mikrofon devresi yapabilirsiniz. Sadece bir transistör- 2n3904 NPN transistörden oluşur . Aşağıdaki resimde bir Vero kartı üzerine inşa edilmiş ev yapımı mikrofon devresi gösterilmektedir. Daha fazla bilgi için bu basit ses ön amplifikatör devresini de kontrol edebilirsiniz .
Tumblr media
Daha iyi anlamak için, aşağıda gördüğünüz gibi bileşen değerleriyle tüm bağlantının başka bir temsilini yaptım
Tumblr media
Bağlantı çok basit, Ses Amplifikatörünü çalıştırmak için 3.7V ila 5V güç kaynağı gerekir. Arduino pin 9 ve 10'dan toprak pin ile birlikte sol kanal ve sağ kanal ses girişi, devre şemasında gösterildiği gibi bu amplifikatör modülü için giriş olarak verilmelidir. Benim durumumda, tek bir 4 inç 8 ohm hoparlör kullandım ve sadece sağ kanal çıkışını kullandım. İsterseniz, bu modülle iki hoparlör kullanabilirsiniz.
Adım 5: Ardından, basit bir basma düğmesi kullanarak PTT anahtarını oluşturdum. Düğmeye basıldığında anahtarın sıçramasını veya düzensiz sinyalleri önlemek için 104PF veya 0.1 uf kapasitör ekledim . Pin 4 şimdi kodlamaya kesilmiş bir pin atandığı için Arduino Digital pin D3 ile doğrudan bağlanmıştır.
Bir ses sinyali veya DATA paketleri iletirken NRF24L01 + PA + LNA daha fazla güç tüketir, bu nedenle daha fazla akım tüketir. PTT düğmesine aniden bastığınızda, güç tüketimi artar. Bu aniden artan yükü yönetmek için NRF24L01 + PA + LNA Modülünün iletim kararlılığı için + vcc ve Toprak üzerinde 100nF kapasitör kullanmanız gerekir.
Düğmeye basıldığında, Arduino kartı D3 pininde bir Arduino Kesintisi alır . Programda, Arduino'nun dijital pimi 3'ü giriş voltajını sürekli kontrol ettiğini ilan edeceğiz. Giriş voltajı düşükse, telsizi alma modunda tutar ve dijital pin numarası 3 yüksekse, mikroişlemci aracılığıyla mikrofon işlemi tarafından alınan ses sinyalini göndermek ve iletmek için telsizi iletim moduna geçirir. Harici antenli NRF24L01 + PA + LNA.
Adım 6: Güç kaynağı için bu Li-ion pili seçtim . Arduino IC Atmega328p, NRF24L01 + PA + LNA, ses yükseltici, PTT düğmesi ve Mikrofon devresi gibi tüm bileşenlere güç vermek için, aşağıda gösterildiği gibi bu proje için 2 set Li-ion pil kullandım.
İyi bir hücrenin voltaj seviyesi 3.8v ila 4.2 volt arasındadır ve şarj voltajı sadece 4v ila 4.2 volttur. Bilmek için daha lityum piller hakkında Bağlı makaleye bakabilir. Bu piller taşınabilir elektronik cihazlarda ve elektrikli araçlarda çok popülerdir . Ancak Li-ion pil hücreleri diğer piller kadar sağlam değildir, aşırı şarj ve deşarjdan çok hızlı korumaya ihtiyaç duyarlar, yani şarj / deşarj akımı ve voltajı güvenli sınırlar içinde tutulmalıdır. Bu nedenle, en pervane Li-ion pil şarj modülünü kullandım - TP4056 . Bu modülü daha önce bir Taşınabilir Güç Bankası oluşturmak için kullandık, bu kartta daha fazla ayrıntı için bunu kontrol edebilirsiniz .
Adım 7: Arduino atmega328p, Ses Amplifikatörü, mikrofon devresi, PTT düğmesi her şey 5 volt'a ihtiyaç duyduğundan dc yükseltici modülüne  2 Amp dc dc kullandım, ancak pilim sadece 3.7V ila 4.2V tedarik edebilir, bu yüzden bir boost dönüştürücüye ihtiyacım var 1 Amp'dan fazla kararlı güç çıkışı ile 5V'a ulaşmak için.
Devreyi kurduktan sonra, küçük bir kasaya monte edebilirsiniz. Plastik bir kutu kullandım ve devrelerimi aşağıdaki resimde gösterildiği gibi yerleştirdim
Walkie Talkie Arduino Kodu
Arduino telsizi için komple program bu sayfanın alt kısmında bulunabilir. Bu bölümde, programın nasıl çalıştığını tartışalım. Buraya gelmeden önce, aşağıda listelenen bazı Kütüphaneleri eklemeniz gerekir.
nRF24 Kütüphanesi
nRF24 Ses Kütüphanesi
Maniaxbug RF24 Kütüphanesi
Radyo ve Ses Kütüphanesi başlıklarını aşağıda gösterildiği gibi ekleyerek programlamaya başlayın
#include <RF24.h> #include <SPI.h> #include <RF24Audio.h> #include "printf.h"    // General includes for radio and audio lib
7 ve 8 numaralı pinlerde RF Radyoyu başlatın ve ses radyo numarasını 0 olarak ayarlayın. Ayrıca, pin 3'teki ppt düğmesini başlatın.
RF24 radio(7,8);    // Set radio up using pins 7 (CE) 8 (CS) RF24Audio rfAudio(radio,0); // Set up the audio using the radio, and set to radio number 0 int talkButton = 3;
Kurulum fonksiyonunun içinde, hata ayıklama için seri monitörü 115200 baud hızında başlatın. Daha sonra ppt düğmesini connect pimini 3 kesinti pimi olarak başlatın.
void setup () { Serial.begin (115200); printf_begin (); radio.begin (); radio.printDetails (); rfAudio.begin (); pinMode (talkButton, INPUT); // düğme konuşması abutton press attachInterrupt (digitalPinToInterrupt (talkButton), konuşma, CHANGE) olup olmadığını kontrol etmek için kesmeyi ayarlar ; // rfAudio.receive () almak için her modül için varsayılan durumu ayarlar ; }
Sonra, kesmeye yanıt olarak çağrılan talk () adında bir fonksiyonumuz var. Program, düğmeye basılıp basılı tutulursa düğmenin durumunu kontrol eder ve sesi göndermek için iletim moduna girer. Düğme bırakılırsa alma moduna girer.
void setup() {      Serial.begin(115200);  printf_begin();  radio.begin();  radio.printDetails();  rfAudio.begin();  pinMode(talkButton, INPUT);//sets interrupt to check for button talk abutton press  attachInterrupt(digitalPinToInterrupt(talkButton), talk, CHANGE);  //sets the default state for each module to receive  rfAudio.receive(); }
Bu projenin tam çalışması, aşağıdaki bağlantıda bulunan videoda bulunabilir. Walkie Talkie çalışma sırasında biraz gürültü çıkarıyor, bu nRF24L01 Modülünün taşıyıcı frekansından gelen gürültü. İyi bir ses sensörü veya mikrofon modülü kullanılarak azaltılabilir. Bu proje hakkında herhangi bir sorunuz varsa, bunları aşağıdaki yorum bölümünde bırakabilirsiniz. Forumlarımızı diğer teknik sorularınıza hızlı yanıtlar almak için de kullanabilirsiniz. 
Kod
#include <RF24.h> #include <SPI.h> #include <RF24Audio.h> #include "printf.h"    // General includes for radio and audio lib RF24 radio(7,8);    // Set radio up using pins 7 (CE) 8 (CS) RF24Audio rfAudio(radio,0); // Set up the audio using the radio, and set to radio number 0 int talkButton = 3; void setup() {        Serial.begin(115200);  printf_begin();  radio.begin();  radio.printDetails();  rfAudio.begin();  pinMode(talkButton, INPUT);  //sets interrupt to check for button talk abutton press  attachInterrupt(digitalPinToInterrupt(talkButton), talk, CHANGE);  //sets the default state for each module to receiver  rfAudio.receive(); } //void talk() //Called in response to interrupt. Checks the state of the button. //If the button is pressed (and held) enters transmit mode to send //audio. If button is release, enters receive mode to listen. void talk() {  if (digitalRead(talkButton)) rfAudio.transmit();  else rfAudio.receive(); } void loop() { }
0 notes