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
Mega2560 / Nano mit nRF24L01 verbinden
08.10.2019, 18:34 (Dieser Beitrag wurde zuletzt bearbeitet: 08.10.2019 18:39 von R_M.)
Beitrag #1
Question Mega2560 / Nano mit nRF24L01 verbinden
Hallo Leute,
ich beschäftige mich seit kurzem mit der Programmierung von Arduinos.
Momentan möchte ich zwei Arduinos (Mega2560 und Nano) miteinander "verbinden",
dazu habe ich mir zwei nRF24L01 Module gekauft.
Ein Beispiel aus dem Netz, bei dem "Hello World" von einem auf den Anderen übertragen wird konnte ich nachvollziehen, bei einem anderen Beispiel scheitere ich aber.
Ich möchte, dass auf Knopfdruck eine LED angeht.
Anbei die Beiden Sketche
Code:
// Transmitter

    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    RF24 radio(7, 8); // CE, CSN        
    const byte address[6] = "00001";     //Byte of array representing the address. This is the address where we will send the data. This should be same on the receiving side.
    int button_pin = 2;
    boolean button_state = 0;
    void setup() {
    pinMode(button_pin, INPUT);
    Serial.begin(9600);
    radio.begin();                  //Starting the Wireless communication
    radio.openWritingPipe(address); //Setting the address where we will send the data
    radio.setPALevel(RF24_PA_MIN);  //You can set it as minimum or maximum depending on the distance between the transmitter and receiver.
    radio.stopListening();          //This sets the module as transmitter
    }
    void loop()
    {
    button_state = digitalRead(button_pin);
    if(button_state == HIGH)
    {
    const char text[] = "Your Button State is HIGH";
    radio.write(&text, sizeof(text));                  //Sending the message to receiver
    Serial.println(text);
    }
    else
    {
    const char text[] = "Your Button State is LOW";
    radio.write(&text, sizeof(text));                  //Sending the message to receiver
    Serial.println(text);
    }
    radio.write(&button_state, sizeof(button_state));  //Sending the message to receiver
    
    delay(5);
    }
Code:
// Receiver

    #include <SPI.h>
    #include <nRF24L01.h>
    #include <RF24.h>
    RF24 radio(7,8); // CE, CSN
    const byte address[6] = "00001";
    boolean button_state = 0;
    int led_pin = 3;
    void setup() {
    pinMode(led_pin , OUTPUT);
    Serial.begin(9600);
    radio.begin();
    radio.openReadingPipe(0, address);   //Setting the address at which we will receive the data
    radio.setPALevel(RF24_PA_MIN);       //You can set this as minimum or maximum depending on the distance between the transmitter and receiver.
    radio.startListening();              //This sets the module as receiver
    }
    void loop()
    {
    if (radio.available())              //Looking for the data.
    {
    char text[32] = "";                 //Saving the incoming data
    radio.read(&text, sizeof(text));    //Reading the data
    radio.read(&button_state, sizeof(button_state));    //Reading the data
    if(button_state == HIGH)
    {
    digitalWrite(led_pin , HIGH);
    Serial.println("Your Button State is HIGH");
  
    }
    else
    {
    digitalWrite(led_pin , LOW);
    Serial.println("Your Button State is LOW");
    }
    }
    }

Das Problem ist, dass die LED wilkürlich an und aus geht.

Kann mir Jemand einen Tip geben was ich falsch gemacht habe.

Beste Grüße
Robert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
08.10.2019, 18:47
Beitrag #2
RE: Mega2560 / Nano mit nRF24L01 verbinden
Ich kenne Deine Module nicht aber lass doch mal den Text, der keinen interessiert bei der Übertragung auf beiden Seiten weg und sende nur den Status.

Ansonsten mache mehr serielle Ausgaben in den Empfänger rein und setze Serial.beginn mal auf 115200 und den seriellen Monitor auch.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Garagentorüberwachung mit nRF24L01+PA+LNA hat sehr geringe Reichweite SwissDarky 25 426 Gestern 21:33
Letzter Beitrag: hotsystems
  Steuerprogramm aus Matlab und Daten von Joystick miteinander verbinden Vithushan 2 191 27.09.2019 16:28
Letzter Beitrag: ardu_arne
Sad Sonderbares Verhalten von Relais Arduino Nano Sarkermann 7 277 20.09.2019 12:26
Letzter Beitrag: Bitklopfer
  Float array über NRF24L01 senden und empfangen Flo3107 6 380 04.09.2019 21:55
Letzter Beitrag: Tommy56
  nrf24l01 Fragen audis3stage4 9 1.249 08.05.2019 21:46
Letzter Beitrag: hotsystems
  Gelöst ==> Arduino Nano, Kommunikation mit PC bringt nicht korrekten ASCII moehrle 4 829 02.03.2019 22:04
Letzter Beitrag: hotsystems
  neue NANO + Arduino IDE whn 11 1.317 09.02.2019 09:45
Letzter Beitrag: MiKo
  Elektronischer Würfel (2W6) auf Arduino Nano - Warum Resets? Arduinero 7 651 20.01.2019 12:49
Letzter Beitrag: Arduinero
  Variablen zu einem CHAR verbinden und einbinden Frank_aus_WOB 3 843 02.01.2019 09:07
Letzter Beitrag: Tommy56
  drei Tasterfunktionen mit nRF24L01 Thor Wallhall 8 1.143 10.10.2018 15:55
Letzter Beitrag: Tommy56

Gehe zu:


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