bonjour Kamill
Effectivement, cela fonctionne beaucoup mieux, merci.
j ai mis un "for" dans le setup afin de mettre toutes les pins en PULL UP
en revanche ce qui est en lien avec le "-1 " int touche = -1; et le if (touche != -1) empêche le démarrage du code, je ne pige pas son rôle, il y a forcement une raison qui m'échappe en tant que débutant.
autre petit point, une touche même ultra courte permettant d'obtenir le résultat me donne plusieurs fois le résultat. extrait du serial
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
|Colonne: 0|Raw: 0|| TOUCHE: 0|
je dois avoir qu une fois le résultat ex: |Colonne: 0|Raw: 0|| TOUCHE: 0| et sortir de la boucle jusqu'à la prochaine combinaison, le cas échéant j 'aurai un souci pour la suite.
const byte NBCOLS=16;
const byte NBRAWS=4;
const byte colPins[] = { 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47 };
const byte rawPins[] = { 6, 7, 8, 9 };
int i = -1;
int j = -1;
void setup() {
Serial.begin(9600);
for(i = 32; i < 48 ; i++)
{
pinMode(i, INPUT_PULLUP);
Serial.print(" PIN Return n°: ");
Serial.print(i);
Serial.println(" PIN Return INITIALISEE HIGH");
}
for(j = 6; j < 10 ; j++)
{
pinMode(i, INPUT_PULLUP);
Serial.print(" PIN Raw n°: ");
Serial.print(j);
Serial.println(" PIN Raw INITIALISEE HIGH");
}
Serial.print(" \t INIT OK");
}
void loop() {
int touche = -1;
for (byte col = 0; col < NBCOLS && touche != -1; col++) {
if (digitalRead(colPins[col]) == LOW) {
Serial.print("Colonne: " );
Serial.print(col);
Serial.print("\t");
for (byte raw = 0; raw < NBRAWS; raw++) {
Serial.print("Raw: " );
Serial.print(raw);
Serial.print("\t");
if (digitalRead(rawPins[raw]) == LOW) {
touche = 16 * raw + col;
Serial.print("\t TOUCHE: " );
Serial.println(touche);
break;
}
}
}
}
if (touche != -1) {
Serial.print("\t : ");
Serial.println(touche);
// }
}
si je ne commente pas tout ce qui est en relation avec -1, pas de démarre malgré le raw et col à LOW
dans tous les cas un trés grand merci pour le gros coup de main
chris