start:arduino:74hc595:programmes
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| start:arduino:74hc595:programmes [2022/03/08 11:47] – [ShiftRegister74HC595 Bibliothèque Arduino] gerardadmin | start:arduino:74hc595:programmes [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 69: | Ligne 69: | ||
| </ | </ | ||
| + | |||
| + | ==== Programmation d un 74HC595 avec la librairie Shifty ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | Un gestionnaire 74HC595 flexible pour Arduino | ||
| + | |||
| + | La bibliothèque Shifty pour Arduino est un moyen très flexible de gérer les registres à décalage 74HC595. Il vous permet d' | ||
| + | |||
| + | <code c Prog_Test_Shifty> | ||
| + | #include < | ||
| + | |||
| + | // Declare the shift register | ||
| + | Shifty shift; | ||
| + | |||
| + | void setup() { | ||
| + | // Set the number of bits you have (multiples of 8) | ||
| + | shift.setBitCount(8); | ||
| + | |||
| + | // Set the clock, data, and latch pins you are using | ||
| + | // This also sets the pinMode for these pins | ||
| + | shift.setPins(11, | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // writeBit works just like digitalWrite | ||
| + | shift.writeBit(1, | ||
| + | delay(500); | ||
| + | shift.writeBit(3, | ||
| + | delay(500); | ||
| + | shift.writeBit(1, | ||
| + | delay(500); | ||
| + | shift.writeBit(3, | ||
| + | |||
| + | delay(500); | ||
| + | } | ||
| + | </ | ||
| ==== Programme pour 74HC595 sans librairie ===== | ==== Programme pour 74HC595 sans librairie ===== | ||
| Ligne 119: | Ligne 156: | ||
| //Executer seulement une fois que toutes les valeurs ont été enregistrées comme vous le souhaitiez. | //Executer seulement une fois que toutes les valeurs ont été enregistrées comme vous le souhaitiez. | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | ==== Programmation 74HC595 en utilisant les bits du registre plus rapide mais plus compliqué ==== | ||
| + | |||
| + | <code c Prog3.ino> | ||
| + | // Broche connectée au ST_CP du 74HC595 | ||
| + | const int verrou = 11; | ||
| + | // Broche connectée au SH_CP du 74HC595 | ||
| + | const int horloge = 12; | ||
| + | // Broche connectée au DS du 74HC595 | ||
| + | const int data = 10; | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | // On met les broches en sortie | ||
| + | pinMode(verrou, | ||
| + | pinMode(horloge, | ||
| + | pinMode(data, | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | // on affiche les nombres de 0 à 255 en binaire | ||
| + | for (char i = 0; i<256; i++) | ||
| + | { | ||
| + | // On active le verrou le temps de transférer les données | ||
| + | digitalWrite(verrou, | ||
| + | // on envoi toutes les données grâce à notre belle fonction | ||
| + | envoi_ordre(data, | ||
| + | // et enfin on relâche le verrou | ||
| + | digitalWrite(verrou, | ||
| + | // une petite pause pour constater l' | ||
| + | delay(1000); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void envoi_ordre(int dataPin, int clockPin, boolean sens, char donnee) | ||
| + | { | ||
| + | // on va parcourir chaque bit de l' | ||
| + | for(int i=0; i<8; i++) | ||
| + | { | ||
| + | // on met l' | ||
| + | digitalWrite(clockPin, | ||
| + | // on met le bit de donnée courante en place | ||
| + | if(sens) | ||
| + | { | ||
| + | digitalWrite(dataPin, | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | digitalWrite(dataPin, | ||
| + | } | ||
| + | // enfin on remet l' | ||
| + | // faire prendre en compte cette dernière | ||
| + | digitalWrite(clockPin, | ||
| + | } | ||
| + | } | ||
| + | |||
| </ | </ | ||
/home/chanteri/www/fablab37110/data/attic/start/arduino/74hc595/programmes.1646736437.txt.gz · Dernière modification : (modification externe)
