nRF24L01 modülü ile 2 kit arası haberleşme sağlama

Mega ve UNO kit arasında veri alışverişi yapmak istiyorum. Mega kit verici devre konumunda. Modülün gerekli bağlantılarını yaptım ve ek olarak bir de joystick bağladım. UNO kit(alıcı) devre tarafında ise joystickten gelen değeri yorumlayarak istenilen işi yapacak. Kaynak olarak buradaki kodları kullandım. http://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo 2 kitte de aşağıdaki modül-kit bağlantılarını gerçekleştirdim. 1 - GND 2 - VCC 3.3V 3 - CE to Arduino pin 9 4 - CSN to Arduino pin 10 5 - SCK to Arduino pin 13 6 - MOSI to Arduino pin 11 7 - MISO to Arduino pin 12 8 - UNUSED Ek olarak Verici(Mega) devrede A0 ve A1 pinlerine joystick’in pinlerini bağladım ve beslemelerini yaptım. Alıcı(UNO) devresinde ise 1 led kullandım ve joystickten gelen değere göre ledin yanmasını sağlamak istedim. Verici Devre: #include “SPI.h” #include “nRF24L01.h” #include “RF24.h” #define VRx A0 #define VRy A1 int VRxPos = 90; int VRyPos = 90; int msg[1]; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; void setup(){ radio.begin(); radio.openWritingPipe(pipe); } void loop(){ VRxPos = analogRead(VRx); VRxPos = map(VRxPos, 0, 1023, 0, 180); VRyPos = analogRead(VRy); VRyPos = map(VRyPos, 0, 1023, 0, 180); if((VRxPos==88) && (VRyPos==85)) { msg[0] = 111; radio.write(msg, 1); } else { msg[0] = 112; radio.write(msg, 1); } } ------------------- Alıcı devre #include “SPI.h” #include “nRF24L01.h” #include “RF24.h” int msg[1]; RF24 radio(9,10); const uint64_t pipe = 0xE8E8F0F0E1LL; int LEDpin = 3; void setup() { radio.begin(); radio.openReadingPipe(1,pipe); // ??? ??? ?? 6-?? ??? ??? radio.startListening(); pinMode(LEDpin, OUTPUT); } void loop() { if (radio.available()){ bool done = false; while (!done){ done = radio.read(msg, 1); if (msg[0] == 111){ delay(10); digitalWrite(LEDpin, HIGH); } else { digitalWrite(LEDpin, LOW); } delay(10); } } } Bunu yapıyorum fakat LED yanmıyor. Yardımcı olabilecek biri varsa çok sevinirim problem nerededir acaba ?

Nerede takılı kaldığını bulmak için Sırasıyla kontrol etmende fayda var. Mesela önce joystick hareketini mega kartın serial monitöründe izle.Genelde başlangıçtaki küçük hatalar sorun çıkarır. _________________________________ ***Buraya bi print atıp gelen değeri gör. if((VRxPos==88) && (VRyPos==85)) { msg[0] = 111; radio.write(msg, 1); } else _________________________________ eğer megada gelen değer senin şartları sağlıyorsa birde uno karttaki kısımda done = radio.read(msg, 1); ***Bu araya bi print atıp gelen değeri gör. if (msg[0] == 111){ _________________________________ zaten bu iki kısımda şartların sağlanıyorsa çalışır.

@mcaglarm hocam sizinle birebir kontak kurabileceğim bir e-mail adresiniz var mı. konunun altını kirletmek istemiyorumda

,

Megada MİSO-MOSI bir de ismini hatırlamadığım pin :slight_smile: yerleri farklıdır tam hatırlamıyorum ama başka girişleri var, bir de veri gönderirken listelememi ne onu açman lazım gönderdikten sonra da kapatman.

mega ve uno da spi port kullanımları farklıdır arduino.cc de spi sayfasına bir bakın