(RÉGLÉ) mettre l'état d'un output digital dans une ligne de condition

Bonjour. J'essai d'inclure l'état d'un output dans une ligne de condition mais ça ne fonctionne pas présentement. Est t'il possible de le faire et si la réponse est non, vous procéderiez de qu'elle façon pour inclure la condition de cet output dans la condition ?

if ((digitalRead(7)==HIGH) && (digitalWrite(13)== LOW) && (millis() > temp + millisecondes))

Merci !

Jacques3012

Si si digitalRead() sur une pin en OUTPUT ça fonctionne votre erreur doit être ailleurs, êtes vous sûr que vous voulez des && partout ?

Notez qu’il vaut mieux écrire (millis() - temp > millisecondes)pour éviter des problèmes de rollover

Bonjour Jacques3012

Jacques3012:
.... si la réponse est non, vous procéderiez de qu'elle façon pour inclure la condition de cet output dans la condition ?

if ((digitalRead(7)==HIGH) && (digitalWrite(13)== LOW) && (millis() > temp + millisecondes))

Merci !

Jacques3012

Utilisez un flag qui reflète le dernier ordre digitalWrite donné.

Cordialement,
bidouilleelec

Bonjour,

digitalWrite() prend deux arguments.
(digitalWrite(13) == LOW) est incorrect. Est ce que tu veux faire (digitalRead(13) == LOW) ?

ah oui j'avais raté le fait qu'il y avait un digitalRead et un digitalWrite...
kamill oeil de lynx !!
:slight_smile:

OK. La je viens de comprendre quelque chose je pense.

On définit une pin en entrée ou en sortie avec pinMode plus haut dans le programme mais dans le programmae exécutable, si j'ai bien compris, je peut utiliser digitalRead pour voir l'état d'une pin peu importe qu'elle soit configurée en entrée comme en sortie, c'est bien cela ?

kamill:
Bonjour,

digitalWrite() prend deux arguments.
(digitalWrite(13) == LOW) est incorrect. Est ce que tu veux faire (digitalRead(13) == LOW) ?

Jacques3012

Oui!

Merci a tous pour vos commentaires, ça m'aides a apprendre a chaque fois.

Bonne année 2020 a tous.

Jacques3012