Arduino Uno Programm auf Micro

Gast #5037387
Lesenswert?

Liebe Community ich bitte um Hilfe!
Ich scheitere an dem Versuch ein Programm das auf einem Arduino Uno 
super funktioniert, auf einen Arduino Micro zu übertragen.
Gibt es etwas, dass ich beim übertragen auf den Micro beachten muss?

Hier zum Programm
1
#include <SPI.h>  
2
#include "RF24.h" 
3

4
RF24 myRadio (7, 8); 
5

6
byte addresses[][6] = {"0"}; 
7

8
int i=0;
9
int x=0;
10

11
int ausgabe=0;
12

13
void setup() 
14
{
15
   pinMode(4,OUTPUT);
16
  Serial.begin(115200);
17

18

19
  myRadio.begin(); 
20
  myRadio.setChannel(115); 
21
  myRadio.setPALevel(RF24_PA_MAX);
22
  myRadio.setDataRate( RF24_250KBPS ) ; 
23
  myRadio.openReadingPipe(1, addresses[0]);
24
  myRadio.startListening();
25

26

27

28
}
29

30
void loop()  
31
{
32
  int z;
33
  
34
  if (myRadio.available()){
35
     i=150;
36
     myRadio.read(&z, sizeof(int));
37
     Serial.println("Ein, z = "+String(z));
38
  }
39
  if(i>0)i--;
40
  digitalWrite(4,i>0);
41
  
42
  ausgabe++;
43
  if(ausgabe==100){
44
     ausgabe=0;
45
     // Ausgabe
46
     if (i>0)
47
     { 
48
     Serial.println("Ein, i = "+String(i));
49
     
50
     }
51
     else Serial.println("Aus, i = "+String(i));
52
     
53
  }
54

55
  delay(10); 
56
 
57
}
Gast #5037445
Lesenswert?

Ziel ist es zwischen 2 Arduinos mit Hilfe des Funksensors nrf24l01 zu 
kommunizieren. Als Sender und Empfänger werden jeweils 1 Arduino Uno und 
ein nrfl24l01 verwendet. Sobald der Sender eingeschalten wird sendet er 
ein Signal. Erkennt der 2. Arduino, sprich der Empfänger das Signal, 
schaltet er über den Pin 4 einen Transistor. Dieser Transistor schaltet 
wiederum eine 9v Lampe.
Wird das Signal vom Empfänger erkannt, setzt er einen internen Timer auf 
150ms, dieser Timer wird jede Sekunde um 100ms reduziert. Also dh. die 
Lampe brennt nur wenn der Sender sendet.

Dieser Versuch klappte mit Verwendung 2er Arduino Uno einwandfrei.
Jetzt möchte ich als Empfänger einen Arduino Micro statt dem Uno 
verwenden.
Ich habe bereits den Arduino Micro mit dem nrf24l01 verbunden und das 
gleiche Programm wie auf dem Uno hochgeladen.
Bei Verwendung des Micros funktioniert das gegebene Setup nicht. Der 
Arduino Micro erkennt kein Signal. Das einzige dass er macht wenn man 
den Arduino mit Spannung versorg, ist den Pin 4 einzuschalten und das 
zwar dauerhaft.
Habe ich etwas nicht beachtet?

Sender Programm:
1
#include <SPI.h>  
2
#include "RF24.h"
3

4
RF24 myRadio (7, 8);
5
byte addresses[][6] = {"0"};
6

7
void setup()
8
{
9
  Serial.begin(9600);
10
  
11
  myRadio.begin();  
12
  myRadio.setChannel(115); 
13
  myRadio.setPALevel(RF24_PA_MAX);
14
  myRadio.setDataRate( RF24_250KBPS ) ; 
15
  myRadio.openWritingPipe( addresses[0]);
16
  
17
}
18

19
void loop()
20
{ int x =0;
21

22
  myRadio.write(&x,sizeof(int)); 
23
  Serial.print("EIN");
24
  delay(1000);
25

26
}

So sieht der Funktionsablauf des Programms in etwa aus.
Angehängte Dateien:
Gast #5037561
Lesenswert?

Danke für die Anteilnahme!
Ich hab den Fehler selbst gefunden.
Um den nrf24l01 mit dem Micro zu verwenden muss diese Zeile
1
RF24 myRadio (7, 8);

in
1
RF24 myRadio (9, 10);

im Empfängerprogramm geändert werden.

Danke an alle für den Versuch mir zu Helfen

Lg
Beitrag #5037572 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren