SOLENOID DOORLOCK ARDUINO UNO + KEYPAD 4x4 + LCD 16x2 + Touch Sensor
SOLENOID DOORLOCK ARDUINO UNO +
KEYPAD 4x4 + LCD 16x2 + Touch Sensor
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgocokhXbZhAJ7leexqtN05NZz-otL02RAq1OeeHxgk-Lh2s6fkQiN9ACsJQEDfjnjjM83yTw1O84HlkpMRPJcu0gdOZdaNNmZTqUohYAcWNhNunC6U6DUONjF2AlRa5EdCwjEi1bmIAFfz/s320/IMG_20190825_100707.jpg)
Setelah berhasil di arduino uno, maka kita coba gunakan arduino nano
agar memperkecil tempat yang diperlukan untuk membuat boxnya
kita coba buat pcb nya
codingnya bisa dicopy dibawah ini:
/*DEDDYADV"
*/
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <Password.h>
#define TouchSensor 10 // Pin Di gunakan untuk capactitive touch sensor
#define RELAY_ON 0
#define RELAY_OFF 1
#define RELAY_1 12 // pin yang digunakan yaitu pin 12
byte currentLength = 0;
boolean currentState = LOW;
boolean lastState = LOW;
boolean RelayState = LOW;
Password password = Password("235");//Password bisa di ubah ubah
LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);// pin lcd yang di gunakan
const byte ROWS= 4; //baris pada keypad
const byte COLS= 4; //Kolom pada keypad
//inisialisasi led dan relay sebagai output bila password betul maka akan menyala relay,
//dan bila password salah akan menyala led merah
const int red = 11;//pin yang digunakan
/*keymap mendefinisikan tombol ditekan sesuai
dengan baris dan kolom seperti muncul pada keypad*/
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 );
void setup()
{
Serial.begin(9600);
pinMode(red, OUTPUT);
pinMode(RELAY_1, OUTPUT);
pinMode(TouchSensor, INPUT);
digitalWrite(RELAY_1, RELAY_OFF);
//sumber diambil pada examples di library password.
keypad.addEventListener(keypadEvent);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Selamat Datang");
lcd.setCursor(0, 1);
lcd.print("di DEDDYADV");
delay(2000);
lcd.clear();
}
// Jika tombol ditekan, tombol ini disimpan dalam 'keypressed' variabel
// Jika kunci tidak sama dengan 'NO_KEY', maka tombol ini dicetak
// Jika jumlah = 17, maka penghitungan reset kembali ke 0 (ini berarti tidak ada tombol yang ditekan selama proses pemindaian seluruh keypad
void loop()
{
lcd.setCursor(3, 0);
lcd.print("deddyadv.com");
lcd.setCursor(0,1);
lcd.print("Pass: ");
keypad.getKey();;
//code touch sensor
currentState = digitalRead(TouchSensor);
if (currentState == HIGH && lastState == LOW) {
Serial.println("Berhasil Buka Dari Dalam");
delay(1);
if (RelayState == HIGH) {
digitalWrite(RELAY_1, RELAY_OFF);
RelayState = LOW;
}
else {
digitalWrite(RELAY_1, RELAY_ON); //untuk mengatur relay saat disentuh
RelayState = LOW;
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Berhasil Buka");
lcd.setCursor(3,1);
lcd.print("dari Dalam");
delay(2000);//Lama waktu relay
lcd.clear();
password.reset();
digitalWrite(RELAY_1, RELAY_OFF);
}
}
lastState = currentState;
}
void checkPassword(){
if(password.evaluate()){
digitalWrite(RELAY_1, RELAY_ON);
lcd.clear();
lcd.print("PINTU TERBUKA");
Serial.println("Berhasil Dari keypad");
delay(2000);//Lama waktu relay
password.reset();
digitalWrite(RELAY_1, RELAY_OFF);
}
else {
digitalWrite(red, HIGH);
lcd.clear();
lcd.print(" MAAF PIN SALAH");
Serial.println("Salah coba lagi");
delay(2000);//lama led on
password.reset();
digitalWrite(red, LOW);
}
}
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
lcd.setCursor(0,1);
lcd.print("eKey");
Serial.println(eKey);
switch (eKey){
case '*': checkPassword();
lcd.clear(); currentLength=0;break;
case '#': password.reset();
lcd.clear();currentLength=0; break;
default:// password.append(eKey);
password << eKey;
currentLength++;
//Print some feedback.
lcd.setCursor(0,1);
lcd.print("Pass: ");
for (byte i=0; i<currentLength; i++){
lcd.print('*');
}
}
}
}
Untuk Libraryna silahkan download DISINI tanpa embel embel iklan hehe....
Atau Anda mau order kitnya silahkan.wa..atau komplit 1 unit doorlock juga silahkan
selamat mencoba, jika ada yang ditanyakan silahkan wa ke 082341218686
jika berhasil, dengan senang hati apabila anda berkenan memberikan donasi ke rek Bank Mandiri no: 1450007468525 an: dedi wihartama untuk pengembangan projek2 elektronika yang lainnya
Terimakasih
Hai teman teman yg sehobby silahkan coment disini yaa agar bisa kita saling sharing ok....tq
BalasHapus