Pavé numérique 4x4 Arduino

Pavé numérique 4x4 Arduino

Code produit: 4X4KEYPADARDUINO
Qté en Stock : 6
  • $3.95


Pour toutes questions sur les produits, vous pouvez nous rejoindre au (819) 373-4813 ou par courriel service@jcinfotr.com
Si vous avez besoin d'un item en grande quantité, contacté nous au (819) 373-4813 ou par courriel service@jcinfotr.com
Veiller prendre note que sur ces grandes commandes le prix peut varier.
  • Livraison Rapide
  • Paiment 100% sécurisé
  • Support par Téléphone ou Courriel
  • Pièces en magasin

Documentation PDF


The 8P dupont head, spacing 2.54 mm, can be inserted in the pin to connect the circuit. The white sticker on the back of the keyboard can be firmly attached to the surface of the machine.
It is suitable for external expansion of single chip/


Detailed Pictures:
  

Test Code one:

#include     
#define KEY_ROWS 4
#define KEY_COLS 4
 
char keymap[KEY_ROWS][KEY_COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};
 
byte colPins[KEY_COLS] = {9, 8, 7, 6};           
byte rowPins[KEY_ROWS] = {13, 12, 11, 10};
 
Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, KEY_ROWS, KEY_COLS);
void setup()
{
  Serial.begin(9600);
}
  
void loop()
{
  char key = myKeypad.getKey();
  if (key)
{  
    Serial.println(key);  
  }
}




Test Code two:


#include
#include
#include
#define LED  13
#define KEY_ROWS 4   // The number of columns in the key module
#define KEY_COLS 4   // The number of rows of the key module
#define LCD_ROWS 2   // The number of columns of the LCD display
#define LCD_COLS 16  // The number of lines of an LCD display
 
// Key words (two-dimensional arrays) arranged in rows and columns
 
char keymap[KEY_ROWS][KEY_COLS] = {
  {'1', '2', '3', 'A'},
  {'4', '5', '6', 'B'},
  {'7', '8', '9', 'C'},
  {'*', '0', '#', 'D'}
};
 
byte colPins[KEY_COLS] = {8, 7, 6, 5};         // Key module, row 1-4
byte rowPins[KEY_ROWS] = {12, 11, 10, 9}; // Key module, column 1 ~ 4
 
// Initialize the Keypad
// Keypad:,Set the feet, module lines,module number, module row number
 
Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, KEY_ROWS, KEY_COLS);
String passcode = "4321";
String inputCode = "";
bool acceptKey = true;
 
int N=1; 
 
LiquidCrystal_I2C lcd(0x3F, 16, 2);
void clearRow(byte n)
{
  byte last = LCD_COLS - n;
  lcd.setCursor(n, 1); // Move to line 2, "PIN:"
  for (byte i = 0; i < last; i++)
  {
   lcd.print(" ");
  }
  lcd.setCursor(n, 1);
}
 
void resetLocker()
{
  lcd.clear();
  lcd.print("knock...");
  lcd.setCursor(0, 1);  // Switch to line 2
  lcd.print("PIN:");
  lcd.cursor();
  inputCode = "";
}
 
void checkPinCode()
{
    if(N<4)
  {
    if (inputCode == passcode)
    {
    lcd.setCursor(0, 0);
    lcd.print("open the door");
    digitalWrite(LED,HIGH);
    acceptKey = false;
    inputCode = "";
    }
    else
    {
    lcd.setCursor(0, 0);
    lcd.print("ERROR...");
    lcd.setCursor(8, 0);
    lcd.print(N);
    N=N++;
    inputCode = "";
    }
  }
  else
  {
    acceptKey = false; 
    lcd.setCursor(0,0);
    lcd.print("Password locked");
   }
    delay(30);
}
 
void setup()
{
  Serial.begin(9600);
  pinMode(LED, OUTPUT);
  digitalWrite(LED,LOW);
  lcd.init();      
  lcd.backlight(); 
  resetLocker();
}
 
void loop()
{
  char key = myKeypad.getKey();
 
  // Waiting for user input
 
  if ( acceptKey && key != NO_KEY)
  {
      if (key == '*')
      {
        clearRow(4); 
        inputCode = "";
      }
      else if (key == '#')
      { 
         checkPinCode();
         clearRow(4);
         inputCode = "";
       }
      else
      {
         inputCode += key;  // Store the user's keypad
         lcd.print('*');
       }
   }
 }


Écrire une critique

Remarque: HTML n`est pas traduit!
    Mal           Bien
Captcha