Clavier matricé 12 touches EC83 pour application serrure codée
Clavier matricé 12 touches
Clavier matricé 12 touches
- Modèle économique d'excellente qualité.
- Dimensions: 55 x 76 x 6 mm
- Sorties sur connecteur mâle à souder au pas de 2,54 mm
- 3 trous en façade pouvant recevoir par exemple des Leds
de diamètre 3 mm.
Exemple d'application avec un CUBLOC CB210 Réalisation d'une serrure codée |
Présentation:
Cette application montre comment réaliser une serrure codée (type alarme) à partir du module CUBLOC "CB210" et d'un clavier matricé. Ainsi en saisissant un code d'accès à 4 chiffres pré-définie, l'utilisateur pourra faire changer l'état de la Led du module "CB210" (avec un contrôle sonore réalisé via un buzzer).
Matériel nécessaire:
- 1 module CUBLOC "CB210" (réf.: CB210) + 1 câble USB standard (réf.: CW090A)
- 1 clavier matricé 12 touche (réf.: EC83)
- 4 résistances de 10 Kohms - code couleur: marron - noir - orange (réf.: R)
- 1 buzzer sans oscillateur (réf.: TV4) ou un buzzer avec oscillateur (réf.: SV4/5-SN)
- En option: 1 plaque d'essai sans soudure (réf.: PRT-08801)
- En option: 1 jeu de straps flexibles M/M (réf.: PRT-08431)
- En option: 1 jeu de straps flexibles M/F (réf.: PRT-09140)
A noter que la plupart de ces composants (sauf le module CUBLOC "CB210" et le câble USB)
sont compris dans le pack "APP1-CB210".
Câblage de l'application:
* ATTENTION * Le clavier devra être relié au plus près du module "CB210" afin de ne pas ramener de perturbation sur les entrées de ce dernier.
Description du programme:
Le "CB210" bénéficie d'une instruction spéciale Keypad(0) capable de récupérer le N° de la touche (0 à 15) sollicitée sur un clavier matricé 16 touches (dont les lignes et les colonnes devront être raccordées sur les ports P0 à P7 du "CB210").
Du fait que notre application utilise un clavier matricé composé uniquement que de 12 touches, il y aura un décalage entre la valeur retournée par l'instruction Keypad(0) et le marquage de la touche. La liste ci-dessous donne la correspondance entre le maquage indiqué sur la touche (en rouge) et la valeur (en noire) eur retournée par l'instruction Keypad(0).
Touche 1 -> retourne 0 / Touche 2 -> retourne 1 / Touche 3 -> retourne 2
Touche 4 -> retourne 4 / Touche 5 -> retourne 5 / Touche 6 -> retourne 6
Touche 7 -> retourne 8 / Touche 8 -> retourne 9 / Touche 9 -> retourne 10
Touche * -> retourne 12 / Touche 0 -> retourne 13 / Touche # -> retourne 14
En absence de touche sollicitée, l'instruction Keypad(0) retourne la valeur 255.
Le programme consite à l'appel succesif d'une sous-routine (utilisée pour détecter l'appui sur une touche du clavier, générant alors un bip sonore, puis la mémorisation de la touche sollicitée et enfin le relachement de la touche).
A chaque sollicitation d'une touche, le programme va vérifier si la séquence de touches saisies correspond à un code pré-défini (2 4 3 7 pour notre exemple). Donc selon le tableau de correspondance ci-dessus, la séquence attendue devra être en fait: 1 4 2 8.
A la moindre erreur de saisie, le programme attend une nouvelle saisie dans le bon ordre. Si l'ordre de saisie est respecté, la Led du module "CB210" changera d'état et le buzzer émettra un double "bip" sonore.
Code source:
'###############################################################
' Realisation d une serrure codee (type alarme)
' @Lextronic 2012 - 07/06/2012 - version Cubloc Studio 3.3.4
'
' Programme donne a titre d'exemple. A utiliser dans le cadre d'une initiation aux modules CUBLOC
' (l utilisation commerciale de ce programme est interdite). Lextronic decline toute responsabilite en
' cas de prejudice resultant de l'utilisation de cette note d'application.
'###############################################################
Const Device = CB210
Const Buzzer = 8 ' Port P8 attribue a la commande du buzzer
Const LedCB210 = 30 ' Port P30 attribue a la commande de la Led
Dim Clavier As Integer ' Memoire saisie clavier
Dim Touche As Integer ' Memoire de la touche sollicitee
Low buzzer ' Stop le buzzer
Low LedCB210 ' Led eteinte
Clavier = Keypad(0) ' Recupere etat initial du clavier
Do
DEBUT:
Gosub SAISIE ' Attend saisie 1ere touche
If Touche <> 1 Then Goto DEBUT ' Si 1ere touche saisie <> touche 2 (valeur 1)
Gosub SAISIE ' Attend saisie 2eme touche
If Touche <> 4 Then Goto DEBUT ' Si 2eme touche saisie <> touche 4 (valeur 4)
Gosub SAISIE ' Attend saisie 2eme touche
If Touche <> 2 Then Goto DEBUT ' Si 3eme touche saisie <> touche 3 (valeur 2)
Gosub SAISIE ' Attend saisie 2eme touche
If Touche <> 8 Then Goto DEBUT ' Si 4eme touche saisie <> touche 7 (valeur 8)
Reverse LedCB210 ' Change l'etat de la Led du CB210
Delay 200
Beep Buzzer,200
Delay 80
Beep Buzzer,200
Goto DEBUT
Loop
SAISIE:
Do While Clavier = 255 ' Attend qu'on appui sur une touche
Clavier = Keypad(0) ' Lecture du clavier matrice
Loop
Touche = Clavier ' Memorise la touche qui a ete sollicitee
Beep Buzzer,100 ' Bip sonore
Do While Clavier <> 255 ' Attend qu'on relache la touche
Clavier = Keypad(0) ' Lecture du clavier matrice
Loop
Return
Voir toutes les notes d'applications pour le module "CB210" |