Hallo,
Ich schreibe gerade ein Code für RC-Sender und RC-Empfänger(Futterboot) was auch in einer Richtung sehr gut funktioniert.
In meinem Beispiel versende ich ein Potiwert für die Beschleunigung.
Nun würde ich gern empfangene Daten gleich zurück an den Sender/TFT-Display schicken.
Irgend wie hab ich mich festgefahren, könnte bitte jemand mein Code ansehen?
Danke im voraus.
Sender:
#include <SPI.h>
#include "RF24.h"
#include "nRF24L01.h"
RF24 radio(8, 9);
byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"};
int Acceleration = 92; //Poti
void setup() {
Serial.begin(9600);
radio.begin ();
radio.setAutoAck (1);
radio.setRetries (15, 15);
radio.enableAckPayload ();
radio.setPayloadSize (32);
radio.openWritingPipe (address [0]);
radio.openReadingPipe(1, address[0]);
radio.setChannel (0x60);
radio.setPALevel (RF24_PA_MAX);
radio.setDataRate (RF24_250KBPS);
radio.powerUp ();
}
void loop() {
Serial.print("Sende: "); Serial.println(Acceleration);
radio.write(&Acceleration, int(Acceleration));
delay(1000);
}
Empfänger:
#include <SPI.h>
#include "nRF24L01.h"
#include "RF24.h"
RF24 radio(8, 9); // NRF24l01+pa+lna Funk
byte address[][6] = {"1Node", "2Node", "3Node", "4Node", "5Node", "6Node"};
int SendeMich = 2020;
void setup() {
Serial.begin(9600);
radio.begin ();
radio.setAutoAck (1);
radio.setRetries (15, 15);
radio.enableAckPayload ();
radio.setPayloadSize (32);
radio.openReadingPipe(1, address[0]); //open ok, wo/wie wird die geschlossen?
radio.setChannel (0x60);
radio.setPALevel (RF24_PA_MAX);
radio.setDataRate (RF24_250KBPS);
radio.powerUp ();
radio.startListening();
}
void loop() {
byte pipeNo; // verstehe ich nicht ;(
int gotByte;
while ( radio.available(&pipeNo)) {
radio.read( &gotByte, int(gotByte) );
Serial.print("Empfange: "); Serial.println(gotByte);
}
delay(500);
}
