• Tidak ada hasil yang ditemukan

METODE PENELITIAN

3.6 Software pemrograman dan program pengunci pintu otomatis menggunakan modul Bluetooth HC-05

3.6.2 Program Pengunci Pintu Otomatis

Persiapan pertama sebelum memasukkan program adalah menghubungkan mikrokontroler arduino dengan PC melalui USB port. Langkah berikutnya adalah membuka software arduino.cc, dan melakukan penulisan program pada software, berikut ini adalah program yang di tuliskan pada software:

#include <LiquidCrystal.h>

#include <Servo.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

String readString;

const int servokunci = 9;

const int servopintu= 10;

Servo servokun;

servokun.write(90);

lcd.setCursor(1,0);

lcd.setCursor(0,1);

lcd.print("MASUKAN PASSWORD");

}

void loop() {

while (Serial.available()) { delay(3);

char c = Serial.read();

readString += c;

}

if (readString.length() >0) { Serial.println(readString);

if (readString == "2131")

lcd.setCursor(9,1);

lcd.print("TEKAN ANGKA 1");

lcd.setCursor(12,1);

lcd.print("MASUKKAN PASWORD");

readString="";

lcd.print("MASUKKAN PASWORD");

readString="";

} } }

Adapun penjelasan lengkap program dapat dilihat pada tabel berikut:

Tabel 3.1 Penjelasan Program Perbaris

PROGRAM KETERANGAN

#include <LiquidCrystal.h> Library untuk menggunakan LCD

#include <Servo.h> Library untuk menggunakan Motorservo LiquidCrystal lcd(12, 11, 5, 4, 3, 2); Pin-pin yang terhubung ke Arduino

String readString; masukkan pembacaan dalam variabel string const int servokunci = 9; servo untuk kunci di pin 9

const int servopintu= 10; servo untuk pintu di pin 10 Servo servokun; konstanta servo untuk kunci Servo servopint; konstanta servo untuk pintu

void setup() ; memulai program yang hanya dijalankan sekali Serial.begin(9600); Sesuaikan dengan Baudrate bluetooth anda servopint.attach(servopintu); melampirkan servopintu

servokun.attach(servokunci); melampirkan servokunci

lcd.begin(16,2); lcd yang digunakan ukuran 16x2 servokun.write(40); memutar servo kunci di 40 derajat servopint.write(15); memutar servo pintu di 15 derajat

delay (2000); waktu tunda dalam menampilkan program yang berjalan sekali selama 2 detik

servokun.write(90); memutar servo kunci di 90 derajat

lcd.setCursor(1,0); menentukan kursor pada posisi kolom 1 baris 0 lcd.print("Pintu Terkunci"); menampilkan kalimat pintu terkunci pada lcd lcd.setCursor(0,1); menentukan kursor pada posisi kolom 0 baris 1 lcd.print("MASUKAN PASSWORD"); menampilkan kalimat masukkan passowrd pada lcd

} penutup program

void loop() { memulai program yang dibaca secara terus menerus while (Serial.available()) { menunggu untuk variabel tersedia

delay(3); waktu tunda dalam menampilkan program yang berjalan sekali selama 3 detik

char c = Serial.read(); karakter yang ditampilkan dari serial.read readString += c; pembacaan variabel dalam string

} penutup program

if (readString.length() >0) { jika panjang pembacaan variabel dalam string lebih besar dari 0 Serial.println(readString); menampilkan serial dalam pembacaan variabel dalam string

if (readString == "2131") Jika hasil Keypad benar

} penutup program

servokun.write(40); memutar servo kunci di 40 derajat

lcd.clear(); menghapus data yang ada di LCD

delay(100); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.1 detik

lcd.setCursor(1,0); menentukan kursor pada posisi kolom 1 baris 0 lcd.print("AKSES DITERIMA"); menampilkan kalimat akses diterima pada lcd lcd.setCursor(1,1); menentukan kursor pada posisi kolom 1 baris 1 lcd.print("loading"); menampilkan kalimat loading pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(8,1); menentukan kursor pada posisi kolom 8 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(9,1); menentukan kursor pada posisi kolom 9 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(10,1); menentukan kursor pada posisi kolom 10 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(11,1); menentukan kursor pada posisi kolom 11 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(12,1); menentukan kursor pada posisi kolom 12 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (300); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.3 detik

lcd.setCursor(13,1); menentukan kursor pada posisi kolom 13 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (500); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.5 detik

lcd.setCursor(14,1); menentukan kursor pada posisi kolom 14 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (1000); waktu tunda dalam menampilkan program yang berjalan sekali selama 1 detik

servopint.write(170); memutar servo pintu di 170 derajat

lcd.setCursor(0,0); menentukan kursor pada posisi kolom 0 baris 0 lcd.print("Untuk mengunci!"); menampilkan kalimat untuk mengunci pada lcd lcd.setCursor(0,1); menentukan kursor pada posisi kolom 0 baris 1 lcd.print("TEKAN ANGKA 1"); menampilkan kalimat tekan angka 1 pada lcd readString=""; pembacaan variabel dalam string

} penutup program

else if (readString == "1") { hanya jika pembacaan variabel dalam string sama dengan 1 servopint.write (15); memutar servo pintu 15 derajat

lcd.clear(); menghapus data yang ada di LCD

delay (100); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.1 detik

lcd.setCursor(1,0); menentukan kursor pada posisi kolom 1 baris 0 lcd.print("AKSES DITERIMA"); menampilkan kalimat akses diterima pada lcd lcd.setCursor(1,1); menentukan kursor pada posisi kolom 1 baris 1 lcd.print("loading"); menampilkan kalimat loading pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(8,1); menentukan kursor pada posisi kolom 8 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(9,1); menentukan kursor pada posisi kolom 9 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(10,1); menentukan kursor pada posisi kolom 10 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(11,1); menentukan kursor pada posisi kolom 11 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (200); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.2 detik

lcd.setCursor(12,1); menentukan kursor pada posisi kolom 12 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (300); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.3 detik

lcd.setCursor(13,1); menentukan kursor pada posisi kolom 13 baris 1 lcd.print("."); menampilkan karakter . pada lcd

delay (500); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.5 detik

lcd.setCursor(14,1); menentukan kursor pada posisi kolom 14 baris 1 lcd.print(".") menampilkan karakter . pada lcd

delay (1000); waktu tunda dalam menampilkan program yang berjalan sekali selama 1

detik

servokun.write(90); memutar servo kunci 90 derajat

lcd.setCursor(15,1); menentukan kursor pada posisi kolom 15 baris 1 lcd.print("."); menampilkan karakter . pada lcd

lcd.setCursor(1,0); menentukan kursor pada posisi kolom 1 baris 0 lcd.print("Pintu Terkunci"); menampilkan kalimat pintu terkunci pada lcd lcd.setCursor(0,1); menentukan kursor pada posisi kolom 0 baris 1 lcd.print("MASUKKAN PASWORD"); menampilkan kalimat masukkan password pada lcd readString=""; membaca variabel dalam string

} penutup program

else { jika yang lain

lcd.clear(); menghapus data yang ada di LCD

delay (100); waktu tunda dalam menampilkan program yang berjalan sekali selama 0.1 detik

lcd.setCursor(1,0); menentukan kursor pada posisi kolom 1 baris 0 lcd.print("AKSES DITOLAK"); menampilkan kalimat akses ditolak pada lcd lcd.setCursor(0,1); menentukan kursor pada posisi kolom 0 baris 1 lcd.print("MASUKKAN PASWORD"); menampilkan kalimat masukkan password pada lcd readString=""; membaca variabel dalam string

} } } penutup program

Gambar 3.8Penulisan program pada software arduino.cc

Setelah pengetikan program selesai langkah selanjutnya adalah compile

Gambar 3.9 Tampilan saat proses compile dan upload

Gambar 3.1-Tampilan saat proses compile dan upload telah selesai

Dokumen terkait