Salut à tous,
J'aurais besoin de vos conseils car je bloque sur un petit (future) projet. Les composant utiliser seront, un afficheur 7 segments et un encodeur 5 pins ( rotary encoder). Le but serait de faire défiler les chiffre de l'afficheur via l'encodeur.
J'arrive à afficher en boucle des chiffres sur l'afficheur, j'arrive à faire défiler les valeurs dans le moniteur avec l'encodeur. Par contre je ne vois pas comment faire pour fusionner les deux.
Si vous pouviez m'éclairer....
#define outputA 10
#define outputB 11
int counter =0;
int aState;
int aLastState;
int A = 2;
int B = 3;
int C = 4;
int D = 5;
int E = 6;
int F = 7;
int G = 8;
int DP =9;
int TEMPS1 = 400;
int TEMPS2 = 200;
void setup() {
pinMode(outputA, INPUT);
pinMode (outputB, INPUT);
Serial.begin (9600);
aLastState = digitalRead(outputA);
// put your setup code here, to run once:
pinMode(A,OUTPUT);
pinMode(B,OUTPUT);
pinMode(C,OUTPUT);
pinMode(D,OUTPUT);
pinMode(E,OUTPUT);
pinMode(F,OUTPUT);
pinMode(G,OUTPUT);
pinMode(DP,OUTPUT);
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
}
void loop() {
aState = digitalRead(outputA);
if (aState != aLastState) {
if (digitalRead(outputB) != aState) {
counter ++;
} else {
counter --;
}
Serial.print("position: ");
Serial.println(counter);
}
aLastState = aState;
//1
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
digitalWrite(C,HIGH);
digitalWrite(D,LOW);
digitalWrite(E,LOW);
digitalWrite(F,LOW);
digitalWrite(G,LOW);
delay(TEMPS1);
//2
digitalWrite(A,HIGH);
digitalWrite(B,HIGH);
digitalWrite(C,LOW);
digitalWrite(D,HIGH);
digitalWrite(E,HIGH);
digitalWrite(F,LOW);
digitalWrite(G,HIGH);
delay(TEMPS1);