code cho ai cần : #include // Khai báo thư viện LCD sử dụng I2C LiquidCrystal_I2C lcd(0x3F, 16, 2); // 0x27 địa chỉ LCD, 16 cột và 2 hàng #include // Khai báo thư viện Keypad
pinMode(0, OUTPUT); lcd.begin(); // Khai báo sử dụng LCD
lcd.backlight(); lcd.clear(); lcd.print(" Enter Password"); }
void loop() { char key = keypad.getKey(); // Ký tự nhập vào sẽ gán cho biến Key
if (key) // Nhập mật khẩu { if (i == 0) { str[0] = key; lcd.setCursor(6, 1); lcd.print(str[0]); delay(1000); // Ký tự hiển thị trên màn hình LCD trong 1s lcd.setCursor(6, 1); lcd.print("*"); // Ký tự được che bởi dấu * } if (i == 1) { str[1] = key; lcd.setCursor(7, 1); lcd.print(str[1]); delay(1000); lcd.setCursor(7, 1); lcd.print("*"); } if (i == 2) { str[2] = key; lcd.setCursor(8, 1); lcd.print(str[2]); delay(1000); lcd.setCursor(8, 1); lcd.print("*"); } if (i == 3) { str[3] = key; lcd.setCursor(9, 1); lcd.print(str[3]); delay(1000); lcd.setCursor(9, 1); lcd.print("*"); count = 1; } i = i + 1; }
if (count == 1) { if (str[0] == STR[0] && str[1] == STR[1] && str[2] == STR[2] && str[3] == STR[3]) { lcd.clear(); lcd.print(" CUA MO "); delay(3000); digitalWrite(0, HIGH); lcd.clear(); lcd.print("CUA DA MO"); i = 0; count = 0; } else { lcd.clear(); lcd.print("sai mat khau"); delay(3000); lcd.clear(); lcd.print("nhap lai"); delay(3000); lcd.clear(); lcd.print(" Enter Password"); i = 0; count = 0; } }
switch (key) { case '#': lcd.clear(); digitalWrite(0, LOW); lcd.print(" DONG!"); delay(10000); lcd.clear(); lcd.print(" Enter Password"); i = 0; break; } }
Ko có sơ đồ nguyên lí hả add.
mô hình rất hữu dụng, cùng nhau liên tục nhiêu hơn nha bạn tôi ơi...đầy đủ
bạn ơi cho mình tham khảo code được không , mình rất biết ơn
Phía dưới cmt nha bạn
@@dientucuimia sao minh khong thay dau vay
em chào anh ,anh có thể cho em xin sơ đồ nguyên lý được không ạ. em cảm ơn
hi b, b làm video rất hay, mình muốn liên hệ với bạn thì bằng cách nào
Liên hệ. Để làm gì ạ. Bạn có thể ket bạn fb ạ.
Nếu hay đăng ký để xem dc nhiều video hơn ạ. Có thể share giúp mình vs ạ
@@dientucuimia link fb của b đâu, mk k thấy link sao mà kb đc
@@dientucuimia link fb của b đâu, mk k thấy link sao mà kb đc
@@dientucuimia link fb của b đâu, mk k thấy link sao mà kb đc
Cho mình xin code và sơ đồ nguyên lý
Cảm ơn bạn.
code cho ai cần :
#include // Khai báo thư viện LCD sử dụng I2C
LiquidCrystal_I2C lcd(0x3F, 16, 2); // 0x27 địa chỉ LCD, 16 cột và 2 hàng
#include // Khai báo thư viện Keypad
const byte ROWS = 4; // Bốn hàng
const byte COLS = 4; // Bon cột
char keys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}};
byte rowPins[ROWS] = {5, 6, 7, 8};
byte colPins[COLS] = {9, 10, 11, 12};
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
char STR[4] = {'2', '0', '1', '8'}; // Cài đặt mật khẩu tùy ý
char str[4] = {' ', ' ', ' ', ' '};
int i, j, count = 0;
void setup() {
pinMode(0, OUTPUT);
lcd.begin(); // Khai báo sử dụng LCD
lcd.backlight();
lcd.clear();
lcd.print(" Enter Password");
}
void loop() {
char key = keypad.getKey(); // Ký tự nhập vào sẽ gán cho biến Key
if (key) // Nhập mật khẩu
{
if (i == 0) {
str[0] = key;
lcd.setCursor(6, 1);
lcd.print(str[0]);
delay(1000); // Ký tự hiển thị trên màn hình LCD trong 1s
lcd.setCursor(6, 1);
lcd.print("*"); // Ký tự được che bởi dấu *
}
if (i == 1) {
str[1] = key;
lcd.setCursor(7, 1);
lcd.print(str[1]);
delay(1000);
lcd.setCursor(7, 1);
lcd.print("*");
}
if (i == 2) {
str[2] = key;
lcd.setCursor(8, 1);
lcd.print(str[2]);
delay(1000);
lcd.setCursor(8, 1);
lcd.print("*");
}
if (i == 3) {
str[3] = key;
lcd.setCursor(9, 1);
lcd.print(str[3]);
delay(1000);
lcd.setCursor(9, 1);
lcd.print("*");
count = 1;
}
i = i + 1;
}
if (count == 1) {
if (str[0] == STR[0] && str[1] == STR[1] && str[2] == STR[2] &&
str[3] == STR[3]) {
lcd.clear();
lcd.print(" CUA MO ");
delay(3000);
digitalWrite(0, HIGH);
lcd.clear();
lcd.print("CUA DA MO");
i = 0;
count = 0;
} else {
lcd.clear();
lcd.print("sai mat khau");
delay(3000);
lcd.clear();
lcd.print("nhap lai");
delay(3000);
lcd.clear();
lcd.print(" Enter Password");
i = 0;
count = 0;
}
}
switch (key) {
case '#':
lcd.clear();
digitalWrite(0, LOW);
lcd.print(" DONG!");
delay(10000);
lcd.clear();
lcd.print(" Enter Password");
i = 0;
break;
}
}
Hay quá anh
còn cái nhận dạng dấu vân tay mà chưa làm dc
@@dientucuimia cái đó hơi khó ăn á anh, nhưng mà anh là em hy vọng ăn được ;)))
@@nguyenxuanan68 rớt đồ án môn tới nơi rồi. Hi vông cái gì