Le code
int donnee = 2;
int latch = 3;
int clock = 4;
int BPMOINS = 5;
int BPPLUS = 6;
int chiffre;
int ETATBPP;
int ETATBPM;
byte dec_digits[] = {0b11111100, 0b01100000, 0b11011010, 0b11110010, 0b01100110,
0b00110110, 0b10111110, 0b11100000, 0b11111111, 0b11110110};
que l'on veut afficher, les 8 chiffres après 0b correspondent à 1 segment ''0'' segment allumé et ''1''
segment éteint. Le premier représente le chiffre 0, le deuxième le chiffre 1, etc */
void setup() {
pinMode(latch, OUTPUT);
pinMode(clock, OUTPUT);
pinMode(donnee, OUTPUT);
pinMode(BPMOINS, INPUT);
pinMode(BPPLUS, INPUT);
digitalWrite(BPMOINS, HIGH) ;
digitalWrite(BPPLUS, HIGH) ;
chiffre=5;
}
void loop() {
ETATBPP=digitalRead(BPPLUS);
ETATBPM=digitalRead(BPMOINS);
if (ETATBPP==0){
chiffre = chiffre + 1;
if (chiffre==10){
chiffre = 9;
}
digitalWrite(latch, LOW);
shiftOut(donnee, clock, MSBFIRST, dec_digits[chiffre]);
digitalWrite(latch, HIGH);
delay(300);
}
if (ETATBPM==0){
chiffre = chiffre - 1;
if (chiffre==0){
chiffre = 1;
}
digitalWrite(latch, LOW);
shiftOut(donnee, clock, MSBFIRST, dec_digits[chiffre]);
digitalWrite(latch, HIGH);
delay(300);
}
}
Go Tronic - octobre 2017
//broches en sorties
//broches en entrées + activation pullup pour les BPs
// On configure la valeur 5 dans la variable chiffre dans l'initialisation
// lit l'état du BP+ et stocke la valeur
// lit l'état du BP+ et stocke la valeur
// On rentre dans la boucle si le 1er bouton-poussoir est appuyé
// On ajoute +1 à la variable chiffre
// Si chiffre = 10 on le remet à 9 pour éviter les valeurs > 9
// On rentre dans la boucle si le 2è bouton-poussoir est appuyé
// On retire -1 à la variable chiffre
// Si chiffre = 0 on le remet à 1 pour éviter les valeurs < 1
www.gotronic.fr
/* On configure ici les chiffres
// On envoie le chiffre sur l'afficheur
// On envoie le chiffre sur l'afficheur
Page 23 | 50