Arkadaşlar merhaba,
Arduino ile ilgilenmeye başlayan neredeyse herkes, bir döneminde uzaktan kontrollü araba,bot veya quadrocopter yapmak istemiştir. Bu yazımızda Remote Control(RC) araç yapmak isteyen arkadaşlar için basit uzaktan kontrol devre ve kodunu anlatacağım. Bu yazıda iki Arduino’yu NRF24L01 modülü ile haberleştireceğiz ve ilk Arduino’dan butona basıldığında, diğer Arduino’daki ledin yanmasını sağlayacağız. Tabiki led yakmak işin basit kısmı fakat RC Car yaparsanız yine aynı mantıkta kalacaksınız ve butonlar joystick, ledler ise motor olacak. Biz burda sadece bir Arduino’dan diğerine veri yollamayı anlatacağız. Veriyi aldıktan sonra işlemek size kalmış.
İki Arduino’yu kablosuz haberleştirmenin bir çok yolu var. Bunlar, çok uzak mesafede haberleşebilen fakat fiyatı biraz tuzlu olan X-Bee modülleri, fiyatları daha da pahalı olan GPS veya GSM modülleri olabilir. Fakat ben bu projede fiyat/performans olarak son zamanlarda çıkmış en iyi ürün olan Nordic Semiconductor firmasının ürettiği ve internet ortamında yazılı olarak bir çok kaynağı bulunan NRF24L01 isimli kablosuz modülü kullanacağım.
Modül 2.4GHz frekansında kablosuz haberleşme yapmanıza imkan sağlayan düşük güç tüketimine sahip modüldür. Modül SPI arabirimini desteklemekte olup, 1 modül 126 taneye kadar modüle bağlanabilmektedir. Yani bir ev otomasyonu gerçekleştirdiğinizi düşünürsek, evimizdeki 126 tane nesneyi 1 tane NRF bağlı Arduino ile kontrol edebiliriz.
Uygulamada kullanılacak malzemeler ve araçlar şunlardır:
- 2 Arduino UNO
- 2 NRF24L01 Wireless Modül
- 2 Breadboard
- 1 LED
- 1 330 ohm direnç
- 1 10k ohm direnç
- 1 buton
- Dişi Erkek ve Erkek Erkek Jumper Kablo
Projemizde SPI arabirimi ve modülümüz için 2 tane kütüphane kullanıyoruz. SPI kütüphanesi Arduino IDE’sini yüklediğimizde geliyor fakat modülümüz için kullanacağımız RF24-Master kütüphanesini bizim eklememiz gerekiyor. İlgili kütüphaneyi buradan indirebilirsiniz.
Kütüphaneyi indirdikten sonra winrar dosyası içindeki her şeyi C:\Program Files\Arduino\Library dosyası içerisine atıyoruz.
Kütüphaneleri ekledikten sonra devremizi kurup, arduinolarımıza kod yükleyebiliriz.
Fakat devreyi kurup kodları atmadan önce yapacağımız örneğin mantığını birazcık anlatmak istiyorum.
Verici kısmında, ilk önce verileri yollayacağımız bir kanal tanımlıyoruz, bu kanal üzerinden iletişim kuracağız. Yani bu kanal bir nevi bizim karşı tarafı parolamız. Karşı taraf bu parolayı görünce verilere alacak ve böylece iletişim tamamlanacak. Kanal tanımlandıktan sonra, NRF modülümüzü gönderim yapacak şekilde ayarlıyoruz(bu ayarlamalardan kod kısmında daha detaylı bahsedilecektir.). Ayarlamaları yaptıktan sonra, butona basıldığında NRF modülü ile karşı tarafa bir karakter yolluyoruz.
Alıcı kısmında ise, verileri alacağımız kanalı tanımlıyoruz. Bu kanal alıcı kısmındaki ile aynı olmalı çünkü parolamız demiştik ve parola iki tarafta da aynı olmalı. Kanalı tanımladıktan sonra bu sefer NRF modülümüzü okuma yapacak şekilde ayarlıyoruz. Bu sefer ise modülümüz sürekli olarak bir veri gelip gelmediğini kontrol ediyor. Bir veri geldiğinde, gelen verinin daha önce tanımladığımız olup olmadığını kontrol ediyoruz. Eğer doğru veri ise ledi yakıyoruz.
DEVRE ŞEMALARI
Alıcı Devresi
Alıcı devresinde 1 adet Arduino, 1 adet NRF24L01 ile 1 adet led devresi bulunmaktadır.
Verici Devresi
Verici devresinde ise 1 adet Arduino, 1 adet NRF24L01 ile 1 adet buton devresi bulunmaktadır.
Devreleri bu şekilde bağladıktan sonra geriye sadece Arduino’lara kod atmak kalıyor.
ARDUINO KODLARI
Verici Kodları
#include <SPI.h> #include "nRF24L01.h" #include "RF24.h" //Modül ile ilgili kütüphaneleri ekliyoruz int mesaj[1]; //mesaj isminde bir dizi tanımlıyoruz RF24 verici(9,10); //kütüphane tarafından kullanılacak pinleri tanımlıyoruz const uint64_t kanal = 0xE8E8F0F0E1LL; //kanalı tanımlıyoruz int buton = 7; //butonun bağlı olduğu dijital pin void setup(void) { verici.begin(); //nrf yi başlatıyoruz verici.openWritingPipe(kanal); //kanal id sı tanımlanıyor } void loop(void) { if (digitalRead(buton) == HIGH) { mesaj[0] = 123; verici.write(mesaj, 1); //mesaj değişkeni yollanıyor } }
Alıcı Kodları
#include <SPI.h> #include "nRF24L01.h" #include "RF24.h" //Modül ile ilgili kütüphaneleri ekliyoruz int mesaj[1]; RF24 alici(9,10); const uint64_t kanal = 0xE8E8F0F0E1LL; int led = 2; void setup(void){ Serial.begin(9600); alici.begin(); alici.openReadingPipe(1,kanal); alici.startListening(); pinMode(led, OUTPUT); } void loop(void){ if (alici.available()) { bool done = false; while (!done) { done = alici.read(mesaj, 1); if (mesaj[0] == 123) { delay(10); digitalWrite(led, HIGH); } else { digitalWrite(led, LOW); } delay(10); } } }
Kodlarımızı bu şekilde yazıp, Arduino’larımıza yükledikten sonra ilk Arduino’dan butona bastığımızda ikinci Arduino’da ledin yandığını göreceğiz. Bu projeyi daha da geliştirip kendi RC arabanızı yapabilirsiniz.
İyi Çalışmalar 🙂
Bu şekilde kaç metreye kadar haberleşmek mümkündür acaba?
Antensiz modülü kullanırsanız açık alanda 250 metre olduğu söyleniyor fakat deneme fırsatı bulamadım. Kapalı alanda ise 15-20 metreye kadar çekme gücü var. Çekim gücünü daha fazla arttırmak istiyorsanız, aynı modülün antenli olarak satılanı da mevcuttur. http://www.robotistan.com/nrf24l01-pa-lna-sma-anten-24ghz-kablosuz-haberlesme-modulu buradaki linkten antenli modülü satın alabilirsiniz
Antenli versiyonunun kodları aynı mıdır?
programda led ve butonun baglı oldugu pınler farklı sema da farklı lutfen duzeltın
Dikkatiniz için teşekkürler 🙂
güzel yazı ama vericinin altında “Verici devresinde ise 1 adet Arduino, 1 adet NRF24L01 ile 1 adet led devresi bulunmaktadır.” yazmışsınız. İyide orada led değil düğme devresi var.
Dikkatiniz için teşekkürler, düzeltiyorum 🙂
bu modül ile iletişim sadece tek yönlü mü?
yoksa çift yönlüde kullanılabiliyor mu?
mesela ledi yak komutu gönderildi alıcı işlemi yaptı ledi yakıp geri bildirimi yapabiliyor mu ?
Modül çift yönlü iletişime olanak sağlıyor dediğiniz gibi bir işlemi yapabilirsiniz
Örnek bir kod parçası paynalışır mısınız ?
Teşekkür ederim ilk bu d3vreyi deneyecegim birde ucuz bir kumandali araba aliyim icine koyup deneyecem
bu kodlarla joystick kodlarını birleştirip RC car kullanabilir miyim?
Tabi ki yapılabilir. Örnek joystick kodları için Ara gamepad Arduino ile Kablosuz Gamepad Yapalım yazımızı inceleyebilirsiniz.
C:\Users\fatih\Desktop\RE1\RE1.ino: In function ‘void loop()’:
RE1:24: error: void value not ignored as it ought to be
done = alici.read(mesaj, 1);
^
exit status 1
void value not ignored as it ought to be
şekilnde bir hata ile karşılaşıyorum. neden kaynaklanabilir acaba?
aynı hata bendede var
Kardeş
done = alici.read(mesaj, 1); bu kodu ;
alici.read(mesaj, 1); bu koda dönüştürdüğün zaman düzeliyor orası yanlış yazlışmış.
olmadı ama hata vermiyor ama bu sefer butona basınca led yanmıyor
Selam Kardes. Bu hata olusmasinin sebebi sudur:-
#include
#include “nRF24L01.h”
#include “RF24.h”
dikkat etsen goruceksin birinciden basqa diger ikisinde “” bu isareler istifade edilmis, buda onlari library kimi degilde string gibi anlasilmasini saliyor. Yani bu “” isareleri sil ve kutubhaneyi kendin programin icinden yukle duzelicek 100%
Çok sadece ve açıklayıcı bir anlatım olmuş Bartu hocam teşekkürler
Arduino Nano ile bağlanıtısını nasıl yapabilirim . internette farklı bağlantılar buldum ama emin olamadım.
Modül SPI üzerinden haberleşme yaptığı için Nano üzerindeki aynı numaralı pinlere bağlamanız yeterli olacaktır.
“1 modül 126 taneye kadar modüle bağlanabilmektedir.” Ama Nasıl Heryerde Geçiyor Ama Nasıl Nasıl Nasıl 🙂
126 nodül nedir yani evde bu cihaz olduğu zaman tüm mesajlar wifi üzerinden karşı tarafa aktarılıyor mu
Bunlar Wi-Fi modülü değil maalesef, yalnızca RF modülleri kullanılarak iletişim kuruldu.
Merhaba,
Modülü o pinlerden başka pinlere bağlasakda aynı görevi görür mü? Ben ov7670 kamera ile birlikte kullanmak istiyorum kameraya basit bi komut verebilmek için alıcı olarak kullanacagım ama o pinler dolu boş olan diğer pinlere bağlasam da koddan değiştirsem yine işlemi gerçekleştirebilir miyim?
nRF24L01 modülü SPI haberleşmeye sahip olduğundan Arduino üzerindeki bu pinlere bağlantı yapmanız zorunludur. Birden fazla SPI cihaz çalıştırıyorsanız farklı cihazların chip select/slave select pinlerini farklı Arduino pinlerine bağlayarak haberleşmekte olduğunuz cihazı değiştirebilirsiniz.
bağlantı devresinin aynısını yaptım ve programları içerisine attım yalnız çalışmadı. Ne yapmam lazım?
Merhaba,
2 adet arduino yu haberleştirdim. Bir tanesinde sıcaklık verisi okuyarak diğerine gönderiyorum. Sorunsuz çalışıyor. Sormak istediğim, vericinin enerjisini kestiğimde alıcıda sıcaklık değeri sabit kalıyor sıfıra düşmüyor. Vericinin enerjisi kesildiğinde veya verici kapsama alanı dışına çıktığında alıcı hata versin veya gelen veriyi sıfıra düşsün. Bunu yapmak mümkün mü? Teşekkür ederim.
if (alici.available()) kullanarak alıcı ile bağlantı kopması durumunda yapılacakları belirtebilirsiniz.
Merhabalar Bartu hocam teşekkür ederim verdiğiniz bilgiler için projenizi kurdum çalıştırdım ve 4 kanala kadar arttırdım fakat bir sorun çıkıyor işin içinden çıkamadım. Verici üzerinden bir veri yolladığımız anda haberleşme kopar ise o çıkış hep aktif kalıyor tx ledi söndüğünde tüm çıkışlara low komutu vermek istiyorum fakat yapamadım yardımcı olurmusunuz?
if (alici.available()) kullanarak alıcı ile bağlantı kopması durumunda yapılacakları belirtebilirsiniz.
Merhaba kolay gelsin nrf24l01 ile çift yönlü haberleşmek için nasıl bi kod yazmam gerek
Merhaba, bir adet master nrf24l01 modülünden, 25 ayrı nrf24l01 slave modülünden gönderilecek datanın alınması mümkün müdür ?, örnek bir kod var mıdır?
merhaba kolay gelsın Hocam 1 Haftadır hemen hemen ugrasıyorum. nanodan nanoya veya unodan unoya sıkıntı yok gayet basarılı calısıyor. artı megadan nanoya verı aktarımındada sorun yok ama nanodan megaya verı aktarırken sorun yasıyorum bu sorunu nasıl cozebılırım bır bılgınız varmı acaba
Büyük ihtimalle Arduino Mega kartları üzerinde yer alan SPI pinleri UNO ve Nano’daki gibi 13 (SCK), 12 (MISO), 11 (MOSI) ve 10 (SS) numaralı dijital pinlerde yer almadığı için böyle bir sorun yaşamaktasınız. Arduino Mega’ya ait bir pin şemasından ilgili pinlerin yerlerini bulup bağlantı yaptığınızda sorun çözülecektir.
Merhaba. Buraya kadar olan anlatımlarınızın aynısını uyguladım ve çalıştı. Fakat bu projede her şeyi birebir yapmama rağmen led’i yakamadım. Bazı satırlara println’ler yerleştirerek hatayı yakalamaya çalıştım. Verici kısmında sorun yok fakat alıcıda if (alici.available()){Serial.println(“mesaj geldi”);……. yazıp deneyince port ekranına bir şey yazdırmadı. Acilen yetişmesi gereken bir projem var buradan veya mail’den yardımcı olur musunuz?
Merhaba öncelikle verdiğiniz bilgiler için teşekkürler, Ben bir NRF24L01 modülü verici olarak programlayıp arduinodan bağımsız kullanabilir miyim ?
Sadece modülü kullanmak istiyorum.
Malesef NRF modülünü herhangi bir mikrokontrolcü olmadan doğrudan kullanmanız mümkün değildir.
Verilen bağlantıları verici alıcı olarak yaptım butondan veri giderken alıcı devresi data almıyor sorun nedir acaba ?
Bizde de aynı sorun var; kodlar, bağlantılar birebir aynı. Ne yaptıysak if (alici.available()) içine girmiyor alıcı tarafı 🙁
arduino’ nun biri UNO biri nano olsa bağlantıda sıkıntı olur mu?
Sorun olmaz, hatta birbirinden tamamiyle farklı iki mikrokontrolcüyü bile (örn. Arduino ile PIC) haberleştirebilirsiniz.
Merhaba. write ve read fonksiyonunda 2. parametre olarak 1 vermek yerine sizeof(mesaj) vermek daha doğru olacaktır.
Bu şekilde çalışmasını bekleyemezsiniz.
Kullandığım araç 10 farklı harekete sahip bunun için 3 tane arduino joystick kullanmam gerekiyo. Bunun için 3 tane alıcı nrf24l01, 3 tane verici nrf24l01 mi kullanmam gerekiyor?
Hayır, böyle bir kullanıma gerek yoktur. Her bir joystick için okumalarınızı yaptırdıktan sonra tüm veriyi tek seferde bir adet verici NRF modülü kullanarak alıcı tarafındaki kartın okumasını sağlayabilirsiniz. Örnek olarak Arduino ile Kablosuz Gamepad Yapalım isimli yazımıza göz atabilirsiniz.
Uygulamayi yaptigimda mesaji degerini 123 degilde 260 olarak yazıyor.Bunun nedeni ne acaba? Yardım edebilirmisiniz?
error: void value not ignored as it ought to be
done = alici.read(mesaj, 1);
^
exit status 1
void value not ignored as it ought to be
Bu hatayı neden alıyorum? Çözümünü söyler misiniz?
hata verimiyor ama calışmıyor bağlantılarda sorun yok neden kaynaklanıyor olabilir
Benim gibi sorun yaşayan arkadaşlar için uzun uğraşlardan sonra çözüm buldum:
Ne yaptıysam kablo bağlantıları doğru olduğu halde iki NRF’yi haberleştirememiştim. Öncelikle NRF24L01 ucuz ürünle olduğu için farbrika çıkışı NRF üzerindeki pinleri ve diğer yerleri (lehimli yerleri) üzerinde kalıntılar olabiliyor. Bunun için pamuk ve selülozik tiner ile temizlemenizi öneririm. Daha sonra 3.3 Volt ve GND arasına 10uF’lık elektrolitik bir kondansatör bağlayınız. (Kondansatör’ün yönleri doğru olmalı eksi – yönü GND’ye gelecek!)
Test etmek için RF’nin kendi kütüphanesi altında “GettingStarted” adında bir örnek uygulaması var. Onu kullanmanızı öneririm. Arduino->Dosya->Örnekler->RF24-master->GettingStarted
Kütüphane için : https://github.com/maniacbug/RF24
Yine sorun yaşayan olursa buradan yardımcı olmaya çalışırım.Bu arada ben antenli olan versiyonunu denedim.
kardeşim resimli anlatım yapar mısın nasıl bağladın kondansatörü
Elektrolitik kondansatörün artı ve eksi yönleri vardır. eksi yön modül üzerindeki GND pinine, artı yönü VCC pinine. Zaten yazıda da belirtmiştim bunu.
https://i.hizliresim.com/lOGzml.png
Bana yardimci olursan sevinirim. 3 tane antrn 5 tane arduino var. Programlama bilgimde var ama bir turlu calistiramdim. 1 haftadir debeleniyorum. Cagri atarsan ariyim. 5062943431
Çalışmanız programın 2082 bayt (6 %) saklama alanını kullandı. Maksimum 32256 bayt.
Global değişkenler belleğin 28 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2020 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
C:\Program Files (x86)\Arduino\libraries\examples içerisinde geçersiz kütüphane bulundu: C:\Program Files (x86)\Arduino\libraries\examples
C:\Program Files (x86)\Arduino\libraries\tests içerisinde geçersiz kütüphane bulundu: C:\Program Files (x86)\Arduino\libraries\tests
C:\Program Files (x86)\Arduino\libraries\examples içerisinde geçersiz kütüphane bulundu: C:\Program Files (x86)\Arduino\libraries\examples
C:\Program Files (x86)\Arduino\libraries\tests içerisinde geçersiz kütüphane bulundu: C:\Program Files (x86)\Arduino\libraries\tests
böyle bir sourun var nasıl çözcem veya kütüphaneyi yanlışmı attım aceba
İyi günler. Acaba verici olarak kullandığımızı antenli olan ile kullanıp alıcı ise aynısı olsa uzun mesafede haberleşme yapılabilir mi?
Malesef hayır. NRF modüllerini kullanırken en düşük menzil sunan modülünüz ile sınırlanırsınız.
Wireless modülü ile telefondan kontrollü drone yapmak mümkün müdür nasıl yapacaz malzemeler nelerdir kodlar nelerdir yardımcı olabilir misiniz
Böyle bir projede iki kartinda arduino uno olmasi önemli mi farkli modellerde olabilir mi
nrf ile ledin pot la parlaklığını nasıl ayarlayabiliriz yardımcı olursanız sevinirim
1 veya 0 göndermek yerine, analogRead ile okuyacağınız potansın değerini 0-255 arasına çekerek (4’e bölebilir veya map() komutunu kullanabilirsiniz) bu değeri NRF aracılığıyla gönderebilirsiniz. Karşı tarafta da bu değeri analogWrite fonksiyonu ile PWM destekli bir pinden çıkış alarak LED’inizin parlaklığını kontrol edebilirsiniz.
Ben bu modülü başka bir şey de kullancam board kullanmadan bağlantı kurabilir miyiz?
NRF modülünde yer alan pinler breadboard ile kullanıma uygun değildir, dişi-erkek jumper kablo kullanarak Arduino’nuza bağlantı yapabilirsiniz.
Mega ile nano arasında bağlantı kurmak istiyorum. Mega alıcı nano verici olacak şekilde nasıl düzenleyebilirim /Acil yardım edebilir misiniz!!!(nanoya buton taktim mega alıcı)
arduino ide kütüphaneyi tanımıyor
Yazımızda belirttiğimiz kütüphaneyi indirip, sonrasındaki işlemleri yapmanız gerekiyor (Yazımızda gerekli işlemler yazıyor).
Öncelikle yapmış olduğunuz paylaşım için teşekkür ederim. Benim sorunum biraz ters olacak gibi, bu modülü kullanarak bir proje yaptım fakat haberleşme mesafesini azaltmak istiyorum ve başka bir değişle sinyal gücünü düşürmek istiyorum. Yardımcı olabilirseniz çok sevinirim.
while kısmı anlatmamışsın anlatır mısın?
Uno ve nano nrf ile haberleşebilir mi?
Haberleşebilir. Hatta isterseniz Arduino ile Raspberry Pi, STM32 mikrokontrolcüler, PIC mikrokontrolcüler vs. gibi farklı marka-model cihazlar bile haberleşebilir. NRF modülleri birbiri ile uyumlu olduğu sürece sorun olmayacaktır.
ultrasonik mesafe sensörü ve nrf24l01 ile lcd ekrana aktarma projesini yaprmısın abi
C:\Users\Windows 7\Desktop\atakan_al_c_\atakan_al_c_.ino:2:22: fatal error: nRF24L01.h: No such file or directory
#include “nRF24L01.h”
^
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
burda neyden bahsediyor yardımcı olurmusunuz
NRF kütüphanesini yüklememişsiniz.
İyi günler.. hocam uygulamanızı aynen yaptım fakat haberleşme sağlayamıyorum. Getting Started uygulamalarını çalıştırdığımda elimde ki wifi modüllerinin kanal numaralarının farklı olduğunu gördüm. Acaba onları nasıl yazacağız? Sizin wifi modüllerinin kanal numaralarını ya da başka bi rakam yazmamızın bir önemi var mı? Yoksa elimizde ki kanal numaraları neyse onu mu yazacağız?
https://resmim.net/f/eAV5vF.jpg
Bişey dikkatimi çekti. Az önce yüklediğim resimde iki wifi modülünün de kanal numarası farklıydı kapatıp açınca aynı oldu. Tekrar kapattım açtım ve kanal numaraları değişti resimdeki gibi oldu? Benim biraz kafam karıştı
https://resmim.net/f/p0fgsH.jpg
Kullandığımız modüllerin WiFi özelliği bulunmamaktadır. Kendi aralarında özel bir protokol ile haberleşmektedirler. Kanal numarasını da biz kodda belirtmekteyiz. Sizin yüklemiş olduğunuz kod bu derste anlatılandan farklı, bu sebeple kanal numarasının değişmesi v.b. gibi durumlar konusunda birşey diyemeyeceğim.
Hocam sizin kodları yüklediğimde çalışmıyor bende o yüzden RF24 ün kendi örneklerinde ki Getting Started uygulaması ile bu kanal numaralarına eriştim. Wifi kelimesini de yanlışlıkla kullandım wireless modülü diyecektim.
Bu nrf ye düzgün voltaj alması için eklenen kapasitörlerin kaç volt olduğu önemli mi acaba? Ben 4.7mikrofarad 25 volt ve olmayınca 10mikrofarad 25 volt luk bir kapasitör kullandım normal haliyle çalışmadığı için. Ama bu şekilde de çalışmadı : ) Az önce denerken de wireless modülünün ısındığını farkettim acaba modül mü bozuldu. Elimde 3. bir modülde olmadığından test edemiyorum
Modülün besleme gerilimi 3.3V olduğu için bu değerin üzerindeki tüm kapasitörleri sorunsuzca kullanabilirsiniz. Bu tip modüllerde pin sırasını karıştırmak çok mümkün, bağlantılarınızı tekrardan kontrol etmenizi tavsiye ederim.
Youtube da ki kanalınızda İlge İpek ‘in yaptığı uygulamayı yazdım fakat orada kullanılan nrf24l01p.h kütüphanesini bulamadım açıklamalara da eklenmemişti. Acaba onu paylaşma şansınız var mı sizin ya da İlge bey’in?
Aslında bu kütüphane web de var buldum ama yüklerken hata veriyor. O yüzden sizin uygulamada kullandığınız kütüphane olursa daha iyi olur
çalıştırabildin mi acaba modülü, bende de aynı sorun var.
5 modülün biri kapasitörsüz de çalışıyor ama diğerlerinde tık yok.
bağlantı ları yapıp kodu yazdım ancak butona bastıgım zaman led yanmıyor ne yapmalıyım
Bağlantılarınızı tekrar kontrol etmeyi deneyebilirsiniz. Büyük olasılıkla bağlantınızda hata olduğu için programınız çalışmamaktadır.
bende arkadaş gibi sorun yaşıyom bağlantıları falan kontrol ediyom ama butona basınca led yanmıyor ne yapmam gerekir?
done = alici.read(mesaj, 1);
kodu hata veriyor nede olabilir?
kütüphane içinde alıcı kodu ve verici kodunun hangisin olduğunu bulamamdım
C:\Users\kadri\Documents\Arduino\sketch_nov12a\sketch_nov12a.ino:2:22: fatal error: nRF24L01.h: No such file or directory
#include “nRF24L01.h”
compilation terminated.
exit status 1
Error compiling for board Arduino/Genuino Uno.
hem alıcıda hemde vericide aynı bu hatayla karşılaştım yarımcı olabilirmisiniz
nrf24l01 kütüphanesi nasıl ekleyebilirim
bu modül çok güzel bunu kullanarak kumandalı bir araba yaptım fakat if(alici.available) komutunun tersi yokmu araba baglantı varken düzgün çalışıyo fakat sürerken bağlantı kesilirse aldığı son komutta kalıyor ve biryerlere çarpıyor birsürü kod denedim ama tam istediğim neticeye ulaşamadim yardimci olursanız sevinirim
hocam kondansatör bağlantısı yapmam gerektiği söylendi nasıl bağlayabilirim
alici.read(mesaj, 1); oradaki “1” ne anlama geliyor “1” yerine “2” yazsa ne fark eder
Hocam selam
ardunio programları kontrol et dediğimde bir dizi hata alıyorum,
yükleme yapamıyorum,
yardımcı olabilirmisiniz.
libraries\nRF24L01p\RF24.cpp.o (symbol from plugin): In function `RF24::csn(int)’:
(.text+0x0): multiple definition of `RF24::csn(int)’
sketch\RF24.cpp.o (symbol from plugin):(.text+0x0): first defined here
libraries\nRF24L01p\RF24.cpp.o (symbol from plugin): In function `RF24::csn(int)’:
(.text+0x0): multiple definition of `RF24::ce(int)’
hocam bu alıcı kesmesine direk giriyor program napabilirim
mCro-Mbot anarkart kullanarak yapabilir miyiz bu projeyi?
Örneğin gyro sensörü bağlı mCro ile diğer mCro mbota veri gönderip hareket etmesini sağlayabilir miyiz?
Yani uzaktan el ile kontrollü araba yapabilir miyiz?
Bunun için hangi parçaları almam lazım?
Not: mCro kullanma sebebim kablo board vb şeyleri kullanmak istemiyorum
Acaba nrf24l01 ile Android telefonu haberleştirebileceğim bir yöntem var mı?
Sim kart ile uzaktan yönetilen bir akıllı ev otomasyonu yapmaya çalışıyorum bunun için Android arayüz kullanacam android ile Arduino haberleşmesini nasıl yapabilirim bir kaynak önerebilir misiniz ayrıca GSM shield kullanmak doğru mu
bunu 2 buton ile ledin durmadan yanmasını nasıl sağlayabiliriz lütfen yardımcı olun
Kerem İzgöl, devreyi kurdum. Kodları hatasız bir biçimde yükledim ancak çalışmadı. Devreyi söküp bir daha taktım ve bir daha kodları yükledim ancak yine çalışmadı. Yardımcı olurmusunuz.
ps4 kontrolcü ile servo vb. şeylerin kontrolünü de anlatabilir misiniz?
Nrf20l01 modülünü lehimlemem gerekiyor mu kondansatör ile lehimlemem şart mı bazı projelerde kondansatör ile lehimlenmis
hocam selamlar
diğer pinlerede aynı kodları eklersek kanal sayısı artar mı?
2 antensiz nrf ile sicaklık bilgisini iletebildim. Aradaki mesafeyi arttırabilmek için antenli olanla denedim, alıcı tarafında sorun yok ama gönderici tarafında bir türlü başaramadım. Bu arada 2 tür antenli nrf var, ikisi ile de denedim, yeni nrf aldım yine olmadı. pinler ok, kondansatörle de denedim olmuyor. Bu nrf çok yordu beni, yardımcı olursanız sevinirim.
Merhaba arkadaşlar nrf calıştıran arkadaşlardan birisiyim bende her hangi bir parazit ve kabloların oturmaması gibi sorunlardan kurtulmak için 10 cm lik kablolları nrf modüle ve arduino uno ya lehimleyerek aştım ve cihan arkaşımızın bu önerileri cok önemli şiddetle uymanızı tavsiye ederim , burda yayınlanan kodları ilk etapta çalıştıramadım sonra google amcaya NRF24l01 test programları yazdım , araştırırken ardino sitesinde test programları ve kütüpaneler buldum ve sitedeki kodların o kütüphane ile calıştırabildim. Bİraz araştırın .inşallah sizlerde yaparsınız.
CİHAN;
Benim gibi sorun yaşayan arkadaşlar için uzun uğraşlardan sonra çözüm buldum:
Ne yaptıysam kablo bağlantıları doğru olduğu halde iki NRF’yi haberleştirememiştim. Öncelikle NRF24L01 ucuz ürünle olduğu için farbrika çıkışı NRF üzerindeki pinleri ve diğer yerleri (lehimli yerleri) üzerinde kalıntılar olabiliyor. Bunun için pamuk ve selülozik tiner ile temizlemenizi öneririm (BEN DİŞ FIRCASI İLE TEMİZLEDİM ) . Daha sonra 3.3 Volt ve GND arasına 10uF’lık elektrolitik bir kondansatör bağlayınız. (HURDA LARIN ARSINDA BULDUGUM 10uf 50 v KONDASATÖR BAGLADIM ) (Kondansatör’ün yönleri doğru olmalı eksi – yönü GND’ye gelecek!)
alici.read(…..,……) ‘daki değişkenden sonraki paremetre neyi ifade ediyor ?
iyi günler ben denilenlerin aynısını yaptım verici çalışıyor ama alıcıda hiçbir şey olmuyor. yardımcı olabilirseniz çok sevinirim…
ben alıcı kodunuda verici kodunuda yazdım fakat alıcı kodunda done = alici.read(mesaj, 1); kısmında hata veriyor bunun nedeni nedir acaba.
“done = ” kısmını silmen gerek galiba
günlerdir araştırıyorum birisi yardımcı olabilir mi.
şimdi ben nrf ile veri yolluyorum. bir seferde max 32 bytelik veri yollayabildiğim için, 2. bir veri kanalı oluşturmam gerekiyor. hiçbiryerde bununla ilgili bilgi yok. nasıl yapabilirim
nrf te 4 kanal nasıl kullanılıyor
2 adet antenli modül, bir tane Atmega328p Arduino bir de ch340 Arduino ile denedim. Modüllerin çalışmadığını düşünüp aldığım yerden değiştirdim yine de çalışmadı. 2 farklı Arduino olduğu için mi çalışmıyor? onlarca farklı kod denedim.
Selamlar.
Donanımsal ve yazılımsal bağlantıları kontrol etmenizi öneririm. Buna ek olarak adaptör kullanmanızı tavsiye ederim. Bu tarz modüller gürültüye mahzur kalabileceği için en iyi yöntemin bu olacağını düşünüyorum.
İyi çalışmalar dilerim 🙂
Selamlar.
“https://forum.arduino.cc/index.php?topic=411686.0” adresinde güzel bir içerik var, bakmanızı tavsiye ediyorum.
İyi çalışmalar dilerim 🙂
Hocam aynı kodu çalıştıramadım sebebi ne olabilir. Kütüphaneleri doğru bir şekilde kurdum.Yeni arduinolarla ve 2 bilgisayarla çalıştım. Fakat data iletimi olmadı receiver 0 veya başka değerler okuyor.
Adaptör kullanmanızı, farklı kodlar ve kütüphane denemenizi öneririm.
(Konu Dışı)
Merhaba Kolay gelsin. Benim merak ettiğim kısım sitenin yapısıyla alakalı. Normal anlatımınız ile kodları verdiğiniz kısım arasında (yazı tipinde veya yapısında) farklılıklar var. Bir siteye bu şekilde kodları yazabileceğimiz eklemeyi nasıl araştırmalıyız? Neyi nasıl araştıracağımızı bilmiyoruz aslında yardımcı olur musunuz?