Probleme mit nRF24L01+ in kombination mit RC5 RF522 (Arduino UNO)

OP #7625955
Lesenswert?
• ▲
▼

Hallo zusammen, ich versuche meinen Beitrag so genau wie möglich zu beschreiben. Bitte habt Rücksicht bei Formatierungsfehlern etc. bin neu hier.

Ich habe zwei Aufbauten auf einem Breadboard. Darauf eine Spannungsversorgung von AZDelivery - MB102. (Diese Dinger mit einem Steckbrücker von 3,3V oder 5V) Beitrieben mit 9V/1A Netzteil

Dann habe ich das Funkmodul nRF24L01+ und einen RFID RC522 Leser angeschlossen. Den Arduino und die extrene Spannungsversorgung habe ich mit Masse verbunden.

Soweit sogut. Nach einigen Problemen in der Kombination habe ich einen Code soweit herunter gebrochen, sodass ich nun nur noch einfache Integer Zahlen sende. Also ein simpler Code zum Senden und empfangen. So kann ich schon mal den Fehler Code auschließen.

Problem: Es funktioniert nicht, wenn ich den RFID Leser und das nRF24L01+ gleichzeitig angeschlossen habe. Der RFID Leser funktioniert auch so aber das nRF24L01+ macht Probleme.

Ich habe beide an die SPI Pins der UNOs angeschlossen und natülich die CE, CSN, RST und SDA getrennt auf Digitale Pins.

Wenn ich den RFID Leser abschließe funktioniert das Senden und Empfangen ohne Probleme.

Die Spannungen sind stabiel bei 3,3V für beide Module.

Code zum empfangen

1
#include <SPI.h>
2
#include <RF24.h>
3

4
#define CE_PIN   2
5
#define CSN_PIN  3
6

7
RF24 radio(CE_PIN, CSN_PIN);
8

9
void setup() {
10
  Serial.begin(9600);
11
  radio.begin();
12
  radio.openReadingPipe(1, 0xE8E8F0F0E1LL); // Öffnet das Leserohr 1 mit der Adresse
13
  radio.setChannel(76); // Setzt den Kanal für die Kommunikation
14
  radio.startListening(); // Beginnt mit dem Empfang von Daten
15
}
16

17
void loop() {
18
  if (radio.available()) { // Überprüft, ob Daten verfügbar sind
19
    int receivedData; // Variable zur Speicherung der empfangenen Daten
20
    radio.read(&receivedData, sizeof(receivedData)); // Liest die empfangenen Daten
21
    Serial.print("Empfangene Daten: ");
22
    Serial.println(receivedData); // Gibt die empfangenen Daten aus
23
  }
24
}

Code zum Senden

1
#include <SPI.h>
2
#include <RF24.h>
3

4
#define CE_PIN   2
5
#define CSN_PIN  3
6

7
RF24 radio(CE_PIN, CSN_PIN);
8

9
void setup() {
10
  Serial.begin(9600);
11
  radio.begin();
12
  radio.openWritingPipe(0xE8E8F0F0E1LL); // Öffnet das Schreibrohr mit der Adresse
13
  radio.setChannel(76); // Setzt den Kanal für die Kommunikation
14
}
15

16
void loop() {
17
  sendData();
18
  delay(1000);
19
}
20

21
void sendData() {
22
  for(int i = 0; i<100; i++){
23
  // Daten senden
24
  bool success = radio.write(&i, sizeof(i));
25
  if (success) {
26
    Serial.print("Daten gesendet: ");
27
    Serial.println(i); // Wert der gesendeten Daten ausgeben
28
  }
29
   else {
30
    Serial.println("Fehler beim Senden der Daten.");
31
  }
32
  delay(1000);
33
  }
34
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.