int dans une boucle if

Bonjour à tous,

Donc je désire mettre à 1 un int avec un ensemble d’entrées qui seront à 1 (ma condition).
Ensuite, utiliser cet int afin d’activer des sorties TOR. Mais je n’ai pas l’impression que cela soit faisable.

Voici mon code :
Ci-dessous, l’activation de Mode_1

if(((digitalRead(B4)==1)&&(digitalRead(S1)==1))||((digitalRead(B3)==1)&&(digitalRead(S1)==1))||((digitalRead(B2)==1)&&(digitalRead(S1)==1)))
{
  (Mode_1, 1);
}
else
{
  (Mode_1, 0);
}

Ci-dessous l’activation de mes sorties :

if(Mode_1==1)   
{                                               
      digitalWrite(SORTIE_Relais_AR, 1);
      digitalWrite(SORTIE_Lampe1, 1);
}
  (Mode_1, 1);

Je serais curieux de savoir où tu as vu ce genre de syntaxe et ce qu'elle est censée faire.

hbachetti:

  (Mode_1, 1);

Je serais curieux de savoir où tu as vu ce genre de syntaxe et ce qu'elle est censée faire.

Je désire l'utiliser comme un bloc move en ladder, et donc de créer une fonction interne qui peut stocker une valeur 1 ou 0.

Pour le titre du post, if ce n’est pas une instruction de boucle, mais de test de condition ( for, while, do seraient des boucles)

Une variable ça s’affecte En faisant Mode_1 = 1; // ou 0il faut bien sûr l’avoir déclarée auparavant

Faut lire un petit tuto sur le C si vous voulez avancer

Sinon dgitalRead() retourne HIGH ou LOW donc pour la lisibilité du code n’utilisez pas O et 1 dans (digitalRead(B4)==1)et préférez la notation(digitalRead(B4)==HIGH)(meme si c’est techniquement équivalent)

————-
corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l’IDE avant de copier le code pour qu’il soit indenté correctement)

J-M-L:
Une variable ça s’affecte En faisant Mode_1 = 1; // ou 0il faut bien sûr l’avoir déclarée auparavant

Faut lire un petit tuto sur le C si vous voulez avancer

Sinon dgitalRead() retourne HIGH ou LOW donc pour la lisibilité du code n’utilisez pas O et 1 dans (digitalRead(B4)==1)et préférez la notation(digitalRead(B4)==HIGH)(meme si c’est techniquement équivalent)

————-
corrigez votre post ci dessus et rajoutez les code tags autour du code:
[code]`` [color=blue]// votre code ici[/color] ``[/code].

ça doit ressembler à cela:// votre code ici
(faites aussi ctrl-T (PC) or cmd-T (Mac) dans l’IDE avant de copier le code pour qu’il soit indenté correctement)

D'accord je vais modifier mon poste.
Concernant la déclaration du int, bien entendu je l'ai fait.Ensuite j'utilise pas HIGH et LOW car cela me pose des problèmes sur les pin PMW.

Hum... c’est bidon ou vous avez un soucis d’écriture.

Si vous utilisez 0 et 1 avec digitaRead il n’y a AUCUNE raison de ne pas utiliser LOW et HIGH.

Pour le PWM bien sûr on utilise un octet entre 0 et 255, mais ce sera pour un analogWrite(). Rien à voir donc avec un digitalRead() ou digitalWrite()

J-M-L:
Hum... c’est bidon ou vous avez un soucis d’écriture.

Si vous utilisez 0 et 1 avec digitaRead il n’y a AUCUNE raison de ne pas utiliser LOW et HIGH.

Pour le PWM bien sûr on utilise un octet entre 0 et 255, mais ce sera pour un analogWrite(). Rien à voir donc avec un digitalRead() ou digitalWrite()

Sans aucun doute bidon pour une personne qui a un karma de 14,209 et qui possède 4 étoile....

je ne voulais pas vous choquer - je dis ce que je pense sur le code --> ce n'est pas vous qui êtes "bidon", c'est l'argument.

HIGH est transformé en 1 et LOW en 0 à la compilation, donc ça ne change strictement rien si ce n'est la lisibilité et cohérence du code --> donc si vous avez un soucis en utilisant HIGH et LOW, ça cache autre chose

D'accord d'accord