ARDUINO NRF24L01 PROJESİ

NRF24L01 MODÜL
KULLANILAN ELEMANLAR;

-NRF24L01 MODÜL
-2 ADET ARDUİNO (UNO VE NANO OLABİLİR)
-JUMPER KABLO
-ANAHTAR VEYA BUTON
-10K DİRENÇ

DEVRE ŞEMASI:

1-)TRANSMİTTER ŞEMASI:

TRANSMİTTER NEDİR ?
Transmitter ya da Fm Aktarıcı, bir çeşit transdüser (analog sinyal dönüştürücü)dir. Sıcaklık, basınç, nem gibi çevresel değişkenleri ölçüp PLC gibi kontrol cihazlarının algılayabileceği düşük elektriksel sinyallere çeviren ara ekipmanlardır.




2-)NRF24L01 BAĞLANTI ŞEMASI;








ELEMANLARIN AYAK BAĞLANTI ŞEMALARI;

  • Pin 9 - CE
  • Pin 10 - CS(N)
  • Pin 11 - MOSI
  • Pin 12 - MISO
  • Pin 13 - SCK
  • 3.3v - VCC
  • GND - GND
  • Alıcı Arduino Pin 3 - LED
  • Verici Arduino Pin 7 - Buton



Devre bağlantısı bu şekilde arkadaşlar elemanların ayaklarının bağlantılarını doğru yaptığınız zaman herhangi bir sorunla karşılaşacağınızı sanmıyorum. 
Arduino'ya yükleyeceğimiz kodlar ve kütüphane dosyalarını aşağıdan vereceğim.
İyi çalışmalar..

KOD:

Alıcı Arduino'ya yükleyeceğimiz kodlar (Yani led bağladığımız Arduino)


#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("No radio available");}}



Verici Arduino'ya yükleyeceğimiz 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) == HIGH){
 msg[0] = 111;
 radio.write(msg, 1);}}


Kütüphane Dosyaları

Google Plus ile Paylaş

Kısaca: j

Elektronik ve Geliştirme Kartları hakkında bilgilerini sizlerle paylaşan yardımsever bir kişi.

5 yorum:

  1. acaba analog bir bilginin gönderimi hakkında da bilgilendirir misin? örneğin bir joystick'ten alınan değişken olan anlık verileri de işleyebilir misin?

    YanıtlaSil
    Yanıtlar
    1. Joystick'ten aldığın bilgileri neden işleyemeyesin sonuçta gelen bir sinyal var ve senin istediğin sinyal aralıklarında belirlediğin işlemleri yapabilir.

      Sil
  2. herkez bu kodu kopyalayıp paylaşıyo. başka yolları yokmu bunun..özgün bi proje yapamazmıyız..

    mesela bi joystik 2 motor şeklindede paylaşırmısınız rica etsem

    YanıtlaSil
    Yanıtlar
    1. http://arduinocuyuz.blogspot.com.tr/2016/07/arduino-joystick-ile-2-dc-motoru.html bu linkte var uygulamalara bi göz at istersen.

      Sil
  3. ben simdi bu modülden min:600-700 metre max:1km'den resim göndermem gerekiyor ve diger alıcı kısmı bunu alması gerekiyor bu modül bu mesafeden bu işi yapabilirmi ? yapıcaksa teorik olarak hesaplanan sürede mi atar yoksa daha geç bir sürede mi

    Örnek: 640x480x3 bu işlem resmin boyutunu veriyor
    256/8*1024 bu ise saniyede gönderim
    ve sonuc 30 sn de data gidicek demektir ? bilgi verirseniz sevinirim.

    YanıtlaSil