Rf-Nano V3.0 Mikro USB Kart İnceleme
Rf-Nano V3.0 Mikro USB Kart İnceleme
Rf-Nano V3.0 Mikro USB Kart İnceleme

Rf-Nano V3.0 Mikro USB Kart İnceleme

Daha önceki bir ürün inceleme yazımızda Arduino Nano kartını incelemiştik. 18x45 mm gibi küçük boyutlarındaki kart pek çok IoT uygulaması için ideal bir mikro denetleyici karttır. Arduino Nano, IoT uygulamalarının yanı sıra kişisel küçük uygulamalar için de kullanabilir ve oldukça ekonomiktir. 

 Eğer ki çoğunlukla lokal ve birbiri ile haberleşecek projeler üzerinde çalışıyorsak tercihimiz RF-Nano V3.0 olabilir. (nRF24L01 modülü yaklaşık 100 metreye kadar iletişim mesafesi sunabilir.) 

RF-Nano, Nano kartının bir türevidir ve temel olarak entegre bir RF alıcı-verici modülüne (nRF24L01) sahiptir. Bu, RF-Nano'nun kablosuz iletişim yeteneklerine sahip olduğu anlamına gelir. RF-Nano, kablosuz sensör ağları, uzaktan kumanda sistemleri ve diğer RF tabanlı projeler için daha uygun olabilir.  

nRF24L01 modülü tümleşik olarak gelen RF-Nano kartı, Arduino Nano kartı ile aynı özelliklere sahiptir. Programlanması için kullanılan IDE ortamında yine Nano seçilmesi yeterlidir. Fakat ek olarak, ağ özelliklerinin kullanılabilmesi için nRF24L01 kütüphanesinin yüklenmesi gerekir. Ardından, kod editörüne aşağıdaki gibi eklenmesi gerekir:

#include <RF24.h > 

void setup() { // 
... 

 Daha önceki yazımızda özelliklerinden bahsettiğimiz Nano kartına benzer RF-Nano kartının teknik özellikleri şunlar: 

Mikrodenetleyici Atmega328P,
Nrf24L01 + 2.4G kablosuz,
Mimari AVR,
Çalışma gerilimi 5 V,
Flash bellek 32 KB, bootloader tarafından kullanılan 2 KB,
SRAM 2 KB,
Saat hızı 16 Mhz,
Analog I/O pimleri 8,
EEPROM 1 KB,
G/ç pimleri başına DC akımı 40 mA (g/ç pimleri),
Giriş voltajı 7-12 V,
Dijital g/ç pimleri 22,
PWM çıkışı 6,
Güç tüketimi 19 mA,
PCB boyutu 48x18mm,
Ağırlık 7g

Harici olarak da satın kullanılabilen nRF24L01 hakkında kısa bilgi:

nRF24L01, kablosuz iletişim için kullanılan bir RF (Radyo Frekansı) modülüdür. İletişim amacıyla 2.4 GHz frekans bandını kullanır ve Arduino gibi mikrodenetleyici projelerinde sıklıkla tercih edilen bir bileşendir. İşte nRF24L01 hakkında bazı temel bilgiler:

Kablosuz İletişim: nRF24L01, düşük güç tüketimiyle kablosuz veri iletimi sağlayan bir iletişim modülüdür. Bu modül, RF sinyallerini kullanarak veri gönderme ve alma yeteneğine sahiptir.

Frekans Bandı: nRF24L01, 2.4 GHz frekans bandında çalışır. Bu frekans bandı, çeşitli kablosuz teknolojilerin kullanıldığı yaygın bir banttır, örneğin Wi-Fi ve Bluetooth da bu bantta çalışır.

İletişim Hızı: nRF24L01, 250 kbps, 1 Mbps ve 2 Mbps olmak üzere farklı iletişim hızlarına sahiptir. İletişim hızı, veri transferinin ne kadar hızlı gerçekleştiğini belirler.

Kanallar: nRF24L01, 125 adede kadar kanal seçeneği sunar. Kanallar, aynı frekans bandını kullanarak çalışan cihazlar arasında çakışmayı önlemek için kullanılır. Farklı cihazlar farklı kanalları kullanarak birbirleriyle etkileşime girebilir.

Uygulanabilecek Örnek Proje: İki adet  RF-Nano V3.0'ün haberleşmesi

İki adet Rf-Nano V3.0 karttan biri alıcı diğeri ise verici olsun. Verici, "Merhaba" mesajını gönderiyor. Alıcı ise gelen mesajı "Serial" ekranında gösteriyor. Alıcı ve verici uygulama kod örneklerl aşağıda.

Alıcı (Receiver) Arduino Kodu:  

#include <SPI.h>
#include <RF24.h>

RF24 radio(9, 10); // CE ve CSN pinleri için Arduino pin numaralarını belirtin

void setup() {
  Serial.begin(9600);
  radio.begin(); // RF24 modülünü başlatın
  radio.openReadingPipe(1, 0xF0F0F0F0E1LL); // Veriyi almak için okuma boru açın
  radio.startListening(); // Veri almayı başlatın
}

void loop() {
  if (radio.available()) {
    char text[32] = ""; // Alınacak metni tutmak için bir karakter dizisi oluşturun
    radio.read(&text, sizeof(text)); // Metni RF24 modülü aracılığıyla alın
    Serial.println(text); // Alınan metni seri port üzerinden yazdırın
  }
}


Verici (Transmitter) Arduino Kodu: 

#include <SPI.h>
#include <RF24.h>

RF24 radio(9, 10); // CE ve CSN pinleri için Arduino pin numaralarını belirtin

void setup() {
  Serial.begin(9600);
  radio.begin(); // RF24 modülünü başlatın
  radio.openWritingPipe(0xF0F0F0F0E1LL); // Veri göndermek için yazma boru açın
  radio.setPALevel(RF24_PA_HIGH); // Veri gücünü ayarlayın (RF24_PA_LOW, RF24_PA_HIGH, RF24_PA_MAX)
}

void loop() {
  char text[] = "Merhaba!"; // Gönderilecek metni belirtin
  radio.write(&text, sizeof(text)); // Metni RF24 modülü aracılığıyla gönderin

  delay(1000); // 1 saniye bekleyin
}