Nyalakan Lampu Pakai Password, Keypad Arduino
Video berikut adalah cara bagaimana membuat password untuk menyalakan lampu, lock door, televisi, kipas, Kunci Pintu, dan lain lain.
Untuk code silahkan copy paste script dibawah ini:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
// Include Keypad library
#include <Keypad.h>
// Length of password + 1 for null character
#define Password_Length 8
// Character to hold password input
char Data[Password_Length];
// Password
char Master[Password_Length] = "123ABCD";
// Pin connected to lock relay input
int lockOutput = 13;
// Counter for character entries
byte data_count = 0;
// Character to hold key input
char customKey;
// Constants for row and column sizes
const byte ROWS = 4;
const byte COLS = 4;
// Array to represent keys on keypad
char hexaKeys[ROWS][COLS] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
// Connections to Arduino
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
// Create keypad object
Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);
void setup() {
// Setup LCD with backlight and initialize
lcd.backlight();
lcd.init();
// Set lockOutput as an OUTPUT pin
pinMode(lockOutput, OUTPUT);
// default bernilai LOW
digitalWrite(lockOutput, HIGH);
}
void loop() {
// Initialize LCD and print
lcd.setCursor(0, 0);
lcd.print("Masukan Password:");
// Look for keypress
customKey = customKeypad.getKey();
if (customKey) {
// Enter keypress into array and increment counter
Data[data_count] = customKey;
lcd.setCursor(data_count, 1);
lcd.print(Data[data_count]);
data_count++;
}
// See if we have reached the password length
if (data_count == Password_Length - 1) {
lcd.clear();
if (!strcmp(Data, Master)) {
// Password is correct
lcd.print("Password Benar");
// Turn on relay for 5 seconds
digitalWrite(lockOutput, LOW);
delay(5000);
digitalWrite(lockOutput, HIGH);
}
else {
// Password is incorrect
lcd.print("Salah Password");
delay(5000);
}
// Clear data and LCD display
lcd.clear();
clearData();
}
}
void clearData() {
// Go through array and clear data
while (data_count != 0) {
Data[data_count--] = 0;
}
return;
}
Comments
Post a Comment