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
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
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
bonjour,
regardes du coté de boolean par exemple.
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
Par exemple, si une est allumée, l’éteindre et allumer l'autre?
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 ??
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
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;
}
}
haaaaaaa ok Merci je viens de comprendre le principe du boolean
Merci mangho et infobarquee
mais de rien, si tu as d'autres questions hésite pas à les poser
Ok merci beaucoup manghao
Re bonjour
Voici mon montage
Et voici mon code :
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
normal
loop = boucle
tu mets tes leds en LOW à chaque boucle, comment veux tu quelles restent allumées?
ha OK
Du coup j'ai enlevé les LEDs en LOW et j'ai ajouté ca
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
relis ton code, tu trouve pas un soucis?
si bp1 enfoncé => led1 allumée
sinon led1 allumée
mais là, tu ne pourras pas allumer une led puis allumer l'autre.
donc repars sur boolean
si true=> allume led1 eteint led11
si false=> inverse
en mettant au départ sur false et le led1 sur off par exemple et l'autre on
mais si mes souvenirs sont bons, le morpion au départ, tout est éteint.
donc tout dois être sur off au départ dans le setup.
Moi je commencerais par tout mettre sur le papier avant de coder.
Il y a plusieurs entrées à prendre en compte pour gérer l'allumage/extinction des LED.
Oui j'ai tout écrit mais si ça ne marche pas avec une led ça ne va pas marcher avec les autres.
Du coup j'ai essayé ça
Mais sans résultat
int led1 = 13; // LED on pin 5
int bp1 = A0; // momentary switch on 13, other side connected to ground
boolean running = false;
void setup()
{
pinMode(led1, OUTPUT);
pinMode(bp1, INPUT);
digitalWrite(bp1, HIGH);
}
void loop()
{
if (digitalRead(bp1) == LOW)
{ // switch is pressed - pullup keeps pin high normally
delay(500); // delay to debounce switch
running = !running; // toggle running variable
digitalWrite(led1, HIGH); // indicate via LED
}
}
Merci
si tu suivais les bonnes indications du tuto que tu as repompé
mets ton cablage en photo aussi
ton bouton est connecté à quoi? 5v ou GND?