bonjour à vous,
voila quasiment 1 heure que je galère avec une boucle
le but final de la programmation est de configurer le temps d'un compte à rebours, format hh/mm/ss
du coup 6 variables h1,h2.....
je déclare le clavier et configuration
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 //declaration des variables pour le compteur int h1=0; int h2=0; int m1=0; int m2=0; int s1=0; int s2=0;
viens le moment où ça ne fonctionne plus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #include <Keypad.h> const byte ROWS = 4; //4 lignes const byte COLS = 4; //4 colonnes char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; //Brancher le clavier sur 9 10 11 12 (colonnes) et 5 6 7 8 (lignes) byte rowPins[ROWS] = {5, 6,7, 8}; //Lignes byte colPins[COLS] = {9,10, 11, 12}; //Colonnes // Initialiser une instance de la classe keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup() { Serial.begin(9600); //Serial monitor Serial.println("Test de clavier 16 touches"); // Pour activer l'état HOLD unsigned int time_hold = 4; keypad.setHoldTime(time_hold); //Anti rebond unsigned int time_anti_rebond = 4; //4 ms keypad.setDebounceTime(time_anti_rebond); }
quand je lance le programme, dans l'écran ça met un chiffre hasardeux et non croissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void loop() { for (int i = 1; i < 7; i++) { char key = keypad.getKey(); if (key != NO_KEY) { Serial.print(i); } } }
si je déplace "char key = keypad.getKey();" avant le for,
alors j'obtiens la suite 123456 sans avoir d'action sur le clavier.
idéalement, je voudrais que quand i==1 alors h1 prend la valeur de key, puis i==2 alors h2=key…..
je n'y comprends rien, merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (i==1) { h1==key; }
PS, les branchements du clavier sont ok, sans la boucle for, j'obtiens les bonnes touches
Partager