03 - Membuat Sistem Kunci Pintu Pintar Menggunakan E-KTP
Sistem keamanan pintu pintar sudah
mulai diterapkan seperti pada gedung, hotel, perkantoran dan lain-lain. Hal ini
dilakukan untuk mencegah adanya aksi pencurian dan pembobolan karena tidak
terproteksi dengan baik.
Dalam kesempatan kali ini saya akan berbagi tutorial Membuat Sistem Kunci Pintu Pintar menggunakan kartu RFID (Radio Frequency Identification) seperti pada E-KTP, SIM, E-Toll. Setiap chip kartu RFID akan memiliki nomor identitas tertentu yang berbeda satu sama lainnya sehingga memiliki keamanan yang tinggi. Dalam percobaan ini kita menggunakan RFID RC522. Kartu RFID memiliki frekuensi kerja 13.56MHz. jadi jika kartu rfid nya diluar frekuensi ini, maka tidak akan terdeteksi.
Komponen yang di gunakan :
- Arduino uno
- RFID RC522
- Kabel jumper Secukupnya
- Modul I2C
- LCD 16x2
- Buzzer
- Breadboard
- Relay 5v
- Solenoid door lock
- Power Supply 12v
Langsung saja kita rangkai komponennya seperti gambar berikut :
Langkah - langkah Wiring :
Koneksi modul I2C dengan Arduino UNO
- Gnd (-) -> GND
- Vcc (+) -> 5V
- SDA -> A4
- SCL -> A5
Koneksi modul RFID dengan Arduino UNO
- SDA -> Pin 10
- SCK -> Pin 13
- MOSI -> Pin 11
- MISO -> Pin 12
- SDA -> Pin 10
- GND -> GND
- RST -> Pin 9
- 3.3v -> 3.3v
Koneksi modul Relay dengan Arduino UNO
- Gnd (-) -> GND
- Vcc (+) -> 5V
- Input -> Pin 8
Koneksi Selenoid DoorLock dengan Modul Relay
- Pin (-) -> GND Power Supply 12V
- Pin (+) -> Pin N.O Relay
- Pin COM Relay -> (+) Power Supply 12V
Koneksi Buzzer dengan Arduino UNO
- Pin (-) -> GND
- Pin (+) -> Pin 5
Setelah semua komponen dirangkai selanjutnya
kita masuk ke pemrograman menggunakan software Arduino IDE
Untuk mendownload code dan library klik disini
Tutorial menambahkan library Arduino IDE klik disini
Code :
//kunci pintar menggunakan RFID by Wahyu Cahya
Putra
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <MFRC522.h>
const int buzzer=5;
const int relay = 8;
const int PIN_RST = 9;
const int PIN_SS = 10;
String uidTag = "";
LiquidCrystal_I2C lcd(0x27,16,2);
MFRC522 mfrc(PIN_SS, PIN_RST);
void setup() {
lcd.init ();
lcd.backlight ();
Serial.begin(9600);
SPI.begin();
mfrc.PCD_Init();
pinMode (relay, OUTPUT);
pinMode(buzzer,OUTPUT);
digitalWrite (relay, HIGH);
// cek
software RFID
byte
versi = mfrc.PCD_ReadRegister(mfrc.VersionReg);
if
(versi == 0x00 || versi == 0xFF) {
lcd.begin(16,2);
lcd.setCursor (0,0);
lcd.print("Tidak Ada Modul");
while (true);
}
}
void loop() {
lcd.setCursor (0,1);
lcd.print("Tempelkan Kartu!");
digitalWrite (relay, HIGH);
if (!mfrc.PICC_IsNewCardPresent())
return;
if
(!mfrc.PICC_ReadCardSerial())
return;
uidTag
= "";
for
(byte j = 0; j < mfrc.uid.size; j++) {
char
teks[3];
sprintf(teks, "%02X", mfrc.uid.uidByte[j]);
uidTag += teks;
}
// Jika Tag terdaftar
if (uidTag.substring(0) ==
"92A28732"){ //ganti data "92A28732" dengan tag anda
digitalWrite (relay, LOW);
digitalWrite(buzzer, HIGH);
delay(100);
digitalWrite(buzzer, LOW);
lcd.setCursor (0,0);
lcd.print(" ");
delay
(1000);
lcd.setCursor
(0,0);
lcd.print(" Selamat Datang ");
delay
(1000);
lcd.setCursor (0,1);
lcd.print ("NAMA ANDA");
delay
(5000);
lcd.clear ();
lcd.setCursor (0,0);
lcd.print(" PINTU TERBUKA ");
delay
(2000);
lcd.clear ();
}
//ketika tag salah
else {
Serial.print("uidTag : ");
Serial.println(uidTag);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
lcd.clear();
lcd.setCursor (0,1);
lcd.print("Akses ditolak !!!");
delay
(2000);
}
mfrc.PICC_HaltA();
}
- Setelah program diupload, untuk menemukan ID kartu anda buka serial monitor lalu tempelkan kartu anda, maka di serial monitor akan muncul nomor ID kartu anda
- Setelah itu copy dan paste untuk mengganti “92A28732” di code tadi
- Kemudian ganti “NAMA” dengan “NAMA ANDA” Contoh “ Wahyu Cahya P “
- Karena kita menggunakan LCD 16x2 maka karakter yang bisa ditulis maksimal adalah 16 karakter.
Sekian tutorial dari saya kali ini,
Apabila ada hal-hal yang kurang jelas bisa ditanyakan pada kolom komentar dibawah, terima kasih
Selamat Mencoba…
02 - Cara Memasukan Library Ke Aplikasi Arduino IDE
Library
adalah kumpulan kode yang telah dikumpulkan untuk mempermudah kita saat
menggunakan suatu fungsi sehingga suatu fungsi yang rumit akan terasa mudah.
Ada ratusan Library Arduino yang tersedia di Internet yang bisa kita gunakan.
Baik itu Library bawaan Arduino IDE ataupun Library yang dibuat sendiri
oleh komunitas atau perorangan seperti Adafruit ataupun library yang ada di
GitHub.
Cara Mudah Menambahkan Library :
1. Pastikan file library yang ingin kamu tambahkan sudah
terdownload dalam format zip.
2. Buka software Arduino IDE, lalu Masuk ke menu Sketch, pilih
Include Library, pilih Add ZIP Library
3. Cari file Library yang sudah terdownload, lalu klik Open.
4. Jika library berhasil ditambahkan, bagian bawah software Arduino IDE akan muncul keterangan seperti ini:
Cukup
sekian tutorial kali ini, semoga bermanfaat, jika ada yang kurang jelas
silahkan tanyakan di kolom komentar.
01 - Membuat Alat Monitoring Suhu dan Kelembaban Menggunakan Arduino, Sensor DHT11 dan LCD I2C
Biasanya dalam kehidupan sehari-hari untuk mengetahui nilai suhu kita menggunakan thermometer, Sedangkan untuk membaca besaran kelembaban udara, kita memakai alat Higrometer. Pada aplikasi Arduino biasanya memakai sensor DHT11 atau LM35.
Pada kesempatan kali
ini saya akan berbagi pengalaman saya dalam
mengerjakan proyek mengukur suhu dan kelembaban dengan output ke LCD I2C
dengan menggunakan sensor DHT11. DHT11 merupakan sensor yang berfungsi untuk membaca suhu dan kelembaban yang
memiliki output tegangan analog yang dapat diolah lebih lanjut menggunakan
mikrokontroler. Selain harganya yang murah, sensor ini juga mudah diperoleh di toko –
toko komponen elektronik maupun di marketplace.
Baik, sekarang langsung saja kita buat alat monitoring suhu dan kelembaban menggunakan DHT11 dengan Arduino. Jangan lupa siapkan komponen yang dibutuhkan.
- Arduino UNO
- Modul Sensor DHT11
- Modul I2C
- LCD 16x2
- Kabel jumper secukupnya
Buat rangkaian sensor suhu kelembaban DHT11, LCD I2C dan Arduino UNO
sesuai pada gambar rangkaian berikut ini;
Koneksi DHT11 dengan Arduino UNO :
- Vcc (+) -> pin 3
- Gnd (-) -> GND
- Data (out) -> pin 2
Koneksi modul I2C dengan Arduino UNO
- Gnd (-) -> GND
- Vcc (+) -> 5V
- SDA -> A4
- SCL -> A5
Jika semua sudah terhubung , sambungkan kabel USB ke PC/Laptop dan kita buat programnya dengan Arduino IDE. Sebelum itu untuk yang belum pernah memasukkan library I2C dan DHT11 bisa mendownload dulu beserta programnya disini
Cara memasukkan library ke Arduino IDE Klik disini
LiquidCrystal_I2C lcd(0x27,16,2); // Apabila terjadi error ganti 0x27 Ke 0x3F
#include <DHT.h>
DHT dht(2, DHT11); //Pin data, Jenis DHT
int powerPin = 3; // Pin pengganti vcc dht
void setup(){
lcd.init();
//
Print a message to the LCD.
lcd.backlight();
// Pin
power sebagai output
pinMode(powerPin, OUTPUT);
//
default LOW
digitalWrite(powerPin, LOW);
Serial.begin(9600);
dht.begin();
}
void loop(){
digitalWrite(powerPin, HIGH);
float
suhu = dht.readTemperature();
float
kelembaban = dht.readHumidity();
Serial.print("suhu: ");
Serial.println(suhu);
Serial.print("kelembaban: ");
Serial.print(kelembaban);
Serial.print("
");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Suhu: ");
lcd.setCursor(5,0);
lcd.print(suhu);
lcd.setCursor(0,1);
lcd.print("Kelembaban: ");
lcd.setCursor(11,1);
lcd.print(kelembaban);
delay(5000);
}
Setelah program selesai upload program ke Arduino Uno, dan
alat siap digunakan..