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 27.614 views 16

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!
81
BENZER KONULAR
YORUM YAZ
Avatar
Fatih Güveloğlu

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

    Avatar

    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.

Avatar
Samet

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

    Avatar

    #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.

Avatar
yusuf bakan

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

    Avatar

    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

      Avatar
      yusuf bakan

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

        Avatar

        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.

          Avatar
          yusuf bakan

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

Avatar

Merhaba,

Öncelikle yazı için teşekkür ederim. 2 arduino üzerlerinde hem alıcı hem verici bulundurup birbirlerine bilgi gönderip alabilirler mi? böyle bir çalışma için bana yol gösterseniz yeterli olur.

Avatar
yıldıray

merhaba bu koda 4 buton eklemeye çalıştım ama olmadı yardımcı olurmusnuz, yani 4 butonla 4 led yakıcaz

Avatar
baki aras

hocam rf433 ün menzilini arttırmak için ne yapabiliriz uygulamalı olarak örneklendirebilirmisiniz kolay gelsin

Avatar
alper

Üstadım çalışma çok güzel, NRF24l01’den HC05lerden yaka silktikten sonra ilk defa bu çalışmayla RF dünyasına adım atmış olduk.Yalnız şöyle bir sorum olacak: ben mesela bu çalışmayı 4 buton – 4 led ile çoklamak için kodda ne gibi bir değişiklik yapmalıyım? hakeza uzaktan kumandalı araba yapmayı düşünüyorum.

    Avatar

    tüm verileri paket halinde gönderip karşı arduino da paketi tekrar ayırıp ilgili değişkenlere değerleri aktaracaksın. Sonra onları kullanarak motorlara hareket vereceksin. Bununla ilgili bir örnek paylaşırım yakında…