Problème programmation clavier 12 touches

Bonjour,
suite à l’achat d’un clavier 12 touches j’ai voulu crée un programme permettant de détecter la touche enfoncée par l’utilisateur (et plus tard de l’afficher sur un clavier LCD).
J’ai donc fait des recherches sur internet qui m’ont bien aidé mais je ne comprends pas certaines lignes de codes…

Les lignes 6, 7 et 8 (je ne me suis jamais servi des Portx et DDRx).
La ligne 9 je comprend que c’est un ou logique mais je ne comprends pas le reste de la ligne.
Aussi les lignes 10 à 12, et enfin les lignes 20 et 21.
En bref je ne comprends que quelques termes de l’intérieur de la void loop() et si vous pouviez m’aider à décrypter ces lignes de codes cela m’aiderais énormément.
;D

1)     int bPortB=0 ;
2)     int k=0 ;
3)     int code=0 ;  
4)     int bPortD;
5)     void loop(){
6)              DDRB=(1<<bPortB) ;
7)              for(bPortD=4;bPortD<8;bPortD++){
8)                    if(PIND & (1<<bPortD)){
9)                          code = (1<<bPortD) | (1<<bPortB) ;
10)                         while((code!=tabClavier[k]) || k<12){
11)                               k++;
12)                         }
13)                         if (code){
14)                               Serial.println(tabCaractere[k]) ;
15)                         }
16)                         break ;
17)                   }
18)             }
19)             code =0 ;
20)             bPortB++ ;
21)             if(bPortB>2) bPortB=0 ;
22)       }

Bonjour

Je te propose plus simple : change de code exemple Celui que tu as posté manipule directement les registres. Sa maîtrise n'est pas à la portée de quelqu'un qui débute.

Ceci devrait mieux te convenir : http://playground.arduino.cc/Main/KeypadTutorial

bonjour, lien vers le clavier?

bricoleau: Bonjour

Je te propose plus simple : change de code exemple Celui que tu as posté manipule directement les registres. Sa maîtrise n'est pas à la portée de quelqu'un qui débute.

Ceci devrait mieux te convenir : http://playground.arduino.cc/Main/KeypadTutorial

Merci je vais essayer avec ce code !

infobarquee: bonjour, lien vers le clavier?

Le lien vers le clavier : http://www.lextronic.fr/P737-clavier-12-touches-ec83.html