|

Klawiatura 4×4 z Arduino

Program: Wyświetlanie wciśniętego przycisku

Projekt w tinkercad

#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 4;
//mapowanie klawiatury
char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'.','0','#','D'}
};
// przypisanie pinów 
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
  Serial.begin(9600);
}

void loop(){
  char key  = keypad.getKey();
  if(key)
  {
  	Serial.print("Key Pressed : ");
    Serial.println(key);
  }
}

Program: Uzyskanie dostępu po wpisaniu poprawnego kodu

Projekt na tinkercad

#include <Keypad.h>

const byte ROWS = 4;
const byte COLS = 4;

char keys[ROWS][COLS] = {
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

String savedPass = "1178";
String pass = "";


void setup(){
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
}

void CheckPass(){
	if(pass == savedPass)
    {
    	digitalWrite(LED_BUILTIN, HIGH);
      	Serial.println("Access granted");
    }
  	else
  	{
  		digitalWrite(LED_BUILTIN, LOW);
      	Serial.println("No Access");
  	}
}

void GetKeypadInput(){
  char key = keypad.getKey();
  
  if(key)
  {
    if(key == '*')
    {
    	pass = "";
    }
    else if (key == '#')
    {
      	Serial.println(pass);
    	CheckPass();
      	pass = "";
    }
    else
    {
    	pass += key;
    }
  }
}


void loop(){
	GetKeypadInput();
}

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *