Arduino Programm wird nich korrekt ausgeführt, kaputt?

Gast #3394303
Lesenswert?

Hallo,
ich habe eine Frage zu einem Arduino-Programm. Was ist hier falsch?
Ich sehe hier nichts Falsches. Mein Informatik-Lehrer sieht hier auch 
nichts Falsches.
1
/*
2
RGB-Led ansteuern.
3

4
Schreibe ein Programm, bei dem die Intensität der Farbe rot von wenig (0) bis zum
5
Maximum (255) kontinuierlich zunimmt. Erweitere Dein Programm so, dass dieses für die
6
Farben grün und blau wiederholt wird.
7
*/
8

9
int _rLed = A0;
10
int _gLed = A1;
11
int _bLed = A2;
12

13
void setup()
14
{
15
 pinMode(_rLed, OUTPUT); 
16
 pinMode(_gLed, OUTPUT); 
17
 pinMode(_bLed, OUTPUT); 
18
}
19

20
void loop()
21
{
22
  for(byte i = 0; i < 255; i++)
23
  {
24
   analogWrite(_rLed, i); 
25
   
26
   delay(10);
27
  }
28
  
29
  analogWrite(_rLed, 0); 
30
  
31
  for(byte i = 0; i < 255; i++)
32
  {
33
   analogWrite(_gLed, i); 
34
   
35
   delay(10);
36
  }
37
  
38
  analogWrite(_gLed, 0); 
39
  
40
  for(byte i = 0; i < 255; i++)
41
  {
42
   analogWrite(_bLed, i); 
43
   
44
   delay(10);
45
  }
46
  
47
  analogWrite(_bLed, 0); 
48
}


Ausgeführt wird aber folgendes Programm, obwohl völlig andere Pins 
benutzt werden, hä??:
1
/*
2
RGB-Led ansteuern.
3

4
1. Zunächst soll keine Farbe angezeigt werden.
5
2. Nach einer Sekunde soll für eine Sekunde rot angezeigt werden.
6
3. Nach einer weiteren Sekunde soll für eine Sekunde grün angezeigt werden.
7
4. Nach einer weiteren Sekunde soll für eine Sekunde blau angezeigt werden.
8
*/
9

10

11
int _rLed = 8;
12
int _gLed = 9;
13
int _bLed = 10;
14

15
void setup()
16
{
17
 pinMode(_rLed, OUTPUT); 
18
 pinMode(_gLed, OUTPUT); 
19
 pinMode(_bLed, OUTPUT); 
20
}
21

22
void loop()
23
{
24
  delay(1000);
25
  
26
  digitalWrite(_rLed, HIGH);
27
  delay(1000);
28
  digitalWrite(_rLed, LOW);
29
  
30
  
31
  delay(1000);
32
  
33
  
34
  digitalWrite(_gLed, HIGH);
35
  delay(1000);
36
  digitalWrite(_gLed, LOW);
37
  
38
  delay(1000);
39
  
40
  digitalWrite(_bLed, HIGH);
41
  delay(1000);
42
  digitalWrite(_bLed, LOW);
43
}

Ich habe das Programm bereits auf zwei Arduino Mega 2560 ausgeführt.
#3394358
Lesenswert?

Was steht denn im Logfenster nach dem compilieren und download?
War das zweite Programm auf beiden 2560 vorher drauf und der download 
geht schief?

Bist du sicher, dass die Ausgänge im ersten Programm richtig sind?
>int _rLed = A0;
>int _gLed = A1;
>int _bLed = A2;
Ich hatte verstanden, dass das Analog INs wären...
Gast #3394370
Lesenswert?

H.Joachim Seifert schrieb:
> Und woher weisst du, das das 2.Programm ausgeführt wird? Das
> rekonstruiert man ja nicht mal ebenso aus ein paar blinkenden LEDs. D.h.
> du hast dieses Programm schon mal geschrieben und übertragen.
> Also hast du ein Problem mit dem flashen des neuen Programms.

Also ich habe ein ähnliches Programm geschrieben, nur mit anderen Pins. 
Das tatsächlich dieses ausgeführt wird, scheint nicht der Fall zu sein. 
Der Arduino verhält sich aber wie das zweite Programm, wie der andere, 
obwohl dieser (baugleich) mit dem zweiten Programm nie in Berührung 
gekommen ist.
Gast #3394396
Lesenswert?

Ich würde mal mit einem 08/15-Blinkprogramm die ganze Kette Compiler bis 
incl. Loader überprüfen.
Am besten mit einem der mitgelieferten Beispiele.

Sinnvoll wäre es auch, wenn dieses nicht dem, bei der Auslieferung 
entspricht. Bei meinen waren Samples eingebrannt. Keine Ahnung ob das 
immer so ist.
#3395118
Lesenswert?

ardu schrieb:
> Ich kann AnalogWrite nicht an den Analog Pins vom Mega 2560 benutzen!?

Was sagt die Doku?
http://arduino.cc/de/Reference/AnalogWrite

Beachte insbesondere diesen Satz in der Doku
1
Die Funktion analogWrite() hat nichts mit den analogen Pins
2
oder der Funktion analogRead() zu tun.

Auch dein Lehrer sollte eigentlich wissen, dass man zuerst in der Doku 
nachsieht.

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