Forum: Mikrocontroller und Digitale Elektronik Arduino Uno Programm auf Micro


von brandi1409 (Gast)


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
}

von Stefan S. (chiefeinherjar)


Lesenswert?

Ja klemmt es denn?
Ohne Fehlermeldung oder sonstige Informationen wie ein Foto vom Aufbau 
bzw. Der Schaltung kann man dir nicht helfen.

von brandi1409 (Gast)


Angehängte Dateien:

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.

von Brain 2.0 (Gast)


Lesenswert?

Der micro hat gegenüber dem Uno andere Pinbelegung.
Auch die SPI-Pins liegen anders.
Vergleiche mal die Pinouts beider Platinen.
Wenn du den Nano verwendest, der ist kompatibel zum Uno.

von Mitlesa (Gast)


Lesenswert?

brandi1409 schrieb:
> Habe ich etwas nicht beachtet?

Den Aufbau. Zeig ihn uns.

von Stefan S. (chiefeinherjar)


Lesenswert?

brandi1409 schrieb:
> Habe ich etwas nicht beachtet?


Stefan S. schrieb:
> wie ein Foto vom Aufbau
> bzw. Der Schaltung kann man dir nicht helfen.

von brandi1409 (Gast)


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

von Brain 2.0 (Gast)


Lesenswert?

brandi1409 schrieb:
> Danke an alle für den Versuch mir zu Helfen

Du musst dir nur helfen lassen.

Wenn du deine Kabel auf andere Pins legst, können wir das nicht sehen, 
auch weil du Schaltbild und Aufbau geheim hältst.

Beitrag #5037572 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.