bitRead un byte en mémoire et écrire sur des sorties

bonjour

j’aimerais lire en bitRead() un un nombre binaire en mémoire et écrire sur des sorties correspondantes mais je ne suis vraiment pas sûr de l’approche…

#include <EEPROM.h>
const int buttonPin[5] = {2,3,4,5,6};
const int relayPin[5] = {7,8,9,10,11};

void setup()
{
   for(int i=0; i<5; i++)
   {
     pinMode(buttonPin[i], INPUT_PULLUP);
     pinMode(relayPin[i], OUTPUT);
   }
}

void loop()
{
   for(int i=0; i<5; i++)
   {
    if(i == (digitalRead(buttonPin[i]) != HIGH)) 
    {
      for(int j=0; j<5; j++)
        {
          digitalWrite(relayPin[j], bitRead(EEPROM.read(i),j));
        }
     delay(60);   
    }
   } 
}

Bonjour,

L'utilisation du bitRead a l'air correcte, mais je ne comprends pas ce que tu veux faire ici

   if(i == (digitalRead(buttonPin[i]) != HIGH))

Ne serait ce pas plutôt
  if(digitalRead(buttonPin[i]) != HIGH)

salut Kamill

merci de ta prompte réponse.

if(digitalRead(buttonPin[i]) != HIGH)

Initialement, c'est ce que j'avais écris mais je me suis demandé, si du fait que c'est inscrit dans une boucle "for", la valeur de i dans EEPROM.read n'allait pas changer. Autrement dit ce que je voudrais, c'est déclarer "i" de même valeur que celle du "buttonPin*" s'il n'égale pas HIGH. J'espère que c'est suffisamment clair...*
merci encore

je viens de me rendre compte de la bêtise que je viens de dire...
"i" a forcément la même valeur a moment t de la boucle :-*