Merhaba arkadaşlar,

Bu uygulamamız uzaktan kontrol ile alakalı hem de arada kablo olmadan..:) Kullandığımız modül Nordic firmasınca geliştirilen NRF24L01 kablosuz modül, 2.4GHz frekansında kablosuz haberleşme yapmanıza imkan sağlayan düşük güç tüketimine sahip modüldür.

Çeşitli hobi, robotik ve endüstriyel projelerde sıklıkla kullanılabilecek 2MBps haberleşme hızına sahip olup, SPI arabirimini destekler.

Özellikleri:

    2.4GHz bandında yayın yapabilir.
    250KBps, 1MBps ve 2MBps gibi hızlarda haberleşme hızı seçilebilir.
    Gelişmiş ShockBurst™ hızlandırma protokolünü desteklemektedir.
    Ultra düşük güç tüketimi
    Çalışma Voltajı: 1.9-3.6V
    IO Portları Çalışma Voltajı:0-3.3V/5V
    Verici Sinyal Gücü: +7 dB
    Alıcı Hassasiyeti ≤ 90dB
    Haberleşme Mesafesi: Açık Alanda 250m

Projenin çalışmasını izlemek için

.

Yazacağım demiştim ve yazmaya başlıyorum dostlar...Zaten modül ile ilgili bilgileri yukarıda sizlerle paylaşmıştım. Gelelim işin kod kısmına.
Öncelikli olarak kütüphane dosyasını buradan indirebilirsiniz. Bu kütüphane 2015 yılı içerisinde güncellenmiş bulunmaktadır. Sadece arduino için değil ATTiny, Due, and Raspberry Pi içinde kullanılabilecek ekstra özelliklere sahip bir kütüphane..Şimdi bu modülden 2 tane var elimizde. Dolayısı ile bize  bu uygulamada 2 adet arduino kartı gerekecek. Biri receiver(alıcı) biri de transmitter(verici) olacak.

Alıcı da 3 nolu dijital pine bir led, Verici de ise 7 nolu pine bir buton bağlı.

Transmitter(verici) Kod:

#include  <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int SW1 = 7;

void setup(void){
 Serial.begin(9600);
 radio.begin();
 radio.openWritingPipe(pipe);}

void loop(void){
 if (digitalRead(SW1) == LOW){
 msg[0] = 111;
 radio.write(msg, 1);}}

Receiver(Alıcı) Kod:

#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
int msg[1];
RF24 radio(9,10);
const uint64_t pipe = 0xE8E8F0F0E1LL;
int LED1 = 3;

void setup(void){
 Serial.begin(9600);
 radio.begin();
 radio.openReadingPipe(1,pipe);
 radio.startListening();
 pinMode(LED1, OUTPUT);}

void loop(void){
 if (radio.available()){
   bool done = false;   
   while (done){
     done = radio.read(msg, 1);     
     Serial.println(msg[0]);
     if (msg[0] == 111){delay(10);digitalWrite(LED1, HIGH);}
     else {digitalWrite(LED1, LOW);}
     delay(10);}}
 else{Serial.println("Uygun alici yok");}}



İşte bu kadar. Kalın sağlıcakla..:)




 

 

 


Yorumlar   

# oğuz 19-09-2016 18:39
mrb arkadaşım alıcı kodunda bir sıkıntı var hata veriyo bir bakarsan sevinirim teşekkürler
:)
Cevap | Alıntıyla Cevapla | Alıntı

Yorum ekle


Güvenlik kodu
Yenile

SON YORUMLANANLAR

GELEN GİDEN SAYISI

291149
Bugün
Dün
Bu hafta
Geçen hafta
Bu Ay
Geçen Ay
Tümü
594
1018
6492
278195
17481
24774
291149

Your IP: 93.89.232.254
2017-08-19 16:54