Je vous présente le code ci-dessous qui fonctionne très bien: 2 LED qui clignotent et 2 interrupteurs pour les contrôler. Quand je presse l'interrupteur qui est associé à la LED, elle devient fixe et reste dans cet état. Ok, tout va bien.
Bémol, je souhaiterai les allumer les unes après les autres de cette façon:
- La LED n°2 doit être éteinte lorsque la LED n°1 clignote.
- J'active le clignotement de la LED n°2 quand je presse le bouton poussoir qui commande la LED n°1.
- Comme la LED n°1, la LED n°2 doit devenir fixe quand je presse le bouton poussoir qui lui est associé...
Comment faire ? Ca me bloque... Tous mes essais sont non concluants.
Merci.
#include <Wire.h>
#include "Adafruit_MCP23017.h"
Adafruit_MCP23017 mcp;
bool clignotement = true;
unsigned long Intervaldeclignotement = 150;
unsigned long Millisactuel;
unsigned long Millisprecedent;
bool clignotement1 = true;
unsigned long Intervaldeclignotement1 = 150;
unsigned long Millisactuel1;
unsigned long Millisprecedent1;
void setup() {
mcp.begin();
mcp.pinMode(0, OUTPUT);
mcp.pinMode(1, OUTPUT);
mcp.pinMode(2,INPUT);
mcp.pinMode(3,INPUT);
mcp.pullUp(2, HIGH);
mcp.pullUp(3, HIGH);
mcp.digitalWrite(0, HIGH);
mcp.digitalWrite(1, LOW);
void loop() {
if (clignotement) {
Millisactuel = millis();
if ((unsigned long)(Millisactuel - Millisprecedent) >= Intervaldeclignotement) {
mcp.digitalWrite(0, !mcp.digitalRead(0));
Millisprecedent = Millisactuel;
}
} else {
mcp.digitalWrite(0, HIGH);
}
int lecturebouton = mcp.digitalRead(2);
delay(50);
if (lecturebouton==LOW){
clignotement=false;
}
if (clignotement1) {
Millisactuel1 = millis();
if ((unsigned long)(Millisactuel1 - Millisprecedent1) >= Intervaldeclignotement1) {
mcp.digitalWrite(1, !mcp.digitalRead(1));
Millisprecedent1 = Millisactuel1;
}
} else {
mcp.digitalWrite (1, LOW);
}
int lecturebouton1 = mcp.digitalRead(3);
delay(50);
if (lecturebouton1==LOW)
clignotement1=false;
}
- Edité par MatthieuWilhelm 4 novembre 2018 à 19:28:26
A partir du moment où les 2 Leds ont un comportement lié, il faudrait que les conditions d'appui des boutons vérifie l'état où l'on est pour assure ce que l'on faire. Ici quand on appui sur un bouton on ne regarde rien d'autre.
Allumer plusieurs LED à la suite
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.