Hallo, guten Tag. Ich habe hier 2 Programme für den Arduino. Einmal wird 1 Byte gesendet und vom anderen Programm 1 Byte empfangen. Beide Programme funktionieren. Wie kann man jetzt bitte beide Programme zusammenlegen, das je ein rf24 sendet und empfängt, und ein Echo zb zurücksendet. Und das eine Programm auf 2 Arduino zum Einsatz kommt und die Aufgabe erfüllt. Danke. Gruss 1 Byte-senden:
1 | #include <SPI.h> |
2 | #include <nRF24L01.h> |
3 | #include <RF24.h> |
4 | |
5 | #define CE_PIN 53 |
6 | #define CSN_PIN 48 |
7 | |
8 | byte inbyte; |
9 | byte daten[1]; |
10 | |
11 | const uint64_t pipe = 0xE8E8F0F0E1LL; |
12 | RF24 radio(CE_PIN, CSN_PIN); |
13 | |
14 | void setup() |
15 | {
|
16 | Serial.begin(9600); |
17 | delay(1000); |
18 | radio.begin(); |
19 | radio.setRetries(0, 15); |
20 | radio.setPALevel(RF24_PA_HIGH); |
21 | radio.openWritingPipe(pipe); |
22 | }
|
23 | |
24 | void loop() |
25 | {
|
26 | inbyte = inbyte+1; |
27 | daten[0] = inbyte; |
28 | radio.write(daten, sizeof(daten)); |
29 | }
|
1 Byte-empfangen:
1 | #include <SPI.h> |
2 | #include <nRF24L01.h> |
3 | #include <RF24.h> |
4 | |
5 | #define CE_PIN 53 |
6 | #define CSN_PIN 48 |
7 | |
8 | const uint64_t pipe = 0xE8E8F0F0E1LL; |
9 | RF24 radio(CE_PIN, CSN_PIN); |
10 | |
11 | byte daten[1]; |
12 | |
13 | void setup() |
14 | {
|
15 | Serial.begin(9600); |
16 | delay(1000); |
17 | radio.begin(); |
18 | radio.setRetries(0, 15); |
19 | radio.setPALevel(RF24_PA_HIGH); |
20 | radio.openReadingPipe(1,pipe); |
21 | radio.startListening(); |
22 | }
|
23 | |
24 | void loop() |
25 | {
|
26 | if ( radio.available() ) |
27 | {
|
28 | bool done = false; |
29 | while (!done) |
30 | {
|
31 | done = radio.read( daten, sizeof(daten) ); |
32 | Serial.print("X = "); |
33 | Serial.println(daten[0]); |
34 | }
|
35 | }
|
36 | else
|
37 | {
|
38 | Serial.println("No radio available"); |
39 | }
|
40 | }
|