Table des matières:

Exemple de casier avec clavier matriciel Arduino 4x4 : 6 étapes
Exemple de casier avec clavier matriciel Arduino 4x4 : 6 étapes

Vidéo: Exemple de casier avec clavier matriciel Arduino 4x4 : 6 étapes

Vidéo: Exemple de casier avec clavier matriciel Arduino 4x4 : 6 étapes
Vidéo: Formation arduino #12 Les claviers 2024, Juillet
Anonim
Exemple de casier avec clavier matriciel Arduino 4x4
Exemple de casier avec clavier matriciel Arduino 4x4

2 façons de gérer un clavier 16 boutons avec un minimum de broches.

Étape 1: Introduction

J'ai récemment travaillé sur un moyen de gérer une matrice de clavier tactile 4x4 connectée à un clone Arduino. Les points de consigne étaient:

-à n'utiliser que 4+1 broches au lieu de 8 broches sur l'atmega328p

-pour ajouter un lien LCD Display 4x20 CHAR via I2C (2 pins)

-pour contrôler les sorties numériques et analogiques.

Donc, avoir beaucoup de choses à contrôler avec une quantité d'E/S de péché.

Étape 2: Éléments à utiliser:

Choses à utiliser
Choses à utiliser

J'ai acheté un écran LCD 4x20 caractères et un adaptateur de module I2C pour connecter l'écran avec les broches SDA (A4) et SCL (A5) sur mon clone arduino.

J'utilise le fameux et désormais obsolète MM74C922N: un convertisseur 8 à 4 voies adapté au clavier matriciel 4x4.

J'ai créé un clone de l'arduino basé sur l'atmega328p et programmé via un connecteur HE10 (bus SPI) et un câble USBasp.

Étape 3: Schéma et tableau:

Schéma et le Conseil
Schéma et le Conseil
Schéma et le Conseil
Schéma et le Conseil

Le plateau est composé de:

-le clavier LCD n'est utilisé qu'avec Arduino IDE, pas possible avec LDmicro (programmation Ladder)

-la carte MM74C922N: 16 boutons poussoirs codés sur 16 valeurs binaires sur DCBA 4 bits. Lorsqu'un bouton est enfoncé: la led bleue s'allume et une valeur apparaît sur DCBA (A est le LSB). Lorsqu'un bouton est relâché: la led bleue s'éteint et la valeur est remise à zéro sur DCBA.

-la carte clone Arduino atmega238p.

Étape 4: Utilisation de LDmicro avec la programmation Ladder:

Utilisation de LDmicro avec la programmation à relais
Utilisation de LDmicro avec la programmation à relais
Utilisation de LDmicro avec la programmation à relais
Utilisation de LDmicro avec la programmation à relais
Utilisation de LDmicro avec la programmation à relais
Utilisation de LDmicro avec la programmation à relais

Le code à saisir est composé de 4 valeurs parmi 16 valeurs appuyées soit 16x16x16x16 combinaisons.

Une fois que vous avez dessiné le SFC, vous devez ensuite le traduire en LADDER avec la méthode donnée dans l'un de mes

instructables:

www.instructables.com/id/Arduino-tomation-…

Une fois tapé, compilez-le en tant que xxxx.hex puis téléchargez-le avec le téléchargeur KHAZAMA.

L'écran LCD ne peut pas être programmé sur LDmicro.

Je donne LDmicro zip avec le sketch SERRURE.id et le téléchargeur KHAZAMA.

Étape 5: Utilisation d'Arduino IDE 1.8.x avec Mightycore et SMlib:

Utilisation d'Arduino IDE 1.8.x avec Mightycore et SMlib
Utilisation d'Arduino IDE 1.8.x avec Mightycore et SMlib

Je traduis le SFC en machine à états. Ensuite, j'ai utilisé Arduino IDE avec les bibliothèques Mightycore et SM à l'intérieur.

J'affiche un message du type: ERROR, WAITING, UNLOCK, état atteint, valeur de la touche appuyée sur l'afficheur LCD.

Je vous donne le croquis et la lib SM. Pour Mightycore, regardez ceci:

www.instructables.com/id/Arduino-18x-Clone…

Étape 6: Pour conclure:

Ce sont deux façons de gérer le clavier 16 et il m'a fallu plusieurs heures pour trouver la bonne séquence mais maintenant ça marche bien. Vous devez respecter ces étapes:

-1 détecter une touche enfoncée sur un front montant de la broche DA

-2 lire la valeur générée sur DCBA et comparer à la bonne

Sauf si cela ne fonctionnera certainement pas.

Merci à tous les tutoriels intéressants sur le net.

Conseillé: