Gerbang dengan Password Berbasis Atmega8535

 LABORATORIUM MIKROKONTROLLER 

GERBANG DENGAN PASSWORD BERBASIS ATMEGA8535


Dosen Penngampu:
Dr. Samuel Beta K., Ing. Tech., M.T.

Disusun Oleh :
1. Ari Sulistiowati            (4.34.22.1.04)
2. Hispano Suiza A.         (4.34.22.1.10)
3. Nesti Ramadhani         (4.34.22.1.18)
4. Varian Mohamad C.    (4.34.22.1.23)


PROGRAM STUDI TEKNOGI REKAYASA ELEKTRONIKA
JURUSAN TEKNIK ELEKTRO 
POLITEKNIK NEGERI SEMARANG 
2023/2024  


1. LATAR BELAKANG

Dalam perkembangan teknologi saat ini masyarakat pada umumnya masih menggunakan sistem kunci sederhana. Punggunaannya dalam membuka pintu masih menggunakan kunci konvensional seperti tuas pengunci, kunci geser, maupun engsel putar. Kunci konvensional tersebut sudah di terapkan sebagai metode keamanan umum tapi kendala yang terjadi sering ditemukannya kesulitan dalam membukanya , karena metode tersebut bisa dibilang masih manual dan menyulitkan penggunanya seperti diperlukannya tarikan pada tuas pengunci, dorongan umtuk digeser dan memutarnya membuatnya menjadi lebih rumit untuk diaplikasikan. Selain itu, banyak juga kasus kehilangan kunci , dan merasa kurang nyaman karena terlalu banyaknya kunci yang dibawa.

2. RUMUSAN MASALAH

 Banyak sistem keamanan pintu yang dalam pengunaanya masih bersifat tradisional dan kurang efisien namun keamananya belum terjamin keamananya . pintu dengan gembok atau kunci masih belum terjamin keamannaya karena masih awam keamannaya .

3.  SOLUSI PERMASALAHAN 

Dengan teknologi yang pesat saat ini keamanan pintu bisa lebih terjamin dengan adanya pintu otomatis berbasis password mikrokontroller . Dimana akses terbatas dan pengguna hanya perlu memasukan kode sesui keinginanya dan bila lupa pengguna hanya perlu meriset program dari pintu tersebut .

4.  DASAR TEORI 

1. Atmega8535 

Atmega8535 adalah mikrokontroller yang mencadi inti dalam rancangan ini, berikut fitur dan konfigurasi pin dari Atmega8535 :

  1. Sistem mikrokontroler 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
  2. Memiliki memori flash 8 KB, SRAM sebesar 512 byte dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.
  3. Memiliki ADC (Pengubah analog-ke-digital) internal dengan ketelitian 10 bit sebanyak 8 saluran.
  4. Memiliki PWM (Pulse Width Modulation - Gelombang Sinyal Termodulasi) internal sebanyak 4 saluran.
  5. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps.
  6. Enam pilihan mode sleep, untuk menghemat penggunaan daya listrik.

Konfigurasi pin:

    1. VCC untuk tegangan pencatu daya positif.
    2. GND untuk tegangan pencatu daya negatif.
    3. PortA (PA0 - PA7) sebagai port Input/Output dan memiliki kemampuan lain yaitu sebagai input untuk ADC
    4. PortB (PB0 – PB7) sebagai port Input/Output dan juga memiliki kemampuan yang lain.
    5. PortC (PC0 – PC7) sebagai port Input/Output untuk ATMega8535.
    6. PortD (PD0 – PD7) sebagai port Input/Output dan juga memiliki kemampuan yang lain.
    7. RESET untuk melakukan reset program dalam mikrokontroler.
    8. XTAL1 dan XTAL2 untuk input pembangkit sinyal clock.
    9. AVCC untuk pin masukan tegangan pencatu daya untuk ADC. Dan ARF sebagai pencatu daya tegangan 


Gambar 1.1 Datasheet Atmega8535
2. Keypad 

keyboard miniatur atau set tombol untuk operasi portabel perangkat elektronik, telepon, atau peralatan lainnya. Keypad merupakan sebuah rangkaian tombol yang tersusun atau dapat disebut "pad" yang biasanya terdiri dari huruf alfabet (A—Z) untuk mengetikkan kalimat, juga terdapat angka serta simbol-simbol khusus lainnya. Keypad yang tersusun dari angka-angka biasanya disebut sebagai numeric keypad. Keypad berfungsi sebagai interface antara perangkat (mesin) elektronik dengan manusia atau dikenal dengan istilah HMI (Human Machine Interface).

5. KOMPONEN  

1. Atmega8535 1 Buah 
2. Keypad         1 Buah 
3. Dinamo        1 Buah 
4. Motor           1 Buah 
5. LCD             1 Buah 
6. Kabel 
  • Diagram Pengawatan (Proteus)

Gambar 1.2 Simulasi rangkaian dengan proteus 

  • Flowchart 
Gambar 1.3 Flowchart 

  • Prinsip Kerja Rangkaian 
1. Ketika pengguna akan membuka pintu, pengguna harus memasukan password digital yang sudah terprogram. Tampilan LCD "MASUKAN SANDI" kemudian" TEKAN # UNTUK MEMBUKA PINTU"
2. Ketika sandi benar tampilan LCD  "SANDI BENAR" dan pint terbuka 
3. Namun, ketika sandi salah akan muncul tampilan "SANDI SALAH" dan otomatis kembali ke halaman awal tampilan LCD.
4. Program diatur untuk 3 kali percobaan bila percobaan ke-2 salah tampilan LCD "SALAH 2 KALI" 
5. Dan bila untuk percobaan ke-3 masih balah buzzer akan aktif dan berbunyi.
6. Buzzer akan terus aktif sampai pengguna memasukan password yang sesuai.

  • Program AVR
/* =================================================================================
Pemrogram      : Kelompok RE-2B/4
   1. 04- Ari Sulistiowati                   NIM:4.34.22.1.04
  2. 09- Hispano Suiza Artileri         NIM:4.34.22.1.10
  3. 16- Nesti Ramadhani                 NIM:4.34.22.1.18
  4. 21- Varian Mohamad Cerdika    NIM:4.34.22.1.22
====================================================================================
Project Tugas Akhir 
Gerbang dengan password 
------------------------------------------------------------------------------------
Materi baru:
------------------------------------------------------------------------------------
Komponen:
- keypad 
- 1x LCD
==================================================================================*/
//=== Pustaka ===
#include <mega8535.h>
#include <delay.h>
#include <stdlib.h>
#include <stdio.h>

//=== Deklarasi Variabel ===

float nilai=0, password=12;
char temp[12], array[10], i=0, indeks=0, x=0;
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>

void lock() 
{
 while (indeks==0)
      {
      lcd_gotoxy(0,0);
      lcd_putsf("TEKAN # UNTUK");
      lcd_gotoxy(0,1);
      lcd_putsf("MENGUNCI PINTU ");

      PORTB = 0b11111011;
      delay_ms(30);
      if (PINB.7 == 0)
       {
        indeks=1;
        PORTD.0=1;//terkunci
        lcd_clear();   
        lcd_gotoxy(0,0);
        lcd_putsf("TERKUNCI");
        delay_ms(50);
        lcd_clear();
        }
      }
}

void enter()
{
if (nilai==password)
   {   
   indeks=1; 
   PORTD.3=1;//terbuka    
   lcd_clear();
   lcd_gotoxy(0,0);
   lcd_putsf("TERBUKA");  
   delay_ms(10);
   i=0; nilai=0;  
   PORTD.1=0;
   PORTD.4=0;
   indeks=1;
   PORTD.0=0;
   indeks=0;  
   }           
else
   {
   lcd_clear();
   lcd_gotoxy(0,0);
   lcd_putsf("SANDI SALAH");
   delay_ms(300);
   i=0; nilai=0;
   PORTD.1=0;
   x++;
   indeks=1;
   }
   if(x==2){
        lcd_gotoxy(0,1);
        lcd_putsf("Salah 2 kali");
        delay_ms(300);
        lcd_clear();
        }
    if(x==3){
        lcd_gotoxy(0,1);
        lcd_putsf("Salah 3 kali");
        PIND.4=1;
        delay_ms(300);
        x=0;
        lcd_clear();}
}

void simpan_dlm_1variabel()
{
       if (i==1){nilai=array[i];}

       if (i>=2 && i<=8)
           {
           nilai=(nilai*10)+array[i];
           }   
}

void scanning_keypad()//scanning pendeteksian penekanan keypad
{
lcd_gotoxy(0,0);
lcd_putsf("KATA  SANDI");

PORTB = 0b11111110;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=7; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.5 == 0) {i++; array[i]=4; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.6 == 0) {i++; array[i]=1; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.7 == 0) {lcd_clear();i=0;nilai=0;delay_ms(50);}

PORTB = 0b11111101;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=8; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.5 == 0) {i++; array[i]=5; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.6 == 0) {i++; array[i]=2; simpan_dlm_1variabel(); delay_ms(50);}

PORTB = 0b11111011;
delay_ms(30);
if (PINB.4 == 0) {i++; array[i]=9; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.5 == 0) {i++; array[i]=6; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.6 == 0) {i++; array[i]=3; simpan_dlm_1variabel(); delay_ms(50);}
if (PINB.7 == 0) {delay_ms(50);}

PORTB = 0b11111101;
delay_ms(30);
if (PINB.4 == 0) {delay_ms(50);}
if (PINB.5 == 0) {delay_ms(50);}
if (PINB.6 == 0) {delay_ms(50);}
if (PINB.7 == 0) {enter();delay_ms(50);}
}

void tampil_lcd()
{
if (nilai>0)
    {
        ftoa(nilai,0,temp);
        lcd_gotoxy(0,1);
        lcd_puts(temp);
    }
}

void main(void)
{
PORTB=0xff;
DDRB=0x0f;

PORTD=0x00;
DDRD=0xFF;

lcd_init(16);
lcd_putsf("kelompok 4");
delay_ms(50);
lcd_clear();

while (1)
      {
      lock();
      scanning_keypad();
      tampil_lcd(); 
      
      if(indeks==0){
      PIND.1=0;
      PIND.2=1;
      }
      
       if(indeks==1){
      PORTD.1=1;
      PORTD.2=0;
      }
      PORTD.0=0;
      PORTD.3=0;         
      }
}

  • Prototype


Gambar 1.4 dan 1.5 Tampilan prototype dan letak komponen 


Gambar 1.6 Kondisi pintu terbuka 


Gambar 1.7 Kondisi pintu tertutup 

6. ANALISIS dan KESIMPULAN.

Dengan adanya teknologi yang berkembang dengan pesat, tingkat kejahatan pula semakin lebih rawan. Tujuan dari percobaan ini adalah pengembangan kunci konvensional dengan akses yang sedikit dan tingkat keamanan yang kebih tinggi membantu agar rumah atau brangkas bisa terjaga lebih aman.

Kesimpulan :
Dari percobaan rangkaian diatas didapati bahwa :
  • Atmega8535 berfungsi sebagai inti dari rangkaian tersebut, adanya fitur EEPROM di dalamnya  membantu penyimpanan password sehinggga pengguna bisa melakukan reset password tanpa harus menggubah pemrograman rangkaian. 
  • Tujuan penggunaan relay pada prototype berfungsi sebagai saklar penghubung motor pintu dan juga sebagai pelindung atau pengaman mikrokontroller. 

 

 


 

 


 

 




Comments

Popular posts from this blog

KIPAS DAN LAMPU OTOMATIS BERBASIS AT MEGA 8535

Alat Bantu Mobilitas Penyandang Tunanetra Berbasis Atmega8535