• Hallo Zusammen, Aufgrund der aktuellen Situation setzten wir die Möglichkeit aus, sich mit Gmail zu registrieren. Wir bitten um Verständnis Das RCMP Team

Praxisbericht NRF24L01 2,4 GHz Sende und Empfangsmodul für Arduino

BAXL

Admin
Mitarbeiter
Ich nehme auch die 3,3V Versorgung des Arduinos für das NRF Powermodul.
Aber den Arduino selbst wird mit einem 9V Block Akku versorgt. Da ist doch der GND im Arduino doch eh gebrückt.:unsure:

Und wenn ich den Arduino mit USB-5V betreibe (NRF Modul wird immer noch mit 3,3 V des Arduinos betrieben), sind meine Probleme weg.
Hallo Runni,

die NRF24 sind richtige Stromfresser, die können im Sendebetrieb locker bis zu 100mA verputzen, ob deshalb die Batterie so schnell leergezogen wird kann ich schlecht sagen, denn der Arduino konsumiert ebenfalls einiges und je nach zusätzlicher Beschaltung (LEDs, Display, Sensoren usw.), kommt noch was obendrauf.
Die Spannungsversorgung mit 9V Batterie (oder ist es vielleicht ein Akku?) scheint für Deine Applikation nicht ausreichend zu sein.

Edit:

wie wäre es, wenn Du mal ein Bild von Deiner Verschaltung zeigst?
Ich habe das Gefühl, dass da einiges nicht richtig ist. Was genau ist eigentlich für Dich ein "NRF-Powermodul"?
Ist das eine Zusatzplatine, in die Du den NRF einsteckst?
 
Zuletzt bearbeitet:

TestRCBuild

Mitglied
Ich hab mal ne Frage dazu
ich will mit der tool struct mehrere Variablen zusammenfassen und versenden.
wie kann ich die einzelnen Variablen beim Emfänger wieder vereinzeln sodass ich sie verarbeiten kann?
 

TestRCBuild

Mitglied
was hab ich da verkehrt gemacht?
will nicht funktionieren...

mein ziel ist ne Fernsteuerung eines Bootes.

so sieht mein void loop beim sender aus:

void loop()
{
bool SLa = digitalRead(XLa); // Wahlschalter Licht 1
bool SLb = digitalRead(XLb); // Wahlschalter Licht 2
/*
SRL = analogRead(XRL); // Linearwiderstand Rechts/Links
SGE = analogRead(XGE); // Linearwiderstand Geschwindigkeit
SVB = digitalRead(XVB); // Wahlschalter Vor/Zurück
*/
struct Wert { int SGE; int SRL; bool SLa; bool SLb; bool SVB;} Sendung;
radio.write(&Sendung, sizeof(Sendung));

delay(100);
}

so bei Empfänger:

void loop()
{
if (radio.available()) //Looking for the data.
{
Serial.println("empfange!");
struct Wert { int EGE; int ERL; bool ELa; bool ELb; bool EVB;} Sendung;
//Serial.println("empfange!");
radio.read(&Sendung, sizeof(Sendung));
 

BAXL

Admin
Mitarbeiter
Hast Du statt bool mal Byte ausprobiert? Manchmal hat der Datentyp einen Einfluss. Ich kann Dir nicht erklären warum, aber ist mir auch schon passiert.
Aber was genau funktioniert nicht?
 

TestRCBuild

Mitglied
also ich hab paar schalter die einfach nur beim empfänger 2 od. 3 digital pins steuern für die Lichtsteuerung von einem 3. Arduino

ich hab die arduinos pin auf pin gesteckt mit nem Widerstand zu GND ist das richtig?

mein versuch bisher war die übertragung der licht wahl weil wenn die variablen gesendet sollten auch die Variablen des Antriebes es schaffen

ist es eigentlich ein problem wenn der sender nur alle 100ms sendet und der Empfänger unter 100ms braucht im loop?
 
Top Bottom