Arduino Arduino & NRF24L01 Kablosuz Uzaktan Kontrol By Konuk Yazar Posted on 23 Ağustos 2015 6 min read 48 0 45,336 Paylaş ! Facebook Paylaş ! Twitter Paylaş ! Google+ Paylaş ! Reddit Paylaş ! Pinterest Paylaş ! Linkedin Paylaş ! Tumblr arduino&nrf24l01 Merhaba Arkadaşlar, NRF24L01 kablosuz modül,2,4 GHz frekansında kablosuz haberleşme yapılmasını sağlayan düşük güç tüketimli bir modüldür.NRF24L01 SPI arabirimini desteklemektedir.Yaptığı işe göre fiyatı da gayet uygun bir ürün olmasıyla dikkat çekiyor. Özellikleri 1,9-3,6 voltaj beslemesi Düşük güç tüketimi Dünya çapında lisans gerektirmeyen 2.4GHz ISM band işletimi Açık alanda 250 m haberleşme mesafesi Boyutları:15×29 mm Alıcı hassasiyeti<90dB Verici sinyal gücü:+7dB Uygulama Alanları Ev ve ticari otomasyonlar Oyuncaklar Hobi elektroniği Gelişmiş medya merkezlerinde uzaktan kontrol Mouse,klavye Oyun konsolları Uygulamanın Çalışması Devrede temel olarak,iki buton ile iki tane led kablosuz olarak kontrol edilmektedir.Bu uygulama temel teşkil etmektedir.Dilerseniz,butonlarla motor kontrol edebilirsiniz,evinizin lambalarını veya casus robotunuzu kontrol edebilirsiniz.Bu uygulamayı geliştirmek size kalmış 🙂 Kullanılan Malzemeler 2 adet Arduino 2 adet NRF24L01 2 adet led 2 adet buton 2 adet 10k direnç Bağlantılar için kullanılan jumper kablolar 2 adet küçük bread board Arduino ile NRF24L01 Bağlantısı Arduino NRF24L01 9 no’lu pin —–> CE 10 no’lu pin —–> CS 11 no’lu pin —–> MOSI 12 no’lu pin —–> MISO 13 no’lu pin —–> SCK 3,3 volt —–> Vcc GND —–> GND Buton bağlama mantığı şekilde gösterilmektedir.İkinci butonda bu şekilde Arduino’nun 6 no’lu pinine bağlanacaktır. Ledler bu şekilde bağlanacaktır.Diğer Led Arduino’nun 3 no’lu pinine bağlanacaktır. NRF24L01’in Çekim Gücünü İki Katına Çıkartmak Arduino Kodları Kodlamaya geçmeden önce eklememiz gereken 2 adet kütüphane dosyası mevcuttur.Bunları,diğer kütüphane dosyalarını olduğu yere kopyalamanız gerekmektedir.Kütüphanelere buradan ulaşabilirsiniz. Alıcı Kodları #include <SPI.h> #include “nRF24L01.h” #include “RF24.h” int msg[1]; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int LED1 = 3; int LED2 = 5; void setup(void){ Serial.begin(9600); radio.begin(); radio.openReadingPipe(1,pipe); radio.startListening(); pinMode(LED1, OUTPUT); pinMode(LED2, 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 if (msg[0] == 112) {digitalWrite(LED1, LOW);} else if (msg[0] == 113) {delay(10);digitalWrite(LED2,HIGH);} else {digitalWrite(LED2, LOW);} delay(10);}} else{Serial.println(“bos”);}} Verici Kodları #include <SPI.h> #include “nRF24L01.h” #include “RF24.h” int msg[1]; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int SW1 = 7; int SW2 = 6; 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);} if (digitalRead(SW1) == LOW){ msg[0] = 112; radio.write(msg, 1);} if (digitalRead(SW2) == HIGH){ msg[0] = 113; radio.write(msg, 1);} if (digitalRead(SW2) == LOW){ msg[0] = 114; radio.write(msg, 1);}} Eğer bu çalışma için PCB yapmayı düşünürseniz yaptığınız baskı devrenin çıktısını almak için PCBWAY’i kullanabilirsiniz. Oldukça uygun fiyatlara, hızlı ve kaliteli çözüm 🙂 5$ ödeyip 10 PCB alabiliyorsunuz. Her yeni üye de 5$ bonus kazanıyor. Hızlı gönderi seçeneği ile 1-2 güç içerisinde PCB’niz hazır olabiliyor.