Taula de continguts:

Exemple de taquilla amb teclat Arduino Matrix 4x4: 6 passos
Exemple de taquilla amb teclat Arduino Matrix 4x4: 6 passos

Vídeo: Exemple de taquilla amb teclat Arduino Matrix 4x4: 6 passos

Vídeo: Exemple de taquilla amb teclat Arduino Matrix 4x4: 6 passos
Vídeo: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, De novembre
Anonim
Exemple de taquilla amb teclat Arduino Matrix 4x4
Exemple de taquilla amb teclat Arduino Matrix 4x4

2 maneres de gestionar un teclat de 16 botons amb un mínim de pins.

Pas 1: Introducció

Recentment he treballat en una manera de gestionar una matriu de teclat tàctil 4x4 connectada a un clon Arduino. Els punts establerts van ser:

-per utilitzar només 4 + 1 pins en lloc de 8 pins a l'atmega328p

-per afegir una pantalla LCD 4x20 CHAR enllaç mitjançant I2C (2 pins)

-per controlar sortides digitals i analògiques.

Per tant, tenir moltes coses a controlar amb una quantitat total d’efectes d’entrada / sortida.

Pas 2: Coses a utilitzar:

Coses a utilitzar
Coses a utilitzar

Vaig comprar una pantalla LCD de 4x20 caràcters i un adaptador de mòdul I2C per connectar la pantalla amb pins SDA (A4) i SCL (A5) al meu clon arduino.

Faig servir el famós i ara obsolet MM74C922N: un convertidor de 8 a 4 maneres que s’adapta al teclat de matriu 4x4.

Vaig crear un clon de l'arduino basat en l'atmega328p i programat mitjançant un connector HE10 (bus SPI) i un cable USBasp.

Pas 3: esquema i junta:

Esquema i la Junta
Esquema i la Junta
Esquema i la Junta
Esquema i la Junta

El tauler està format per:

-el teclat LCD només s'utilitza amb Arduino IDE, no és possible amb LDmicro (programació Ladder)

-la placa MM74C922N: 16 botons codificats en 16 valors binaris en DCBA de 4 bits. Quan es prem un botó: el led blau s’encén i apareix un valor a DCBA (A és el LSB). Quan es deixa anar un botó: el led blau s’apaga i el valor es restableix a zero a DCBA.

-la placa de clonació Arduino atmega238p.

Pas 4: Ús de LDmicro amb programació d'escales:

Ús de LDmicro amb programació d'escales
Ús de LDmicro amb programació d'escales
Ús de LDmicro amb programació d'escales
Ús de LDmicro amb programació d'escales
Ús de LDmicro amb programació d'escales
Ús de LDmicro amb programació d'escales

El codi que cal introduir està format per 4 valors entre 16 valors premuts per tecles, de manera que es combinen 16x16x16x16.

Un cop heu dibuixat el SFC, haureu de traduir-lo a ESCALERA amb el mètode indicat en un dels meus fitxers

instructables:

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

Un cop escrit, compileu-lo com a xxxx.hex i descarregueu-lo amb el programa de descàrrega KHAZAMA.

La pantalla LCD no es pot programar a LDmicro.

Dono zip LDmicro amb l'esbós SERRURE.id i el programa de descàrrega KHAZAMA.

Pas 5: utilitzar Arduino IDE 1.8.x amb Mightycore i SMlib:

Utilitzant Arduino IDE 1.8.x amb Mightycore i SMlib
Utilitzant Arduino IDE 1.8.x amb Mightycore i SMlib

Tradueixo el SFC a una màquina d’estats. Després vaig utilitzar Arduino IDE amb la biblioteca Mightycore i SM que hi havia a dins.

Apareixo un missatge com: ERROR, ESPERA, DESbloqueig, estat assolit, valor de la tecla premuda a la pantalla LCD.

Et dono l’esbós i el SM lib. Per a Mightycore, fixeu-vos en això:

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

Pas 6: per concloure:

Aquestes són dues maneres d’administrar el teclat 16 i he trigat diverses hores a trobar la bona seqüència, però ara funciona bé. Heu de respectar aquests passos:

-1 detectar una tecla premuda en una vora ascendent del pin DA

-2 llegiu el valor generat a DCBA i compareu-lo amb el bo

A menys que sens dubte no funcionarà.

Gràcies a tots els interessants tutorials a la xarxa.

Recomanat: