Arduino arret du programe?

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

salut, Je suis en train d'apprendre a utilise mon arduino, je suis en train d'essayer d’utiliser les tableaux, j'ai donc fait un petit montage et le programme, problème, tout c'est arrêter au bout de quelque cycle… une idée???

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const int led[2] ={2,3};
void setup() {
  int i =0;
  for(i=0; i<3; i++)
  {
    pinMode(led[i], OUTPUT);
    digitalWrite(led[i], HIGH);
  }

}

void loop() {
 int i = 0;
 for(i=0; i<3; i++)
 {
   digitalWrite(led[i], LOW);
   delay(500);
 }
  for(i=0; i<3; i++)
 {
   digitalWrite(led[i], HIGH);
   delay(500); 
 }

}

Le programme allume 2 LED, puis les éteint, puis recommence…

Édité par anonyme

+0 -0
Staff

Cette réponse a aidé l'auteur du sujet

Salut, il y a un truc qui m'embête :

1
const int led[2] ={2,3};

crée un tableau de 2 leds

A l'opposé

1
2
3
4
5
  for(i=0; i<3; i++)
 {
   digitalWrite(led[i], HIGH);
   delay(500); 
 }

parcourt un tableau de trois cases.

J'ai tendance à penser qu'il va rapidement dire qu'il y a une erreur.

+0 -0

Cette réponse a aidé l'auteur du sujet

bah tu lui fais faire des seg fault là non?

dans le doute, dans tes deux boucvles for, mets i<2, et dis-nous si ça marche mieux :P

EDIT: ha bah j'ai ouvert le lien avant la réponse de artragis, mais la même chose me choquait.

Oui. Non. Attends, je regarde mieux et je te dis.

+0 -0

pis dans la foulée, quand on donne un tableau de n leds, le dernier indice du tableau c'est n-1, et pas le n° de pin de la derniere Led. je pense que l'erreur est venue d'une étourderie de ce genre :P

Oui. Non. Attends, je regarde mieux et je te dis.

+0 -0
Staff

Yep, il faut se souvenir qu'en informatique un tableau commence a la case 0 et non pas 1 ;)

Eskimon

Non non non, ce sont pas les informaticiens qui font pas comme tout le monde, ce sont les autres gens qui comptent les cases n'importe comment :-°

+6 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte