Kita akan membuat satu sistem keselamatan untuk tabung masjid. Kita akan menggunakan kaedah di mana apabila sesiapa yang hendak membuka tabung itu mesti memasukkan kata laluan yang betul untuk membuka tabung. Apabila kata laluan yang di masukkan betul kunci tabung akan terbuka. – Pengenalan –

Oleh Muhamad Zarif dalam Tutorial Arduino
Tahap Kesukaran : Pertengahan, Mempunyai Asas Arduino

PERHATIAN : Versi Arduino IDE yang digunakan untuk penulisan tutorial ini adalah Arduino IDE Versi 1.8.4. Kami tidak menjamin penulisan tutorial ini berfungsi pada versi Arduino IDE yang lain.

>> Muat turun Arduino IDE Versi 1.8.4 di sini <<

Kami persembahkan bacaan di laman NADI Eleczone Solutions ini kepada para pelajar, mahasiswa dan peminat teknologi, demi kepentingan perkembangan ilmu teknologi ilmiah dan amaliah di Malaysia tercinta kita.
Semoga diberkahi dan diredhai Allah Subhanahu wa Ta’ala – Amin!

>> PENGENALAN <<

Untuk projek DIY kali ini, kita akan membuat satu sistem keselamatan untuk tabung masjid. Kita akan menggunakan kaedah di mana apabila sesiapa yang hendak membuka tabung itu mesti memasukkan kata laluan yang betul untuk membuka tabung. Apabila kata laluan yang di masukkan betul kunci tabung akan terbuka.

Apabila hendak kunci semula tabung, tutup semula tabung dan tekan butang * atau # penutup tabung akan terkunci.

Selain itu, projek ini mempunyai sistem keselamatan tambahan yang mana buzzer akan berbunyi jika tabung di buka tanpa memasukkan kata laluan terlebih dahulu. Tidak cukup dengan itu, kunci keselamatan akan turut aktif untuk memastikan tabung itu tidak boleh di bawa lari.

Suis di letakkan pada penutup tabung bertujuan supaya apabila tabung di buka semasa tabung dalam keadaan kunci. Suis akan menghantar isyarat kepada arduino supaya buzzer dan kunci keselamatan aktif. Kunci keselamatan di letakkan pada bahagian bawah tabung.  

>> KOMPONEN APA YANG ANDA PERLUKAN <<

Komponen yang di perlukan:

>> LITAR ARDUINO <<

Fail bersaiz besar : Skematik

Pautan fail fritzing untuk dimuat turun.

>> SEDIKIT PENERANGAN TENTANG MODUL GEGANTI <<

Geganti (Relay) adalah suis elektro-mekanikal yang boleh dikendalikan secara elektrik. Ini bermakna papan pengawal boleh mengawal geganti untuk dihidupkan atau dimatikan, membiarkan arus mengalir ataupun tidak. Mengendalikan geganti dengan papan Arduino Uno adalah semudah mengawal output diod pemancar cahaya. Modul geganti yang digunakan di dalam projek DIY kali ini berfungsi menggunakan bekalan 5V serta paras voltan 12V dalam mengawal keadaan suis geganti. Output geganti boleh mengalirkan arus sehingga 10A pada paras voltan 250Vac. Output geganti biasanya dilabelkan dengan tiga label iaitu COMNO dan NC.

  • COM adalah kaki common yang berhubung dengan NO atau NC, bergantung kepada keadaan input geganti.
  • NO (Normally Open) adalah pin yang biasanya terbuka. Jika input geganti tidak diaktifkan, pin NO tidak akan berhubung dengan pin COM. Jika input geganti diaktifkan, pin NO akan berhubung dengan pin COM.
  • NC (Normally Connect) adalah pin yang biasanya bersambung. Jika input geganti tidak diaktifkan, pin NC sememangnya akan berhubung dengan pin COM. Jika input geganti diaktifkan, pin NC tidak akan berhubung dengan pin COM.

Keadaan NO dan NC sering bertentangan. Jika NC berhubung dengan COMNO tidak berhubung dengan COM. Jika NO berhubung dengan COMNC tidah berhubung dengan COM. Sebagai contoh, jika anda ingin mengawal kipas, lebih baik digunakan pin COM dan pin NO yang biasanya tidak bersambung, kerana umumnya kipas hanya dibuka bila perlu sahaja.

>> KOD ARDUINO <<

/* Programmer : Muhamad Zarif dari NADI Eleczone 
                Solutions
 * More info at https://www.nadieleczone.com.my
 */

#include <Keypad.h>

// Bahagian Kata Laluan
char* kataLaluan = "12AB";
#define posisiPertama  0
int posisiKataLaluan = 0;
int panjangKataLaluan = 4;

// Bahagian Papan Kekunci
#define jumlahBaris 4
#define jumlahLajur 4
char papanKekunci[jumlahBaris][jumlahLajur] = {{'1','2','3','A'},
                                               {'4','5','6','B'},
                                               {'7','8','9','C'},
                                               {'*','0','#','D'}};
byte pinBaris[jumlahBaris] = {6,5,4,3};
byte pinLajur[jumlahLajur] = {10,9,8,7};
Keypad keypad = Keypad( makeKeymap(papanKekunci), pinBaris, pinLajur, jumlahBaris, jumlahLajur );

// Bahagian Komponen limitSwitch Switch
#define limitSwitchBUKA  0
#define limitSwitchTUTUP  1
int limitSwitch = 11;
int posisiLimitSwitch;

// Bahagian Komponen lockDoor Kunci
#define lockDoorPerluDiBUKA  1
#define lockDoorPerluDiTUTUP  0
int lockDoor = 12;
int tetapanLockDoor;

// Bahagian Komponen buzzer Dan Megnetic lockDoor
  // buzzer Dan magneticLock dikawal oleh pin yang sama
#define buzzerDimatikan  0
#define buzzerDiaktifkan  1
int buzzer = 13;

void setup()
{
  // Bahagian tetapan Arduino Uno
  pinMode(lockDoor, OUTPUT);
  digitalWrite(lockDoor, HIGH); // Tetapkan lockDoor supaya dalam keadaan dibuka
  
  pinMode(buzzer, OUTPUT);
  digitalWrite (buzzer, LOW); // Tetapkan buzzer Dan magneticLock supaya dimatikan
  
  pinMode(limitSwitch, INPUT);

  // Tetapkan lockDoor Kunci supaya perlu dibuka
  tetapanLockDoor = lockDoorPerluDiBUKA;
}

void loop()
{
  // Mendapatkan input Papan Kekunci dan limitSwitch
  char key = keypad.getKey();
  posisiLimitSwitch = digitalRead(limitSwitch);

  // Untuk memasukkan kata laluan, tekan * atau # diikuti dengan password
  if (key == '*' || key == '#')
  {
    posisiKataLaluan = posisiPertama;
    digitalWrite(lockDoor, lockDoorPerluDiTUTUP); // Kata laluan diproses, lockDoor dikunci
    tetapanLockDoor = lockDoorPerluDiTUTUP;
  }

  // Memproses kata laluan
  if (key == kataLaluan[posisiKataLaluan])
  {
    posisiKataLaluan ++;
  }

  ////////////////////////////////////////////////////////////////////////////////////////////////
  //
  // Kes Tabung Simpanan Dibuka Secara Sah Menggunakan Papan Kekunci
  // + Limit Switch terbuka selepas kata laluan dimasukkan dengan betul
  //
  ////////////////////////////////////////////////////////////////////////////////////////////////

  // Kata laluan betul, lockDoor dibuka
  if (posisiKataLaluan == panjangKataLaluan)
  {
    digitalWrite(lockDoor, lockDoorPerluDiBUKA); // Kata laluan betul, lockDoor dibuka
    tetapanLockDoor = lockDoorPerluDiBUKA;
  }

  // buzzer Dan magneticLock dimatikan jika pintu tidak dibuka secara paksa
  if (tetapanLockDoor == lockDoorPerluDiBUKA)
  {
    digitalWrite (buzzer, buzzerDimatikan); // buzzer Dan magneticLock akan dimatikan
  }  

  ////////////////////////////////////////////////////////////////////////////////////////////////
  //
  // Kes Kecurian Tabung Simpanan Dibuka Secara Paksa
  // + Limit Switch terbuka ketika kata laluan tidak dimasukkan dengan betul
  //
  ////////////////////////////////////////////////////////////////////////////////////////////////

  // Pintu dibuka (kata laluan tidak dimasukkan)
    // buzzer Dan magneticLock akan diaktifkan
  if ((posisiLimitSwitch == limitSwitchBUKA) && (tetapanLockDoor == lockDoorPerluDiTUTUP))
  {
    digitalWrite (buzzer, buzzerDiaktifkan); // buzzer Dan magneticLock akan diaktifkan
  }  
}

Library yang di perlukan untuk kod di atas adalah Keypad-3.1.1.

Jangan lupa untuk memasang Library Keypad jika anda masih belum memasangnya ke perisian Arduino IDE. Cara cara pemasangan library Keypad adalah seperti di bawah :

Pemasangan library Keypad pada perisian Arduino IDE

Langkah 1 : Muat turun Library Keypad di http://bit.ly/38aPsVL

Langkah 2 : Klik pada ikon Arduino untuk membuka perisian Arduino IDE

Langkah 3 : Pasangkan library Keypad pada Arduino IDE dengan mengklik pada

Sketch >> Include Library >> Add .ZIP Library

Langkah 4 : Pilih fail Library yang telah anda muat turun sebentar tadi dan Klik Open untuk memulakan proses pemasangan Library.

Langkah 5 : Tunggu mesej “Library added to your libraries. Check include library menu”, ini menandakan pemasangan library Keypad anda telah berjaya dipasang pada perisian Arduino IDE. Selepas itu, tutup kesemua perisian Arduino IDE.

>> projek tabung masjid <<

Di sini saya akan tunjukkan projek yang telah kami siapkan.

>> TAHNIAH, ANDA HEBAT <<

Anda telah berjaya menyelesaikan Projek Tabung Masjid.

>> SELAMAT MENCUBA <<

Kunjungi sekarang kedai Arduino Pulau Pinang di

Nadi Eleczone Solutions
Lot 1667, Tingkat 1, Jalan Teluk Air Tawar, Taman Air Tawar Indah, 13050 Butterworth, Penang
04 – 351 1802

2 ULASAN ULASAN

TINGGALKAN JAWAPAN BALAS ANDA

Sila masukkan ulasan anda!
Sila masukkan nama anda di sini