Bonjour,
Je suis encore en apprentissage d'aurduino ( tout seul, pas simple !!!! ).
J'ai trouvé la bibliothèque shiftregister et j'essaye de le mettre à la sauce de ce que je veux.
J'arrive à afficher les chiffres mais ils s'affichent sur les 4 digits en même temps et je n'arrive pas à séparer l'affichage. J'ai mis un potentiomètre et je voudrais afficher la valeur en temps réel. J'ai réussi à le faire sans le shiftregister mais là, j'avoue, je cale ...
Je ne sais pas à quel moment on gère l'affichage par digit ni comment on le fait...
Voici mon code :
/*
4 Digitl 7 segment display PCB board with (4) 74HC595 shift register ICs
Arduino Tutorial - www.Ardumotive.com
Dev: Michalis Vasilakis // Date: 23/1/2018 // Ver:1.0
*/
#include <ShiftRegister74HC595.h>
// créé un objet shift register (nombre de shift registers, data pin, clock pin, latch pin)
ShiftRegister74HC595<1> sr ( 13, 11, 12);
const int PIN_POTENTIO = A0;
const int d1 = 4;
const int d2 = 5;
const int d3 = 6;
const int d4 = 7;
int mesure, digit1, digit2, digit3, digit4;
uint8_t numberB[] = {B00111111, //0
B00000110, //1
B01011011, //2
B01001111, //3
B01100110, //4
B01101101, //5
B01111101, //6
B00000111, //7
B01111111, //8
B01101111, //9
B10000000 //dp
};
void setup() {
pinMode(d1, OUTPUT);
pinMode(d2, OUTPUT);
pinMode(d3, OUTPUT);
pinMode(d4, OUTPUT);
pinMode(PIN_POTENTIO, INPUT);
Serial.begin(9600);
}
void loop() {
//lecture de A0
mesure = analogRead(PIN_POTENTIO);
Serial.println(mesure);
digit4 = mesure % 10 ;
digit3 = (mesure / 10) % 10 ;
digit2 = (mesure / 100) % 10 ;
digit1 = (mesure / 1000) % 10 ;
//Send them to 7 segment displays
for (int i = 0; i < 11; i++) {
uint8_t numberToPrint[] = {numberB[i]};
sr.setAll(numberToPrint);
delay(1000);
}
// Reset them for next read
digit1 = 0;
digit2 = 0;
digit3 = 0;
digit4 = 0;
delay(1000); // Read and print every 1 sec
}
Voilà, je vous remercie pour l'aide que vous allez m'apporter et je sais que vous allez réussir à m'expliquer pourquoi je suis un noob !!!!!
Merci à tous