Validar contraseña con el ESP32

Validar contraseña con el ESP32

Ahora que hemos conectado nuestro teclado matricial 4×4 vamos a validar contraseña con el ESP32 para ser exactos seguiremos estos pasos:

  • Ingresaremos una variable con la contraseña “ABCD45” por ejemplo.
  • Esperamos a ingresar la contraseña y comparamos la contraseña.
  • Si la contraseña es correcta, encendemos un led verde.
  • Si la contraseña es incorrecta, encendemos un led rojo.

Requerimientos:

  • ESP32.
  • Teclado matricial 4×4.
  • 2 Led (Rojo y Verde)
  • 2 Resistencias 330 Ohms.
  • Cables.

Conexiones:

TecladoESP32
C4D15
C3D2
C2D4
C1D16
R4D17
R3D5
R2D18
R1D19
  • Led rojo al pin 13 del ESP32.
  • Led verde al pin 12 del ESP32.
Validar contraseña con el ESP32

Código de como validar contraseña con el ESP32:

// importa libreria Keypad
#include <Keypad.h>
// define numero de filas
const uint8_t ROWS = 4;
// define numero de columnas
const uint8_t COLS = 4;
// define la distribucion de teclas
char keys[ROWS][COLS] = {
  { '1', '2', '3', 'A' },
  { '4', '5', '6', 'B' },
  { '7', '8', '9', 'C' },
  { '*', '0', '#', 'D' }
};
// pines correspondientes a las filas
uint8_t colPins[COLS] = { 16, 4, 2, 15 };
// pines correspondientes a las columnas
uint8_t rowPins[ROWS] = { 19, 18, 5, 17 };
// crea objeto con los prametros creados previamente
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);

//Declaramos la variable que almacena el password
char pass[7]="ABCD45";
//Varible que alamacena la clave que se va ingresando
char ingresaPass[7];
//Variable que define el numero de letra que se va ingresando
int indice=0;

int pinLedVerde=12;
int pinLedRojo=13;

void setup() {
  pinMode(pinLedVerde, OUTPUT);
  pinMode(pinLedRojo, OUTPUT);
  Serial.begin(115200);
}

void loop() {
  // obtiene tecla presionada y asigna a variable
  char key = keypad.getKey();
  // comprueba que se haya presionado una tecla
  if (key) {
    //Alamacenamos la letra ingresada en arreglo de letras ingresaPass
    ingresaPass[indice]=key;
    //Aumentamos la letra que se va a alamacenar
    indice++;
    // envia a monitor serial la tecla presionada
    Serial.println(key);
    digitalWrite(pinLedVerde, LOW);
    digitalWrite(pinLedRojo, LOW);
  }
  //Si ya se ingresaron 6 letras o mas
  if(indice>=6){
    //Si el password coincide con la clave ingresada
    if(strcmp(pass,ingresaPass)==0){
      // Mostramos el mensaje de acceso permitido
      Serial.println("Acceso permitido");
      digitalWrite(pinLedVerde, HIGH);
    }
    //Si el password NO coincide con la clave ingresada
    else{
      // Mostramos el mensaje de acceso denegado
      Serial.println("Acceso denegado");
      digitalWrite(pinLedRojo, HIGH);
    }
    //Regresamos el indice a 0 para ingresar nuevas letras al password
    indice=0;
  }
}

Código y diagrama: https://wokwi.com/projects/343761263713583700

Librerías del teclado: https://github.com/Chris–A/Keypad

Como Validar contraseña con el ESP32

🎦 Este curso: https://www.youtube.com/watch?v=VuJkqL2Ys3Y&list=PLCTD_CpMeEKTvjzabAvLGHakg-ql6t0q6&ab_channel=ProgramadorNovato

🎦 Curso de Arduino: https://www.youtube.com/watch?v=oGinJt9aALc&list=PLCTD_CpMeEKSqw3Nh7rA9aXUAzbPIPkdv&ab_channel=ProgramadorNovato

🎦 [CURSO] C++ DE 0 A HEROE: https://www.youtube.com/watch?v=APN8aCyPvww&list=PLCTD_CpMeEKTofxs7iottRxJ5YPM7BOcc

Los comentarios están cerrados.

Salir de la versión móvil