Pragrammer une porte et

salut à tous. depuis peu, je cherche à recréer une porte et avec mon arduino uno sans avoir à acheter des C.I. J'ai déjà essayé de faire un petit programme, mais il ne marche pas:
Merci de me dire mes erreurs, et si vous avez un programme qui marche, je suis preneur.

voici le programme:

//test pour porte et//
int ledPin = 10; //led de sortie en pin 10//
int inPinA = 12; //entrée A en pin 12//
int inPinB = 13; //entrée b en pin 13//
int valA = 0; //variable A de valeur 0//
int valB = 0; //variable B de valeur 0//

void setup()
{
pinMode(ledPin, OUTPUT); //ledpin est une sortie
pinMode(inPinA, INPUT); //inPinA est une entrée
pinMode(inPinB, INPUT); //inPinB est une entréé
}

void loop()
{
valA = digitalRead(inPinA);
valB = digitalRead(inPinB)
if (valA == valB == 1)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
}

Merci et à bientôt.

Bonjour et bienvenue :slight_smile:

Qu'entend-tu par "porte et" ? Si tu veux un ET logique, l'opérateur est '&&'

if (valA == 1 && valB == 1)

Le langage qu'utilise arduino c'est du C/C++

Merci de votre réponse rapide.
J'ai essayé le ´&&´ et ça ne marche pas avec ce que je veux faire.
J'aimerais que lorsque j'appuie simultanément sur deux bouton, la led s'allume, et sinon, elle est éteinte. En bref, le comportement d'une porte et.
J'ai essayé le code suivant :

if (digitalRead(inPinA) == HIGH && digitalRead(inPinB) == HIGH)
{
   digitalWrite(Led, HIGH);
}
  else
{
digitalWrite(ledPin, LOW);
}

En sachant que inpin a et b sont mes deux boutons et que led est ma led.
Lorsque j'appuie sur un des deux boutons, la led s'allume, et ne veux plus s'éteindre.
J'espère que vous comprendrez ce que je veux faire. Merci

A+ :slight_smile:

Il ne manque pas des parenthèses dans la condition du if ?

Bonsoir,

De quel type de boutons s'agit-il ? Comment sont-ils câblés ?

Les petits boutons poussoirs que l'on utilise habituellement avec un arduino ont tendance à ne pas être trés propre sur leur signal de sortie, ils basculent trés rapidement de HIGH vers LOW et inversement.

Parmi les exemples fournit par L'IDE Arduino, dans la section digital, il existe un exemple nommé Debounce qui palie à ce problème.

Autrement il est possible d'envisager un branchement différent :

+5v
|
|
/
|
|------- Pin
R=10K
|
Gnd

@+

Zoroastre.

Bonsoir,
Il y a la solution des "hardeux" qui mettent un condensateur de 100 nF en parallèle sur les contacts du bouton poussoir. :slight_smile:
Cela fonctionne à merveille avec zéro ligne de code :grin:

+1
+1
+1
+1
:grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin: :grin:

Comment sont câblés tes boutons?

Merci beaucoup zoroastre. Ce nouveau branchement marche a merveille.
Mes boutons étaient simplement reliés au GND et au pin.
Ce n'était pas mon code qui avait un problème.

Merci beaucoup a tout le monde et a+

Hé hé :wink:

(Le coup du condo n'est pas trop dans mes habitudes, mais c'est une bonne astuce aussi :grin: )

Après ça peut être plus économe en Arduinos :grin: de mettre les deux boutons en série si ton but est d'utiliser la porte ET avec des boutons bien sur. Si c'est des sorties logiques d'un autre circuit ça n'est plus faisable évidement :stuck_out_tongue: