J'ai modifié comme ça:
const byte pushButtons[] = {2,3,4};
const byte leds[] = {6,7,8};
int buttonPushCounter[] = {0,0,0}; // counter for the number of button presses
/**********************************************************************/
void setup()
{
for(int l=0;l<3;l++)
{
pinMode(pushButtons[l], INPUT_PULLUP);
pinMode(leds[l], OUTPUT);
}
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
}
/**********************************************************************/
void resetAllLeds()
{
for(int k=0; k<3; k++)
{
digitalWrite(leds[k], LOW);
}
digitalWrite(13, LOW);
}
/**********************************************************************/
void resetCounter()
{
for(int j=0; j<3; j++)
{
buttonPushCounter[j]= 0;
}
}
/**********************************************************************/
void loop() //ok
{
static bool prevButtonState[3] = {}; // état précédent du bouton
bool buttonState;
for (byte i = 0; i < 3; i++)
{
buttonState = !digitalRead(pushButtons[i]); // ! pour raisonner en logique positive
if (buttonState != prevButtonState[i])
{
// le bouton a changé dtétat
prevButtonState[i] = buttonState;
if (buttonState)
{
// on vient d'enfoncer le bouton
if (buttonPushCounter[i] == 0)
{
// premier appui sur le bouton
resetCounter();
resetAllLeds();
buttonPushCounter[i]++;
digitalWrite(leds[i], HIGH);
}
else
{
// deuxième appui sur le bouton
resetCounter();
resetAllLeds();
digitalWrite(13, HIGH);
}
}
delay(20); // anti rebond
}
}
}
Pourquoi tu as mis des diodes?