Danh sách sản phẩm

Bàn phím Ma Trận nhựa cứng 3x4 Keypad

Mã sản phẩm: IMA513   |   Tình trạng: Còn 10 sản phẩm có sẵn
50.000₫
  • Nhập IMA-90 giảm 90%, tối đa 2K
  • Nhập IMA-5K giảm 5k, đơn từ 199K
  • Nhập IMA-35K giảm 35k, đơn từ 499K

Mô tả sản phẩm

Bàn phím ma trận 3x4 nhựa cứng gồm có 16 nút bấm được sắp xếp theo ma trận 3 hàng, 4 cột. Các nút bấm trong cùng một hàng và một cột được nối với nhau.

Thông số kỹ thuật:

  • Kích thước : 7×5.2×0.9cm
  • Bàn Phím Ma Trận Nhựa Cứng 3x4 Keypad loại phím nhựa cứng.
  • Độ dài cáp: 88mm.
  • Nhiệt độ hoạt động 0 ~ 70oC.
  • Đầu nối ra 7 chân.
  • Kích thước bàn phím 65 x 64mm

Sơ đồ chân:


Code tham khảo Arduino: 

#include <Keypad.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

#define Password_Lenght 7 // Give enough room for six chars + NULL char

int pos = 0;    // variable to store the servo position

char Data[Password_Lenght]; // 6 is the number of chars it can hold + the null char = 7
char Master[Password_Lenght] = "123456";
byte data_count = 0, master_count = 0;
bool Pass_is_good;
char customKey;

const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
  {'1', '2', '3'},
  {'4', '5', '6'},
  {'7', '8', '9'},
  {'*', '0', '#'} 
};
bool door = true;

byte rowPins[ROWS] = {2, 3, 4, 5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6, 7, 8}; //connect to the column pinouts of the keypad

Keypad customKeypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS); //initialize an instance of class NewKeypad

void setup()
{
  
  lcd.begin();
  lcd.backlight();
  lcd.print(" Dien Tu Nshop");
  lcd.setCursor(0, 1);
  lcd.print("--Ban Phim 3x4--");
  pinMode(13,OUTPUT);
  delay(3000);
  lcd.clear();

}

void loop()
{
  if (door == 0)
  {
    customKey = customKeypad.getKey();

    if (customKey == '#')

    {
      lcd.clear();
      ServoClose();
      lcd.print("  Led Da Tat");
      delay(3000);
      door = 1;
    }
  }

  else Open();
}

void clearData()
{
  while (data_count != 0)
  { // This can be used for any array size,
    Data[data_count--] = 0; //clear array for new data
  }
  return;
}

void ServoOpen()
{
  digitalWrite(13,HIGH);
}

void ServoClose()
{
 digitalWrite(13,LOW);
}

void Open()
{
  lcd.setCursor(0, 0);
  lcd.print(" Nhap Mat Khau");
  
  customKey = customKeypad.getKey();
  if (customKey) // makes sure a key is actually pressed, equal to (customKey != NO_KEY)
  {
    Data[data_count] = customKey; // store char into data array
    lcd.setCursor(data_count, 1); // move cursor to show each new char
    lcd.print(Data[data_count]); // print char at said cursor
    data_count++; // increment data array by 1 to store new char, also keep track of the number of chars entered
  }

  if (data_count == Password_Lenght - 1) // if the array index is equal to the number of expected chars, compare data to master
  {
    if (!strcmp(Data, Master)) // equal to (strcmp(Data, Master) == 0)
    {
      lcd.clear();
      ServoOpen();
      lcd.print("  Led Da Bat");
      door = 0;
    }
    else
    {
      lcd.clear();
      lcd.print("  Sai Mat Khau");
      delay(1000);
      door = 1;
    }
    clearData();
  }

Video tham khảo:

 

Khách hàng nhận xét