J'ai un petit soucis svp
Imaginons que j'ai 2 boutons poussoirs et sur chacun d'eux il y a 2 LEDs de différente couleur branchées avec le bouton poussoir. Avec chaque bouton il y a une led rouge et une led bleu
Du coup je voulais savoir comment faut-il faire pour : lorsque j'appuis sur le 2 ème bouton la LED rouge s'allume et si j'appuis sur le 1er bouton la bleu s'allume. Et vice versa
Du coup les lumières s'alternent quelque soit le bouton appuyé.
bonjour,
on t'a donné un exemple dans l'autre post.
a toi d'essayer d'imaginer comment faire.
tu mets tout sur papier, et tu code en fonction
après si tu as un soucis, on pourra t'aider, mais on ne fera pas tout à ta place, même si dans quelques jours, ca sera noël.
@Batto, l'idée est de faire un morpion : 3x3 boutons, 3x3x2 leds. Il faut donc qu'à chaque fois que n'importe quel bouton non allumé est actionné, la couleur de la LED à activer soit alternée
En fait je sais pas si j'ai bien expliqué mon problème mais je ne panse pas
Bah en fait imaginons que j'ai 3 boutons et 2 leds sur chaque bouton comme précedent
Au départ toutes les leds sont éteintes.
Si j'appuis sur le bouton numéro 3 la led rouge s'allume
Ensuite si j'appuis sur le bouton 1 la led bleu s'allume
Et si j'appuis sur le bouton 2 la led bleu s'allume
2325:
En fait je sais pas si j'ai bien expliqué mon problème mais je ne panse pas
Bah en fait imaginons que j'ai 3 boutons et 2 leds sur chaque bouton comme précedent
Au départ toutes les leds sont éteintes.
Si j'appuis sur le bouton numéro 3 la led rouge s'allume
Ensuite si j'appuis sur le bouton 1 la led bleu s'allume
Et si j'appuis sur le bouton 2 la led bleu s'allume
Et ça dans n'importe quel ordre
Merci de ton aide B@tto
soit tu fais comme tu l'explique au dessus et tu te sers du code boolean dans ton autre post.
soit tu ne sais pas expliquer comme il faut.
dans le premier cas, tu as 3 boolean, un pour chaque bouton.
dans le setup, tu mets tout sur LOW, led éteinte
ensuite, il suffit d'appuyer sur un bouton pour activer telle ou telle led.
En fait ce qui me dérange c'est que à chaque bouton poussoir il y a deux leds et elles sont sur des différentes pins et je dois les faire communiquer avec leur propre bouton poussoir.
Une autre option que boolean, est de compter les phases de jeu : impair : couleur 1, pair : couleur 2.
"Faire communiquer", ce n'est pas le bouton poussoir ou la LED qui va le faire, mais l'arduino
2325:
En fait je sais pas si j'ai bien expliqué mon problème mais je ne panse pas
Bah en fait imaginons que j'ai 3 boutons et 2 leds sur chaque bouton comme précedent
Au départ toutes les leds sont éteintes.
Si j'appuis sur le bouton numéro 3 la led rouge s'allume
Ensuite si j'appuis sur le bouton 1 la led bleu s'allume
Et si j'appuis sur le bouton 2 la led bleu s'allume
Et ça dans n'importe quel ordre
Merci de ton aide B@tto
Dans ce cas c'est juste une question de condition :
if (digitalRead(bp1) == HIGH )
{
if ( (i % 2) == 0)
{
// nbre pair
digitalWrite(ledR1, HIGH);
digitalWrite(ledB1, LOW);
}
else
{
digitalWrite(ledR1, LOW);
digitalWrite(ledB1, HIGH);
}
i=i+1;
}
if (digitalRead(bp2) == HIGH )
{
if ( (i % 2) == 0)
{
// nbre pair
digitalWrite(ledR2, HIGH);
digitalWrite(ledB2, LOW);
}
else
{
// nbre impaire
digitalWrite(ledR2, LOW);
digitalWrite(ledB2, HIGH);
}
i=i+1;
}
J'ai un soucis là dedans : au début j'ai déclarer que i=0;
Lorsque j'allume un interrupteur les 2 leds s'allument et lorsque je l'éteint il n'y a que la led bleu ( la deuxième ) qui reste allumé alors que l'autre s'éteint
Sachant que j'incrémente i à chaque fois je ne vois pas où est le problème
2325:
En fait ce qui me dérange c'est que à chaque bouton poussoir il y a deux leds et elles sont sur des différentes pins et je dois les faire communiquer avec leur propre bouton poussoir.
Donc du coup c'est ça qui me pose soucis
je vois pas le soucis.
tu prends le code dans l'autre post et tu double les boolean et le reste.
Mais sinon devoir est à rendre pour vendredi mais j'ai d'autre projet à faire sur d'autre code que l'arduino donc du coup je dois les faire très vite et j'ai en plus mes partiels à réviser
NON en fait je pense que il y a un truc qui ne va pas surement ça doit venir du logiciel car je fais mes montages avec 123d.circuits.io car lorsque je met le même code mais avec mes pins et sans le délai de 300 mili-secondes la led bleu scintille bizarrement je ne vois pas pourquoi sachant que lorsque le bouton n'est plus pressé la led bleu devrai s’éteindre
Voici ce que j'ai mis :
Sachant que au dévut j'ai mis
boolean etat = false;
pinMode (ledR1, OUTPUT);
pinMode (ledB1, OUTPUT);
//digitalWrite (ledR1, LOW);
digitalWrite (ledB1, HIGH);
if (digitalRead (bp1) == HIGH) // si le bouton est appuyé
{
if (etat == true) // on allume/éteint les leds en fonction de la valeur de etat
{
digitalWrite (ledR1, LOW);
digitalWrite (ledB1, HIGH);
}
else
{
digitalWrite (ledR1, HIGH);
digitalWrite (ledB1, LOW);
}
etat = !etat; // on inverse la valeur de etat
}
En fait il n'y a aucun faux contact avec les équipements lorsque j'appuis sur le premier bouton les 2 LEDs s'allume et la LED bleu a tendance à s'éteindre mais elle ne s’éteint pas ensuite si j'appuis sur le second bouton leds 2 LEDs s'allume mais la led bleu du 1er bouton s'éteint je ne sais pas pourquoi.