Attention ! Le clavier HB12C
n'est pas un clavier matriciel! Il y a 13 connexions pour 12 touches!
Un clavier matriciel (très courant) c'est 3 fils pour les colonnes et 4 fils pour les lignes.
En respectant le schéma et les valeurs des résistances,
les valeurs retournées par un readadc seront à peu près celles-ci:
BP3: 90 BP6: 93 BP9: 98 BP12: 102
BP2: 109 BP5: 114 BP8: 121 BP11: 127
BP1: 141 BP4: 150 BP7: 162 BP10: 173
Le sous-programme lecture du clavier sera du type:
Code:
symbol clavier = b1
sp_lecture_clavier :
readadc pin_adc, b0
select b0
case > 170 : clavier = 10
case > 155 : clavier = 7
case > 145 : clavier = 4
case > 135 : clavier = 1
case > 125 : clavier = 11
case > 118 : clavier = 8
....................
case > 85 : clavier = 3
endselect
return
les valeurs testées (case > xx )sont les valeurs intermédiaires à ce que donne la lecture readadc lors des appuis des touches, celles ci étant à vérifier en fonction des composants réellement utilisés.
Ce type de schéma n'est à utiliser qu'avec des claviers de bonne qualité, à faible résistance de contact, ou mieux, à contacts mécaniques.
Sinon utiliser le mode de scrutation numérique donné par Fuse ci dessous