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 : 2023/01/27 16:08 (modification externe)