[RESOLU] problème avec IF ELSE

bonjour à tous

voilà c'est tout simple, j'ai beau lire et relire les tutos, je ne vois pas où je me trompe?
puis je vous solliciter pour me dire où est mon erreur?
je débute et j'ai fait ce petit programme pour apprendre à me servir de if et else.

int LED1=2;
int LED2=3;
int LED3=4;
int reset=5;
void setup()
{  
pinMode(LED1, OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(reset,OUTPUT);
pinMode(8,INPUT);
}
void loop()
if (8 == false)
{
digitalWrite(LED1,HIGH);
delay(300);
digitalWrite(LED1,LOW);
delay(300);
LED1=LED1+1;
}
else
{
  int LED1=2;
}
[code/]

merci

HS: il y a une section presentation?

ém

désolé je viens de voir que je n'étais pas dans la bonne section ...

dans tout les tutos on vient lire une valeur analogique, mais peut on lire seulement un état?
je ne sais pas si mon programme est comprehensible, donc je vais expliquer ce que je veux qu'il fasse:
j'allume les leds 1,2,3 à la suite chacune leur tour, puis quand la broche 5 passe à 1(niveau haut) , la broche 8 passe à 1 et le cycle recommence à la broche 2 et ainsi de suite.
c'est simplement pour utiliser IF et ELSE, j'imagine qu'il y à d'autres technique pour faire cela.

if (8 == false)

Cette ligne compare 8 avec false donc elle retourne toujours false et ne sert à rien.
Pour tester l'état d'une entrée il faut utiliser digitalRead() e qui donne:

if (digitalRead(8) == false)

Oui il y a une section présentation. Dans le bar, il y a un fil présentez-vous.

merci pour votre aide, j'ai modifié et j'ai toujours la même erreur dans les IF et ELSE.
quand je compile il me marque:

 This report would have more information with
 "Show verbose output during compilation"
 enabled in File > Preferences.
Arduino: 1.0.6 (Windows Vista), Board: "Arduino Uno"
essai_if_else:17: error: expected initializer before 'if'
essai_if_else:25: error: expected unqualified-id before 'else'

je l'ai réécrit comme ça:

int LED1=2;
int LED2=3;
int LED3=4;
int reset=5;
int entree8=8;
void setup()
{  
pinMode(LED1, OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
pinMode(reset,OUTPUT);
pinMode(entree8,INPUT);

}
void loop()
if (digitalRead(entree8) == LOW)
{
digitalWrite(LED1,HIGH);
delay(300);
digitalWrite(LED1,LOW);
delay(300);
LED1=LED1+1;
}
else
{
int LED1=2;
}

Il manque une accolade ouvrante après loop()
Il en manque une aussi à la fin de loop.

void loop()
{                                         // <=====
    if (digitalRead(entree8) == LOW)
    {
        digitalWrite(LED1,HIGH);
        delay(300);
        digitalWrite(LED1,LOW);
        delay(300);
        LED1=LED1+1;
    }
    else
    {
       int LED1=2;
    }
}                                         // <=====

super!!!
merci beaucoup, je n'avais pas compris comment se gérait les accolades, il faut donc ouvrir et fermer deux fois.
génial.

Pour chaque accolade ouvrante, il doit y avoir une fermante.
Le bloc d'instructions d'une fonction doit être encadré par une paire d'accolades.

La bonne habitude à prendre, c'est d'indenter les lignes après chaque ouverture d'accolade et réduire l'indentation après chaque fermeture d'accolade ainsi ou visualise mieux les blocs de code et on risque moins d'oublier des accolades. La plupart des éditeurs modernes gèrent l'indentation automatiquement.

Oui j'avais noté pour les fonctions, mais j'avais pas fait attention à la petite nuance de sens. J'avais essayé d'en mettre ouverte avant if et fermé après if mais pas bon, j'ai essayé de mettre le if dans les accolades de fonction , pas bon non plus, mais ouvrir deux fois de suite, puis fermer deux fois de suite, je n'y avais pas pensé.
Sinon mon code marchait pas du tout, je l'ai tout modifié et maintenant c'est bon.
Je le mettrai demain soir au cas où.
Merci encore.

Oui, montre-nous ton code, car c'est bizarre : il ne faut pas deux accolades normalement.

choses promises!

int LED1=2;
int LED2=3;
int LED3=4;

void setup()
{  
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(LED3,OUTPUT);
}
void loop()
{
  if (LED1<5)
{
digitalWrite(LED1,HIGH);
delay(100);
digitalWrite(LED1,LOW);
delay(50);
LED1=LED1+1;
}
else
{
  LED1=LED1-3;
}
}

ça marche nickel!

Si tu indentaiss, tu verrais qu'il y a juste ce qu'il faut d'accolades. tes 2 accolades successives sont pour clore le "else" et la fonction loop().

Tant que tu n'est pas parfaitement à l'aise avec le langage Arduino, prends l'habitude de mettre des commentaires dans tes programmes.
Les dernières lignes devraient être :

} // fin du IF
else
{
LED1=LED1-3;
} // fin du else
} // fin de loop()

ces commentaires "// fin de" sont sujets à erreur, car une accolade supprimée ou ajoutée change leur sens.

Avec un bon éditeur et une bonne indentation, il suffit de voit les accolades ouvrante et fermantes bien alignées, et certains éditeurs les mettent en surbrillance, voire proposent des systèmes d'ouverture/fermeture de régions

Oui je prends note.
Je n'ai rien mis car le programme est très court et très simple, mais bien sûr après, je prendrais le temps de bien remplir mes lignes pour m'y retrouver quand je voudrais modifier un programme fait 6mois plus tôt.

J'utilise le logiciel arduino car très simple, j'ai aussi chargé codeblocks, mais là. ..... rien que pour comprendre quel fichier il faut ouvrir pour pouvoir commencer à écrire!
Je m'y collerais plus tard.