RF Verici ve Alıcı Modülü Arduino
RF Verici ve Alıcının Çalışması:
Elinizi uzattığınızı ve geçen kelimeleri, resimleri ve bilgileri yakaladığınızı hayal edin. Bu aşağı yukarı bir antenin yaptığı şeydir. Radyo dalgalarını yakalayan ve bunları radyo, televizyon veya telefon sistemi gibi bir şeye beslenen elektrik sinyallerine dönüştüren metal çubuk veya çanaktır. Bunun gibi antenlere bazen alıcı denir. Verici, alıcıya zıt iş yapan farklı bir tür antendir. Elektrik sinyallerini radyo dalgalarına dönüştürür, böylece bazen Dünya'nın etrafında binlerce kilometre seyahat edebilir, hatta uzaya ve geriye gidebilirler. Antenler ve vericiler, neredeyse tüm modern telekomünikasyon biçimlerinin anahtarıdır.
Radyo sinyallerini almak için bir anten kullanılmalıdır. Bununla birlikte, anten bir seferde binlerce radyo sinyalini alacağından, belirli bir frekansı ayarlamak için bir radyo ayarlayıcısı gereklidir. Bu tipik olarak, bir kapasitör ve bir indüktör ile ayarlanmış bir devre oluşturan bir devre olan bir rezonatör aracılığıyla yapılır. Rezonatör, bant dışındaki diğer frekanslardaki salınımları azaltırken, belirli bir frekans bandı içindeki salınımları güçlendirir. Belirli bir radyo frekansını izole etmenin başka bir yöntemi, yazılım tanımlı radyoda yapıldığı gibi, geniş bir frekans aralığı elde eden ve ilgilenilen frekansları seçen yüksek hızda örneklemedir. Telsiz iletişiminin yararlı olduğu mesafe, verici gücü, alıcı kalitesi, antenin tipi, boyutu ve yüksekliği, iletim modu, gürültü gibi dalga boyu dışındaki şeylere önemli ölçüde bağlıdır. ve karışan sinyaller. Yer dalgaları, troposferik saçılma ve gökyüzü dalgalarının tümü, görüş hattı yayılımından daha büyük menzillere ulaşabilir.
RF verici modülü:
Verici modülü aşağıdaki Pin çıkışlarından oluşur:
- ATAD yani DATA alıcıya veri göndermek için kullanılan sinyal pinidir.
- Güç kaynağı için Vcc
- Güç kaynağı topraklaması için GND
RF Alıcı Modülü:
Aşağıdaki pimlerden oluşur:
- Güç kaynağı için Vcc
- Vericiden veri almak için VERİ
- Vericiden veri almak için VERİ
- Güç kaynağı topraklaması için GND
RF Vericinin Bağlantıları:
Verici devresinin bağlantıları aşağıdadır
- Modülün ATAD'sini Arduino'nun Pin D12'sine sabitleyin
- Modülün VCC'sini Arduino'nun 5V pinine pin
- Modülün GND'sini Arduino'nun GND'sini Pinine sabitleyin
RF Alıcısının Bağlantıları:
Alıcı devresinin bağlantıları aşağıdadır
- Modülün VCC'sini Arduino'nun 5V pinine pin
- Modülün VERİLERİNİ Arduino'nun Pin D12'sine pinleyin
- Modülün GND'sini Arduino'nun GND'sini Pinine sabitleyin
- İkinci veri pini UN'yi bağlı bırakın.
Kod Açıklaması:
Verici kodu
#include <VirtualWire.h>
const int ledPin = 13;
char *data;
void setup()
{
pinMode(ledPin,OUTPUT);
vw_set_ptt_inverted(true);
vw_set_tx_pin(12);
vw_setup(2000);
}
void loop()
{
data="1";
vw_send((uint8_t *)data, strlen(data));
vw_wait_tx();
digitalWrite(ledPin,HIGH);
delay(2000);
data="0";
vw_send((uint8_t *)data, strlen(data));
vw_wait_tx();
digitalWrite(ledPin,LOW);
delay(2000);
}
Alıcı Kodu
#include <VirtualWire.h>
const int ledPin = 13;
const int datain = 10;
void setup()
{
Serial.begin(9600);
vw_set_ptt_inverted(true);
vw_set_rx_pin(datain);
vw_setup(2000);
pinMode(ledPin, OUTPUT);
vw_rx_start();
}
void loop()
{
uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen))
{
Serial.print(buf[0]);
if(buf[0]=='1')
{
digitalWrite(ledPin,HIGH);
Serial.print(buf[0]);
}
if(buf[0]=='0')
{
digitalWrite(ledPin,LOW);
Serial.print(buf[0]);
}
}
}
#include <VirtualWire.h> Sanal kablo kitaplığını koda dahil eder
vw_set_tx_pin Verici Veri Pinini Seçer
vw_set_rx_pin Alıcı Veri Pinini seçer
vw_setup (uint16_t hız); İletim hızını ayarlayın, Tx'in hızı Rx'deki ile aynı olmalıdır. Hız, 0-9600 arasında Saniyedeki Bit Sayısı olacaktır, kısa mesafe için hızlı hızı kullanabilirsiniz, Uzun mesafe için “90m'ye kadar” mümkün olduğunca düşük iletim hızı kullanmanız gerekir.
vw_rx_start (); Alıcı PLL'yi çalıştırmaya başlayın, herhangi bir mesaj almadan önce bunu yapmanız gerekir.
vw_rx_stop (); Herhangi bir mesaj almadan önce bunu yapmalısınız. Bir mesaj mevcut olduğunda vw_have_message () doğru olarak dönecektir.
vw_wait_tx (); Bloke edin ve verici boşta kalana kadar bekleyin
vw_wait_rx (); Alıcıdan bir mesaj gelene kadar engelleyin ve bekleyin
vw_send (uint8_t * buf, uint8_t len); Verilen uzunlukta bir mesaj gönderin
vw_have_message (); Alıcıdan okunmamış bir mesaj varsa doğru döndürür.
Bahadır ÖZGEN
Electronic Robotic Coding Research and Development 1975 - ∞
Learn Forever
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com
facebook robotic.code
instagram @roboticcode
Sayfalarımı ziyaret ettiğiniz için teşekkür ederim.Bu sitede mevcut olan içerikler kendi oluşturduğum projeler yazı,resim ve videolardan oluşmaktadır.İçerik oluşturmak çok uzun sürdüğü için bazı projelerde yurtdışı kaynaklardan faydalandım.Buradaki amacım ticari değildir.Kaynağı belli olan ve bizim kaynağına ulaşabildiğimiz materyal (yazı, fotoğraf, resim, video v.b.) için ilgili konularda fotoğraflarda logo varsa v.b. not olarak gösterilecektir.Sitemizde yayınlanan tüm içerik, bizim tarafımızdan ve internet üzerinden youtube, facebook ve blog gibi paylaşıma sunulmuş kaynak sitelerden alındığı için, sitemiz yasal yükümlülüğe tabi tutulamaz. Sitemizde telif haklarının size ait olduğu bir içerik varsa ve bunu kaldırmamızı isterseniz, iletişim sayfamızdan bizimle iletişime geçtiğiniz takdirde içerik yayından kaldırılacaktır.Bu konu ve modüller ile uğraşarak, ileride çok güzel makine ve elektronik aletler yapabilirsiniz.