Arduino ile RF 433 mhz kablosuz iletişim modülü kullanımı

Bu yazımızda günlük hayatta bir çok alanda kullanılan kablosuz iletişim sağlamak için arduino ile birlikte kullanılan 433 MHZ RF modülünün bağlantısını ve gerekli arduino kodlarını inceleyeceğiz.

20 Aralık 2017 21.360 views 9

RF, Radio Frekans kelimelerinin baş harflerinden oluşan bir kısaltmadır. Bir alıcı ve bir vericiden oluşan sistemler belirli frekans aralığında vericiden alıcıya doğru sinyal gönderilerek kablosuz iletişimin sağlanması için kullanılırlar. RF modülleri daha çok kısa mesafe iletişim için kullanılmaktadır.

433 Mhz frekansında çalışan RF modülü kısa mesafe kablosuz iletişim gereken arduino projelerinde en çok kullanılan modüllerden bir tanesidir. Uygun fiyat ve basit kullanımıyla avantaj sağlayan RF modülü, açık alanda 30-50 metre, kapalı alanda 20-30 metre aralığında daha iyi çalışabildiği için, uzak mesafe menzil gerektiren projeler için uygun değildir.

433 Mhz RF modülü bir verici (transmitter) ve bir alıcı(receiver) olmak üzere iki devre parçasından oluşur. Arduino projelerinde RF modülü ile kablosuz haberleşme için iki farklı arduino kit kullanılmalıdır.

RF modüller hangi projelerde kullanılır?

Rf modülleri uzaktan kumanda edilecek tüm robotik projelerinde kullanılabilir. Uzaktan kumandalı arabalarda, uzaktan kumandalı uçan cihazlarda, kablosuz bilgi alış verişi gerektiren tüm projelerde rf modülleri kullanılmaktadır.

433 Mhz RF modülü arduino bağlantısı nasıl yapılır?

Rf modülünün verici (transmitter) devresinin arduino bağlantısı aşağıdaki gibi yapılmalıdır.

Rf modülünün alıcı (receiver) devresinin arduino bağlantısı aşağıdaki gibi yapılmalıdır.

Örnek proje olarak butona basıldığında kablosuz olarak gönderilen sinyal ile diğer arduinoya bağlı bir ledi yakalım ve buzzerdan ses alalım. Örnek proje devresini aşağıdaki gibi hazırlamalıyız.

RF 433 Mhz verici modül  arduino bağlantı devre şeması

Bu devre şemasında buton arduino 6 numaralı pine, RF 433 Mhz verici modülün data pini arduino 12 numaralı pine bağlanmıştır.

UYARI: Rf modülünü arduino ile kullanabilmek için gerekli kütüphane dosyasını aşağıdaki linkten indirerek arduino programının kurulu olduğu klasördeki ‘libraries’ klasörünün içine kopyalamalısınız.

VirtualWire.h kütüphanesini indirmek için TIKLAYIN

RF 433 Mhz verici modül arduino kodları

Kodları açıklayacak olursak, butona basıldığında mesaj değişkenine 1, butona basılmadığında mesaj değişkenine 0 değeri atanıyor ve kablosuz modül vericisi ile diğer arduinoya bağlı alıcı modüle gönderiliyor.

RF 433 Mhz alıcı modül arduino bağlantı devre şeması

Devre şemasında led arduino 2 numaralı pine, buzzer arduino 8 numaralı pine, RF alıcı modul arduino 6 numaralı pine bağlanmıştır.

RF 433 Mhz alıcı modül arduino kodları

Kodları açıklayacak olursak, alıcı modülden gelen mesaj değişkeni if komutu ile karşılaştırma yapılarak mesaj 1 ise led yanıyor ve buzzer ses veriyor, mesaj 0 ise led söndürülüyor ve buzzer susuyor.

 

Bu örnekte RF 433 mhz kablosuz modülün arduino bağlantı şemasını ve  433 mhz kablosuz modülün arduino kodlarını inceledik. Siz daha farklı projelerde led yerine motor  veya farklı sensörler kullanarak çeşitli projeler üretebilirsiniz.

RF kablosuz modülü kullanılarak yapabileceğiniz proje fikirlerini yorum bölümünden yazarak daha fazla kişiye ilham kaynağı olabilirsiniz.

Like
Beğen! Bunu sevdim! Süper! Muhteşem! Eh işte! Beğenmedim!
7
BENZER KONULAR
YORUM YAZ
Fatih Güveloğlu

Hocam bu rf 433 mhz alıcı verici modül ile bir rc uçak kumandası yapılabilir mi ?

    Teknik olarak yapılabilir fakat bu modülün çekim mesafesi düşük olduğundan uygun olmayacaktır. Uçak için daha çok uzun menzilli çekim sağlayan antenli nrf modüllerini araştırırsanız daha başarılı olacaktır.

Samet

Bu projenin calisma mantigini yazarmisiniz buzzer olmadan ama calisma mantigini yazarsaniz sevinirim performans odevimde nolursunuz bi yardim edin .

    #include // RF modül için gerekli Arduino kütüphanesi
    char*mesaj; // Alınan mesajın yazıldığı değişken
    int ledPin=2; //Ledin bağlı olduğu arduino pini

    void setup() {
    pinMode(ledPin,OUTPUT);
    pinMode(buzzerPin,OUTPUT);

    Serial.begin(9600);
    vw_set_ptt_inverted(true);
    vw_set_rx_pin(6); //RF alıcı modü data çıkışı bağlı olduğu arduino pini
    vw_setup(4000);
    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)) // Eğer gelen mesaj 0 ise …
    {
    if(buf[0]==’0′){ //0 ise ledi yak
    Serial.println(buf[0]);
    digitalWrite(ledPin,LOW); //Ledi söndür…
    }
    if(buf[0]==’1′){ // Eğer gelen mesaj 1 ise …
    Serial.println(buf[0]);
    digitalWrite(ledPin,HIGH); //Ledi yak…
    }
    }

    }

    Buzzer olmadan bu şekilde kullanabilirsiniz. Çalışma mantığı basit. diğer arduinodaki butonun basılma durumuna göre mesaj değişkeni 1 ya da 0 gönderiliyor. kablosuz olarak gelen veriyi alıp 1 ise ledi yakıyoruz 0 ise ledi söndürüyoruz.

yusuf bakan

Merhaba; bu modül ile yapılan sinyal alışverişinde ,odadan odaya iletişim sağlanabilir mi?

    bu modül çok güçlü bir modül değil.Denemelerime göre 8-10 metre arasında sinyal gönderebiliyor. Odalar arasındaki duvar sayısı fazla ise sinyal zayıflayacaktır. Yan yana odalarda çeker

      yusuf bakan

      Hızlı Cevabınız için teşekkür ederim. Sizin öneriniz var mı ?

        Antenli nrf24l01 modülü ile daha uzunmesafede sinyal alış verişi yapabilirsiniz. Sitede antensizinin kullanımı ve kodları var. Yakında antenli modülü için de bir makale yayınlayacağım.

          yusuf bakan

          Makalenizi dört gözle bekliyorum. Saygılarımla.