INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Funkmodule - nRf24L01(p)
02.02.2014, 13:57 (Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2014 15:22 von derdemo.)
Beitrag #1
Funkmodule - nRf24L01(p)
Hallo,

ich habe nRf24l01 Funkmodule gekauft und versuche diese mit der nRf24L01p (kann auch eine andere Libary sein) Libary zum laufen zu bringen. Ich möchte das Beispiel Transceiver zum zum ersten Test nutzen.

   

Da ich nicht weiß wo ich die Pins am Beispiel einstelle, habe ich mich an den Beipielen aus dem Internet gehalten. Den Anschluß zwischen den Arduinos und den Funkmodulen habe ich wie folgt vorgenommen:

Arduino Uno <--------> Funkmodul nRf24L01
------------------------------------------------------
GND <--------> GND
3,3 V <--------> VCC
Pin 8 <--------> CE
Pin 7 <--------> CSN
Pin 13 <--------> SCK
Pin 11 <--------> MOSI
Pin 12 <--------> MISO
No used <--------> IRQ

Aus der Libary habe ich die Transceiver-Beispiele auf die Arduinos gespielt. Einen Arduino Uno mit PTX (Sender) und PRX (Empfänger).
   

Auswahl Beispiel:
   
Der Code lautet wie folgt:

Code PTX:
PHP-Code:
#include <SPI.h>
#include <nRF24L01p.h>

nRF24L01p transmitter(7,8);//CSN,CE

void setup(){
  
delay(150);
  
Serial.begin(115200);
  
SPI.begin();
  
//SPI.setClockDivider(SPI_CLOCK_DIV2);
  
SPI.setBitOrder(MSBFIRST);
  
transmitter.channel(90);
  
transmitter.RXaddress("Prado");
  
transmitter.TXaddress("Artur");
  
transmitter.init();
  
Serial.println("I'm PTX as transceiver");
}

String message;
String PRXsays;

void loop(){
  if(
Serial.available()>0){
    
char incomming=Serial.read();
    if(
incomming=='\n'){
      
transmitter.txPL(message);
      
transmitter.send(SLOW);
      
message="";
    }
    else{
      
message+=incomming;
    }
  }
  if(
transmitter.available()){
    
transmitter.read();
    
transmitter.rxPL(PRXsays);
    
Serial.print("PRX says: \"");
    
Serial.print(PRXsays);
    
Serial.println("\"");
    
Serial.println();
    
PRXsays="";
  }


Code PRX:
PHP-Code:
#include <SPI.h>
#include <nRF24L01p.h>

nRF24L01p receiver(7,8);//CSN,CE
String message;
int iteration=0;

void setup(){
  
delay(150);
  
Serial.begin(115200);
  
SPI.begin();
  
//SPI.setClockDivider(SPI_CLOCK_DIV2);
  
SPI.setBitOrder(MSBFIRST);
  
receiver.channel(90);
  
receiver.TXaddress("Prado");
  
receiver.RXaddress("Artur");
  
receiver.init();
  
delay(3000);
  
Serial.println("I'm PRX as transceiver");
  
receiver.txPL("Hi PTX. I'm ready.");
  
receiver.send(SLOW);
  
receiver.txPL("tell me the library's name");
  
receiver.send(SLOW);
}

void loop(){
  if(
receiver.available()){
    
message="";
    
receiver.read();
    
receiver.rxPL(message);
    
Serial.print("PTX says: \"");
    
Serial.print(message);
    
Serial.println("\"");
  }else{
    
message="";
  }
  
delay(20);
  if(
message=="nRF24L01p"){
    
message="**You're right ";
    
message+=String(iteration);
    
message+="**";
    
receiver.txPL(message);
    
receiver.send(SLOW);
    
Serial.println("***The nRF24L01p library***");
    
Serial.println("It works");
    
Serial.println();
    
iteration++;
  }else if(
message.length()>0){
    
receiver.txPL("That's not the name");
    
receiver.send(SLOW);
    
Serial.println("PTX is wrong");
    
Serial.println();
  }


Bei den seriellen Monitoren bekomme ich beim Sender ständig Werte ausgegeben, beim Empfänger hingegen nicht.

Serieller Monitor:
   
Wie muss ich vorgehen, damit ich dies zum Laufen bekomme?

Vielen Dank im Voraus!

Gruß Jochen


EDIT: Extern verlinkte Bilder entfernt und hier im ArduinoForum.de als Anhang hochgeladen ... Bitte in Zukunft keine extern verlinkten Bilder mehr nutzen !
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.02.2014, 14:47
Beitrag #2
RE: Funkmodule - nRf24L01(p)
Hallo,

ich bin leider immernoch nicht zur Lösung gekommen. Was könnte der Grund dafür sein, dass das Beispiel bei mir nicht funktioniert?

Gruß Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
12.02.2014, 23:07
Beitrag #3
RE: Funkmodule - nRf24L01(p)
Hallo Jochen,

diese Library kenne ich nicht - kann also auch nicht sagen, ob sie funktioniert. Was bei mir aber gut funktioniert ist diese Library:
http://maniacbug.github.io/RF24/index.html

Vielleicht testest Du diese mal - da könnte ich Dir bei Problemen auch helfen.
Viele Grüße
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.02.2014, 22:21
Beitrag #4
RE: Funkmodule - nRf24L01(p)
Hi Itsy,

Danke für den Tipp. Werde ich diese Woche ausprobieren.

Gruß Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.03.2014, 22:25
Beitrag #5
RE: Funkmodule - nRf24L01(p)
Hallo Itsy,

leider habe ich es immernoch nicht geschafft, die nrF24L01 Module zum Laufen zuu bringen. Ich habe die von dir Vorgeschlagene Bibliothek verwendet (RF24).

Mit der von dir vorgeschlagenen Dokumentation habe ich wie folgt verkabelt:

[Bild: ITS-IM120606002f.jpg]

nrf24l01 <---> Arduino Uno
______________________
GND <---> GND
3V3 <---> 3V3
CE <---> 9
CSN <---> 10
SCK <---> 13
MOSI <---> 11
MISO <---> 12

Ich habe die Verkabelung mehrmals überprüft und neu gesetzt.

Damit mein Problem besser zu verstehen ist,
habe ich hier ein Desktopvideo mit dem Beispiel GettingStarted und test pingpairs erstellt:

https://www.youtube.com/watch?v=woWSxUSt...e=youtu.be


Es wäre super, wenn wir das zum Laufen bringen würde!
Vielen Dank im Voraus!

Grüße Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.03.2014, 23:41
Beitrag #6
RE: Funkmodule - nRf24L01(p)
Hallo Jochen,

also als erstes fällt mir auf, dass Du keine "+" Version hast - das Beispiel ist laut Info im Sketch für die +-Version. Ich kenne aber außer der Geschwindigkeit nicht genau die Unterschiede und denke nicht, dass es daran liegt.

In der ersten Übersicht siehst Du, dass keine Adressen im NRF gespeichert wurden. Bei mir schaut das so zum Beispiel aus und wird mit der Initialisierung im Sketch gesetzt:

RX_ADDR_P0-1 = 0xe7e7e7e7e7 0xf0f0f0f0d2

Andere Werte sind auch nicht gesetzt. Also entweder hast Du wirklich einen Fehler in der Verkabelung oder die Dinger sind hin. Da Du aber bei beiden System 0-Werte hast, vermute ich Probleme mit der Verkabelung.

Hier nochmal ein anderes Bild. Hast Du genau so verkabelt?

http://avrproject.ru/nrf24l01/pinout_nrf24l01.jpg

Viele Grüße
itsy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.03.2014, 18:56
Beitrag #7
RE: Funkmodule - nRf24L01(p)
Hallo Itsy,

ich habe nun zur Sicherheit neue Kabel verwendet. Diese habe ich angeschlossen und genauestens bei der Verkabelung geachtet. Leider bekomme ich wieder nur Nullen. Hast du noch eine Idee?

Gruß Jochen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.03.2014, 19:58
Beitrag #8
RE: Funkmodule - nRf24L01(p)
Welche Funk-Module hast du verwendet?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  nRF24L01 im Batteriesparbetrieb alpenpower 4 109 01.12.2016 16:28
Letzter Beitrag: MeisterQ
  nRF24L01 und Arduino UNO AvrRobot 0 86 10.11.2016 17:24
Letzter Beitrag: AvrRobot
  Arduino Nano + Funkmodul nRF24L01+ luxusl 1 805 26.02.2016 17:05
Letzter Beitrag: arduinopeter
  Funkmodule scritch 24 2.919 30.09.2015 16:10
Letzter Beitrag: HaWe
  nRF24L01 Funk + RF24 Lib MeRo113 25 6.588 05.05.2015 14:11
Letzter Beitrag: coyote
  Arduino Nano Shield mit Spannungsversorgung und NRF24L01 ArduPI 2 1.572 24.01.2015 18:44
Letzter Beitrag: ArduPI

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste