Ligne 80 : |
Ligne 80 : |
| | | |
| == Le code == | | == Le code == |
− | xxx
| + | Pas besoin de taper tout le code, vous pouvez le télécharger depuis [http://ardx.org/CODE05 ardx.org/CODE05] puis faire un copier/coller dans un croquis vide. |
| | | |
− | <nowiki>/* code */</nowiki> | + | <nowiki>// Définition des broches |
| + | // Le 74HC595 utilise un protocole appelé SPI. |
| + | // Ce protocole utilise 3 broches |
| + | int data = 2; |
| + | int clock = 3; |
| + | int latch = 4; |
| + | |
| + | void setup() //Exécuté une fois seulement |
| + | { |
| + | pinMode(data, OUTPUT); |
| + | pinMode(clock, OUTPUT); |
| + | pinMode(latch, OUTPUT); } |
| + | |
| + | |
| + | void loop() // s'exécute encore et encore |
| + | { |
| + | int delayTime = 100; //temps entre deux mise-à-jour des LEDs |
| + | |
| + | for(int i = 0; i < 256; i++){ |
| + | updateLEDs(i); |
| + | delay(delayTime); |
| + | } |
| + | } |
| + | |
| + | /* |
| + | * updateLEDs() - Envoi l'état des LEDs. Envoi |
| + | * la séquence de valeurs au 74HC595 |
| + | */ |
| + | void updateLEDs(int value){ |
| + | //Met le latch à LOW sur la puce |
| + | digitalWrite(latch, LOW); |
| + | |
| + | //envoi les 8 bits au registre à décalage |
| + | shiftOut(data, clock, MSBFIRST, value); |
| + | |
| + | //Met le latch à HIGH pour afficher les données |
| + | digitalWrite(latch, HIGH); |
| + | } |
| + | |
| + | ---------- Plus de code en ligne ----------</nowiki> |
| | | |
| == Cela ne fonctionne pas? == | | == Cela ne fonctionne pas? == |