SOLENOID DOORLOCK ARDUINO UNO + KEYPAD 4x4 + LCD 16x2 + Touch Sensor
SOLENOID DOORLOCK ARDUINO UNO +
KEYPAD 4x4 + LCD 16x2 + Touch Sensor

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