Bonjour,
j'apprends le langage Arduino grâce au livre "le grand livre de l'arduino" et je suis au montage 6.
Il y a quelque chose que je ne comprends pas, je vous montre l'exercice en question avant :
1/
2/
Donc voici mon code :
int shiftPin = 8; //SH_CP
int storagePin = 9; //ST_CP
int dataPin = 10; //DS
int waitTime = 500;
byte patternDataArray[] = {B1000001, B0100010, B0010100, B0001000, B0010100, B0100010}; //Tableau permettant l'élaboration des différents motifs, il se déroule 3 fois
byte dataLedBlinkArray[] = {B1000000, B0100000, B0010000, B0001000, B0000100, B0000010, B0000001}; //Puis les LED clignotent l'une après l'autre
int i;
void setup() // 3 broches, permettant de contrôlé le registre à décallage, comme sorties
{
pinMode(shiftPin, OUTPUT);
pinMode(storagePin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
for(int r = 0; r < 3; r++) //l'élaboration des différents motifs, il se déroule 3 fois
{
for(i = 0; i < 6; i++)
{
digitalWrite(storagePin, LOW);
shiftOut(dataPin, shiftPin, MSBFIRST, patternDataArray[i]);
digitalWrite(storagePin, HIGH);
delay(waitTime);
}
}
for(int s = 0; s < 7; s++) // Puis les LED clignotent l'une après l'autre
{
digitalWrite(storagePin, LOW);
shiftOut(dataPin, shiftPin, MSBFIRST, dataLedBlinkArray[s]);
digitalWrite(storagePin, HIGH);
delay(waitTime);
}
}
Lorsque j'utilise MSBFIRST, toutes les LEDs clignotent l'une après l'autre.
Comme le montre cette vidéo à 00:11:
PROBLEME : En revanche lorsque j'utilise LSBFIRST, la première LED n'allume pas :
Que faire ? Merci d'avance !
En savoir plus sur l'instruction shiftOut ici : http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.ShiftOut