433 MHz RF Modülleri (Verici - Transmitter ve Alıcı - Receiver), kablosuz haberleşme projelerinde mikrodenetleyiciler arasında düşük maliyetli ve basit veri aktarımı sağlamak için kullanılır. Genellikle uzaktan kumanda sistemleri, kablosuz sensör ağları ve kapı otomasyonlarında tercih edilir.



Projede kullanılan verici (transmitter) ve alıcı (receiver) modüllerinin Arduino Uno ile bağlantı haritası iki ayrı devre olarak şu şekildedir:
| Modül Türü | Modül Pini | Arduino Uno Karşılığı | Açıklama / Kablo Rengi |
|---|---|---|---|
| 433 MHz Verici (Transmitter) | VCC | 5V | Güç Beslemesi (Kırmızı Kablo) |
| DATA (ATAD) | Pin 12 | Veri Sinyal Girişi (Mavi Kablo) | |
| GND | GND | Toprak Hattı (Siyah Kablo) | |
| 433 MHz Alıcı (Receiver) | VCC | 5V | Güç Beslemesi (Kırmızı Kablo) |
| DATA | Pin 11 | Veri Sinyal Çıkışı (Mavi Kablo) | |
| DATA (2. Pin) | Boşta / Opsiyonel | İkinci Veri Çıkış Pini | |
| GND | GND | Toprak Hattı (Siyah Kablo) |
433 MHz modüller ile güvenli ve paket bazlı veri alışverişi yapabilmek için popüler RadioHead kütüphanesinin RH_ASK sınıfı kullanılır. Aşağıda sırasıyla Verici ve Alıcı kodları yer almaktadır:
#include <Arduino.h>
#include <RH_ASK.h>
#include <SPI.h>
// RH_ASK nesnesini oluştur (Hız: 2000 bps, RX: -, TX: Pin 12)
RH_ASK driver;
void setup() {
Serial.begin(115200);
delay(100);
if (!driver.init()) {
Serial.println("Verici Başlatılamadı!");
} else {
Serial.println("433 MHz Verici Hazır.");
}
}
void loop() {
const char *msg = "Merhaba Kablosuz Dunya!";
// Mesajı RF üzerinden gönder
driver.send((uint8_t *)msg, strlen(msg));
driver.waitPacketSent();
Serial.print("Gönderilen Mesaj: ");
Serial.println(msg);
delay(2000); // 2 saniyede bir veri gönder
}
#include <Arduino.h>
#include <RH_ASK.h>
#include <SPI.h>
// RH_ASK nesnesini oluştur (Hız: 2000 bps, RX: Pin 11, TX: -)
RH_ASK driver(2000, 11);
void setup() {
Serial.begin(115200);
delay(100);
if (!driver.init()) {
Serial.println("Alıcı Başlatılamadı!");
} else {
Serial.println("433 MHz Alıcı Dinlemede...");
}
}
void loop() {
uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
uint8_t buflen = sizeof(buf);
// Paketin gelip gelmediğini kontrol et
if (driver.recv(buf, &buflen)) {
buf[buflen] = '\0'; // Metni sonlandır
Serial.print("Alınan Veri: ");
Serial.println((char*)buf);
}
}
Henüz yorum yapılmamış. İlk yorumu siz yapın!