Go Down

Topic: 1 Bouton poussoir et 2 LEDs (Read 4174 times) previous topic - next topic

2325

Bonsoir tout le monde

J'aimerai savoir s'il serait possible de commander deux LEDs différentes avec un seul bouton poussoir ?
Et si oui comment pourrais-je le faire svp ?

Merci
Bonne fin de soirée

2325

Car en fait j'essaie de faire un morpion et comme dans chaque case il y a deux possibilités je dois donc mettre deux LEDs.
C'est pour ça que je suis bien embêté.

Merci

infobarquee

bonjour,
regardes du coté de boolean par exemple.
AUCUNE AIDE PAR MP

2325

Bonjour

Je vois bien mais en fait il n'y a qu'une LED à la fois donc c pour ça que je n'arrive pas à gérer 2 LEDs.
Imaginons que j'ai deux LEDs une sur la pin 1 et l'autre sur la pin 2.
Et imaginons que j'ai mon bouton sur la pin 3 es-ce que c'est possible de les commander chacune indépendamment ?

Merci

manghao

Par exemple, si une est allumée, l'éteindre et allumer l'autre?

2325

OK !!

En fait si j'ai bien compris je lis la valeur de mon bouton poussoir sur la pin x et ensuite j'agis sur la pin y pour ma LED.

Je pense que c'est ça mais je ne suis pas sur ??

2325

Non en fait c'est comme le principe d'un morpion.
Il y a deux joueurs avec deux symboles différents ( ici sont les différentes couleurs de LED )
Donc du coup si le joueur 1 joue dans la première case il va allumer un LED rouge puis l'autre joueur jouera avec une autre led d'une autre couleur mais dans une autre cas

manghao

const int led1 = 1, led2 = 2, btn = 3;
boolean isLight= false;

void setup() {

   pinMode(led1, OUTPUT);
   pinMode(led3, OUTPUT);
   pinMode(btn, INPUT);

}

void loop() {

   int state = digitalRead(btn);

   if(state == HIGH && isLight == false) {
       digitalWrite(led1, HIGH);
       digitalWrite(led2, LOW);
       isLight = true;
   }
   if(state == HIGH && isLight == true) {
       digitalWrite(led2, HIGH);
       digitalWrite(led1, LOW);
       isLight = false;
   }

}

2325

haaaaaaa ok Merci je viens de comprendre le principe du boolean

Merci mangho et infobarquee  :)

manghao

mais de rien, si tu as d'autres questions hésite pas à les poser

2325


2325

Re bonjour

Voici mon montage




Et voici mon code :

Code: [Select]

int led1 = 13;
int led11 = 12;
int bp1 = A0;
int x;
int y;
//int compteur = 0;

void setup()
{
  // Initialisation des leds et le bouton poussoir
  pinMode(led1, OUTPUT);
  pinMode(led11, OUTPUT);
  pinMode(bp1, INPUT);
}

void loop()
{
  // Les 2 leds sont éteintes
  digitalWrite(led1, LOW);
  digitalWrite(led11, LOW);

  int test1 = digitalRead(bp1);
 
if(test1==HIGH)
{
digitalWrite(led1, HIGH); // Allumer led1
    Serial.println(test1);
}

  else // Sinon
{
digitalWrite(led1, LOW); // Eteindre led1
Serial.println(test1);
    }
 
}



Et je ne sais pas pourquoi mon bouton n'a aucun effet sur ma led  ?

Merci

2325

Si l'image ne passe pas je viens de l'uploader sur ce lien

http://hpics.li/e3b03fe


Merci beaucoup

infobarquee

normal
loop = boucle
tu mets tes leds en LOW à chaque boucle, comment veux tu quelles restent allumées?
AUCUNE AIDE PAR MP

2325

ha OK

Du coup j'ai enlevé les LEDs en LOW et j'ai ajouté ca


Code: [Select]

int led1 = 13;
int led11 = 12;
int bp1 = A0;
int x;
int y;
//int compteur = 0;

void setup()
{
  // Initialisation des leds et le bouton poussoir
  pinMode(led1, OUTPUT);
  pinMode(led11, OUTPUT);
  pinMode(bp1, INPUT);
}

void loop()
{
  // Les 2 leds sont éteintes
   int test1 = digitalRead(bp1);
 
if(test1==HIGH)//Si le bouton est pressé
{
digitalWrite(led1, HIGH); // Allumer led1
    Serial.println(test1);
}

  else
    {
digitalWrite(led1, HIGH); // Eteindre led1
Serial.println(test1);
    }
 
}


Mais mon bouton n'a toujours aucun effet sur la LED

Merci

Go Up