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
:)
RSS beslemesi, bu iletideki yorumlar için