Bu yazımızda Arduino ile RF 433Mhz kablosuz iletişim modülünü kullanarak verici tarafında bulunan butona basıldığı anda alıcı tarafındaki ledi yakacağız. 433 Mhz RF kiti bir verici modül ve bir alıcı modülden oluşmaktadır. Bu RF kiti ile kablosuz uygulamalar geliştirebilirsiniz. Düşük maliyetli kablosuz iletişim için geliştirilmiş olan bu kiti projelerinize kolaylıkla adapte edebilirsiniz. İletişim mesafesi 20-200 metredir. İletişim mesafesi ortam şartlarına göre değişebilmektedir. Arduino veya herhangi bir mikrokontrolcü ile kullanıma uygundur. İletişim mesafesinin artışı için harici anten takılabilir.

Uygulama Alanları:

  • Düşük bütçeli elektronik uygulamalar
  • Ev ve bina otomasyonları
  • Uzaktan kontrol
  • Garaj ve kapı aç kapa sistemleri
  • Kablosuz lamba kontrolü
  • Anahtarsız giriş sistemleri
  • Endüstriyel kontrol uygulamaları
  • Ve diğer kablosuz uygulamalar

Özellikler:

  • Modülasyon: ASK
  • Alıcı model: MX-05V
  • Alıcı çalışma gerilimi: 5VDC
  • Akım: 4 mA
  • Frekans: 433.92 Mhz
  • Hassasiyet: -105 db
  • Anten: Heliciform şekli
  • Boyutu: 30x14x7 mm
  • Verici Model: MX-FS-03V
  • Verici mesafesi: 20-200 metre
  • Verici çalışma gerilimi: 3.5-12 V
  • Boyutu: 19x19x7.4 mm
  • Verici hızı: 4 KB/s
  • Verici gücü: 10 mW
  • Frekans: 433 Mhz
  • Anten: Tek veya multi çekirdekli tel

Kullanılan Malzemeler:

Rf 433Mhz modülü içimn kullandığımız VirtualWire kütüphanesini indirelim.

Verici Bağlantı Şeması:

rf verici fritzing 01

Verici Kodu:


#include <VirtualWire.h>
#define buton 3
char *message;
int butonDeger;
void setup()
{
Serial.begin(9600);
pinMode(buton, INPUT);
vw_set_ptt_inverted(true);
vw_set_tx_pin(12);
vw_setup(4000);
}
void loop()
{
butonDeger = digitalRead(buton);
if (butonDeger == HIGH)
{
message = "1" ;
}
else
{
message = "0" ;
}
Serial.println(message);
vw_send((uint8_t *)message, strlen(message));
vw_wait_tx();
delay(100);
}

Alıcı Bağlantı Şeması:

rf alici fritzing 00

Alıcı Kodu:


#include <VirtualWire.h>
#define led 3
char message[] = " ";
void setup()
{
pinMode(led, OUTPUT);
Serial.begin(9600);
vw_set_ptt_inverted(true);
vw_set_rx_pin(11);
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))
{
message[0] = (char) buf[0];
if (message[0] == '0')
{
Serial.println(message[0]);
digitalWrite(led, LOW);
}
else if (message[0] == '1')
{
Serial.println(message[0]);
digitalWrite(led, HIGH);
}
}
}

2 YORUMLAR

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz