Senin, 15 Januari 2024

Modul 1



 Smart Deposit Box

Pendahuluan [KEMBALI]

    Kasus pencurian ditengah-tengah masyarakat semakin meningkat, sehingga membuat banyak pihak menjadi was-was dengan harta berharganya, sehingga diperlukan keamanan akan penyimpanan barang berharga. Smart Deposit Box hadir sebagai jawaban atas tantangan tersebut.  Dimana aplikasi ini tidak hanya menawarkan keamanan konvensional seperti brankas biasa, tetapi juga dilengkapi dengan berbagai fitur pintar yang memanfaatkan teknologi terkini yaitu Arduino, Keypad dan LCD  serta beberapa buah sensor. 

    Keypad pada smart deposit box akan memastikan bahwa hanya pemilik yang memiliki kode akses yang benar yang dapat membuka dan mengakses isi kotak, dimana berfungsi sebagai antarmuka pengguna untuk memasukkan kode akses ke dalam Smart Deposit Box. Sensor infrared akan mendeteksi orang disekitar smart deposit box membuat LCD aktif dan kode akses nantinya akan ditampilkan pada LCD. Sensor magnet dan vibration akan mendeteksi adanya maling. Informasi lengkap seputar Smart Deposit Box dapat ditemukan di bagian blog di bawah ini.

TUJUAN [KEMBALI]
  • Memenuhi tugas Mikroprosesor dan Mikrokontroler 
  • Mempelajari rangkaian keypad dan LCD
  • Mengetahui prinsip kerja dari rangkaian Keypad dan LCD
  • Menjelaskan prinsip kerja Sensor infrared, sensor magnetic dan sensor vibration.
  • Mensimulasikan rangkaian Sensor infrared, sensor magnetic dan sensor vibration.

ALAT DAN BAHAN [KEMBALI]

1. Alat
1. Power Supply


2. Bahan 
1). Arduino uno

               
     Spesifikasi 

2). Keypad

          Spesifikasi  :     
  • 12 tombol (dengan fungsi tergantung pada aplikasi).
  • Konfigurasi 4 baris (input scanning) dan 3 kolom (output scanning).
  • Kompatibel penuh dengan DT-51 Low Cost Series dan DT-AVR Low Cost Series. Mendukung DT-51 Minimum Systemver 3.0, DT-51 PetraFuz, DT-BASIC Series, dan sistem lain.
  • Dilengkapi dengan contoh program.
  • Dimensi : 9 cm (P) x 5,4 cm (L) x 1,8 cm (T)
  • Perlengkapan : 1 buah DT-I/O 3 x 4 Keypad Module

3). LCD 

         Spesifikasi :
  • Tegangan operasi LCD ini adalah 4.7V-5.3V
  • Ini mencakup dua baris di mana setiap baris dapat menghasilkan 16 karakter.
  • Pemanfaatan arus adalah 1mA tanpa lampu latar
  • Setiap karakter dapat dibangun dengan kotak 5×8 piksel
  • Alfanumerik LCD alfabet & angka
  • Apakah tampilan dapat bekerja pada dua mode seperti 4-bit & 8-bit
  • Ini dapat diperoleh dalam Lampu Latar Biru & Hijau
  • Ini menampilkan beberapa karakter yang dibuat khusus

4). Sensor Infrared

    
5). Sensor Vibration

Spesifikasi :
  • Vsuplai : DC 3.3V-5V
  • Arus : 15mA
  • Sensor : SW-420 Normally Closed
  • Output : digital
  • Dimensi : 3,8 cm x 1,3 cm x 0,7 cm
  • Berat : 10 gr
  • Kondisi : Baru

6). Sensor Magnet (Reed Switch)
Spesifikasi :
  • Jenis reed: Normally Open
  • Tegangan kerja: 3.3-5v
  • Output: digital (0 dan 1)
  • Ukuran kecil: 3.2×1.4cm
  • Comparator: wide voltage LM393
  • Lobang baut: tersedia
7). Resistor
Spesifikasi :

8).Transistor NPN

Spesifikasi :

 9) Motor DC



Spesifikasi :




DASAR TEORI [KEMBALI]

1. Arduino Uno


Kontruksi 


Arduino adalah platform perangkat keras (hardware) yang dirancang untuk memudahkan pengembangan dan prototyping proyek-proyek elektronik. Ini terdiri dari papan sirkuit cetak berukuran kecil yang dilengkapi dengan mikrokontroler dan sejumlah pin input/output yang dapat digunakan untuk menghubungkan sensor, aktuator, dan komponen elektronik lainnya.

Mikrokontroler pada papan Arduino adalah otak utama yang mengontrol berbagai komponen yang terhubung dengannya. Papan Arduino biasanya dilengkapi dengan berbagai macam varian mikrokontroler dari berbagai produsen, seperti ATmega yang diproduksi oleh Microchip Technology. Meskipun demikian, Arduino lebih sering dikaitkan dengan platform open-source yang dikelola oleh Arduino.cc.

Arduino memiliki beberapa komponen utama yang membentuk papan sirkuit mikrokontroler. Berikut adalah penjelasan tentang komponen-komponen utama Arduino:

  1. Mikrokontroler: Ini adalah otak utama dari Arduino yang melakukan semua operasi pengolahan data dan kontrol. Arduino menggunakan mikrokontroler sebagai pusat kendali, yang berfungsi untuk membaca input, menjalankan kode program, dan mengontrol output. Beberapa varian Arduino menggunakan mikrokontroler dari berbagai produsen, seperti ATmega yang diproduksi oleh Microchip Technology.
  2. Pin I/O: Arduino memiliki sejumlah pin input/output (I/O) yang digunakan untuk menghubungkan sensor, aktuator, dan komponen lainnya. Pin ini bisa berfungsi sebagai input untuk membaca data dari sensor atau output untuk mengontrol aktuator. Ada pin digital dan pin analog. Pin digital dapat berupa input atau output dengan nilai logika 0 (LOW) atau 1 (HIGH), sementara pin analog digunakan untuk membaca nilai analog seperti sensor suhu atau cahaya.
  3. Papan Sirkuit: Papan Arduino adalah substrat fisik tempat semua komponen terhubung. Papan ini biasanya terbuat dari bahan tahan lama dan dilengkapi dengan jalur tembaga yang menghubungkan komponen-komponen elektronik.
  4. Konektor USB: Banyak varian Arduino dilengkapi dengan konektor USB. Ini memungkinkan Anda untuk menghubungkan papan Arduino ke komputer, sehingga Anda dapat mengunggah kode program ke mikrokontroler dan berkomunikasi dengan papan melalui koneksi serial.
  5. Catu Daya: Arduino memerlukan catu daya untuk beroperasi. Ini bisa berasal dari komputer melalui kabel USB atau dari sumber daya eksternal seperti baterai atau adaptor listrik. Beberapa papan Arduino memiliki regulator tegangan yang memungkinkan papan menerima berbagai tingkat tegangan masukan.
  6. Konektor Listrik: Arduino umumnya memiliki pin header atau konektor yang memungkinkan Anda untuk menghubungkan kabel atau kawat ke pin I/O. Ini memudahkan Anda dalam menghubungkan sensor, aktuator, dan komponen lainnya ke papan Arduino.
  7. Kristal Osilator: Kristal osilator digunakan untuk menghasilkan sinyal osilasi yang diperlukan oleh mikrokontroler untuk menjalankan perhitungan waktu dan operasi lainnya.
  8. Tombol Reset: Tombol reset memungkinkan Anda untuk mengulang proses booting papan Arduino atau menghentikan eksekusi program yang sedang berjalan.
  9. Indikator LED: Beberapa varian Arduino memiliki indikator LED yang terhubung ke pin tertentu. LED ini dapat diatur dalam kode program untuk memberi tahu status atau kondisi papan, seperti aktif atau dalam mode tidur.

Semua komponen ini bekerja bersama-sama untuk menciptakan platform Arduino yang kuat dan serbaguna untuk mengembangkan berbagai proyek elektronik dan pemrograman.

2. Keypad

Modul keypad 3x4 merupakan suatu modul keypad berukuran 3 kolom x 4 baris. Modul ini dapat difungsikan sebagai input dalam aplikasi seperti pengaman digital, absensi, pengendali kecepatan motor, robotik, dan sebagainya. Penggunaan keypad dilakukan dengan cara menjadikan tiga buah kolom sebagai output scanning dan empat buah baris sebagai input scanning.



Cara kerja rangkaian Keypad 3x4:

  1. Apabila Kolom 1 diberi logika ‘0’, kolom kedua dan kolom ketiga diberi logika ‘1’ maka program akan mengecek tombol 1, 4, 7, dan *, sehingga apabila salah satu baris berlogika '0' maka ada tombol yang ditekan.
  2. Apabila Kolom 2 diberi logika ‘0’, kolom pertama dan kolom ketiga diberi logika ‘1’ maka program akan mengecek tombol 2, 5, 8, dan 0, sehingga apabila salah satu baris berlogika '0' maka ada tombol yang ditekan.
  3. Apabila Kolom 3 diberi logika ‘0’, kolom pertama dan kolom kedua diberi logika ‘1’ maka program akan mengecek tombol 3, 6, 9, dan #, sehingga apabila salah satu baris berlogika '0' maka ada tombol yang ditekan. 
  4. Kemudian kembali ke semula, artinya program looping terus mendeteksi data kolom dan data baris, cara ini disebut scaning atau penyapuan keypad untuk mendapatkan saklar mana yang ditekan. (blog dari Furinkazen)


3. LCD
        LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. Adapun fitur yang disajikan dalam LCD ini adalah terdiri dari 16 karakter dan 2 baris, mempunyai 192 karakter tersimpan, terdapat karakter generator terprogram, dapat dialamati dengan mode 4 bit dan 8 bit, dilengkapi dengan back light.

        Proses inisialisasi pin arduino yang terhubung ke pin LCD RS, Enable, D4, D5, D6, dan D7, dilakukan dalam baris LiquidCrystal (2, 3, 4, 5, 6, 7), dimana LCD merupakan variabel yang dipanggil setiap kali intruksi terkait LCD akan digunakan. 

       Pada Proyek Akhir ini LCD dapat menampilkan karakternya dengan menggunakan library yang bernama LiquidCrystal. Berikut ada beberapa fungsifungsi dari library LCD: 
  1. begin() Untuk begin() digunakan dalam inisialisasi interface ke LCD dan mendefinisikan ukuran kolom dan baris LCD. Pemanggilan begin() harus dilakukan terlebih dahulu sebelum memanggil instruksi lain dalam library LCD. Untuk syntax penulisan instruksi begin() ialah sebagai berikut. lcd.begin(cols,rows) dengan lcd ialah nama variable, cols jumlah kolom LCD, dan rows jumlah baris LCD. 
  2. clear() Instruksi clear() digunakan untuk membersihkan pesan text. Sehingga tidak ada tulisan yang ditapilkan pada LCD.
  3. setCursor() 19 Instruksi ini digunakan untuk memposisikan cursor awal pesan text di LCD. Penulisan syntax setCursor() ialah sebagai berikut. lcd.setCursor(col,row) dengan lcd ialah nama variable, col kolom LCD, dan row baris LCD. 
  4. print() Sesuai dengan namanya, instruksi print() ini digunakan untuk mencetak, menampilkan pesan text di LCD. Penulisan syntax print() ialah sebagai berikut.lcd.print(data) dengan lcd ialah nama variable, data ialah pesan yang ingin ditampilkan.

4. Sensor Infrared

Infrared (IR) detektor atau sensor infra merah adalah komponen elektronika yang dapat mengidentifikasi cahaya infra merah (infra red, IR). Sensor infra merah atau detektor infra merah saat ini ada yang dibuat khusus dalam satu modul dan dinamakan sebagai IR Detector Photomodules. IR Detector Photomodules merupakan sebuah chip detektor inframerah digital yang di dalamnya terdapat fotodiode dan penguat (amplifier).

Sensor infared terdiri dari led infrared sebagai pemancar sedangkan pada bagian penerima biasanya terdapat foto transistor, fotodioda, atau inframerah modul yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar.

Prinsip Kerja Sensor Infrared


Ketika pemancar IR memancarkan radiasi, ia mencapai objek dan beberapa radiasi memantulkan kembali ke penerima IR. Berdasarkan intensitas penerimaan oleh penerima IR, output dari sensor ditentukan.


Prinsip kerja rangkaian sensor infrared berdasarkan pada gambar 2. Adalah ketika cahaya infra merah diterima oleh fototransistor maka basis fototransistor akan mengubah energi cahaya infra merah menjadi arus listrik sehingga basis akan berubah seperti saklar (swith closed) atau fototransistor akan aktif (low) secara sesaat seperti gambar 3:



Grafik Respon Sensor Infrared



Grafik menunjukkan hubungan antara resistansi dan jarak potensial untuk sensitivitas rentang antara pemancar dan penerima inframerah. Resistor yang digunakan pada sensor mempengaruhi intensitas cahaya inframerah keluar dari pemancar. Semakin tinggi resistansi yang digunakan, semakin pendek jarak IR Receiver yang mampu mendeteksi sinar IR yang dipancarkan dari IR Transmitter karena intensitas cahaya yang lebih rendah dari IR Transmitter. Sementara semakin rendah resistansi yang digunakan, semakin jauh jarak IR Receiver mampu mendeteksi sinar IR yang dipancarkan dari IR Transmitter karena intensitas cahaya yang lebih tinggi dari IR Transmitter.

5. Sensor Vibration


    Vibration sensor / Sensor getaran ini memegang peranan penting dalam kegiatan pemantauan sinyal getaran karena terletak di sisi depan (front end) dari suatu proses pemantauan getaran mesin. Secara konseptual, sensor getaran berfungsi untuk mengubah besar sinyal getaran fisik menjadi sinyal getaran analog dalam besaran listrik dan pada umumnya berbentuk tegangan listrik. Pemakaian sensor getaran ini memungkinkan sinyal getaran tersebut diolah secara elektrik sehingga memudahkan dalam proses manipulasi sinyal, diantaranya:
   - Pembesaran sinyal getaran
   - Penyaringan sinyal getaran dari sinyal pengganggu.
   - Penguraian sinyal, dan lainnya.
Sensor getaran dipilih sesuai dengan jenis sinyal getaran yang akan dipantau. Karena itu, sensor getaran dapat dibedakan menjadi:
  - Sensor penyimpangan getaran (displacement transducer)
  - Sensor kecepatan getaran (velocity tranducer)
  - Sensor percepatam getaran (accelerometer).
Pemilihan sensor getaran untuk keperluan pemantauan sinyal getaran didasarkan atas pertimbangan berikut:
  - Jenis sinyal getaran
  -  Rentang frekuensi pengukuran
  -  Ukuran dan berat objek getaran.
  -  Sensitivitas sensor
Berdasarkan cara kerjanya sensor dapat dibedakan menjadi:
   - Sensor aktif, yakni sensor yang langsung menghasilkan tegangan listrik tanpa perlu catu daya
     (power supply) dari luar, misalnya Velocity Transducer.
   - Sensor pasif yakni sensor yang memerlukan catu daya dari luar agar dapat berkerja.
Grafik perbandingan frekuensi dengan sensitivitas sensor getaran :


6.  Sensor Magnet (Reed Switch)
 

        Sensor magnet adalah sensor yang mendeteksi keberadaan atau perubahan medan magnet. Sensor ini terdiri dari dua lempengan logam yang diisolasi dari satu sama lain. Lempengan logam ini disebut reed switch. Ketika magnet mendekat ke reed switch, medan magnetnya akan menarik kedua lempengan logam tersebut kedekatan. Hal ini akan menyebabkan reed switch menutup dan mengalirkan arus listrik.

Sensor magnet dapat dikonfigurasi dalam dua cara, yaitu:

  • Konfigurasi seri, yaitu reed switch dikonfigurasi secara seri dengan sumber tegangan dan resistor. Dalam konfigurasi ini, reed switch akan berfungsi sebagai sakelar yang membuka dan menutup aliran arus listrik.
  • Konfigurasi paralel, yaitu reed switch dikonfigurasi secara paralel dengan sumber tegangan. Dalam konfigurasi ini, reed switch akan berfungsi sebagai sensor yang mendeteksi keberadaan atau perubahan medan magnet.

Cara kerja sensor magnet (reed switch) dapat dijelaskan sebagai berikut:

  1. Ketika magnet mendekat ke reed switch, medan magnetnya akan menarik kedua lempengan logam tersebut kedekatan.
  2. Hal ini akan menyebabkan reed switch menutup dan mengalirkan arus listrik.
  3. Arus listrik yang mengalir melalui reed switch akan terbaca oleh rangkaian elektronik.
  4. Rangkaian elektronik akan menerjemahkan arus listrik tersebut sebagai sinyal digital.
  5. Sinyal digital ini dapat digunakan untuk mengontrol perangkat elektronik lain

Grafik Respon Sensor Magnet (Reed Switch)

Grafik respon sensor magnet (reed switch) menunjukkan hubungan antara medan magnet dan arus listrik yang mengalir melalui reed switch. Grafik ini biasanya berbentuk kurva S.

7. Resistor

Resistor merupakan komponen elektronika dasar yang digunakan untuk membatasi jumlah arus yang mengalir dalam satu rangkaian.Sesuai dengan namanya, resistor bersifat resistif dan umumnya terbuat dari bahan karbon. Resistor memiliki simbol seperti gambar dibawah ini :


Simbol Resistor

      Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir, berdasarkan persamaan Hukum OHM :


Dimana V adalah tegangan,  I adalah kuat arus, dan R adalah Hambatan.

Di dalam resistor, terdapat ketentuan untuk membaca nilai resistor yang diwakili dengan kode warna dengan ketentuan di bawah ini :



Sebagian besar resistor yang kita lihat memiliki empat pita berwarna . Oleh karena itu ada cara membacanya seperti ketentuan dibawah ini :
1. Dua pita pertama dan kedua menentukan nilai dari resistansi
2. Pita ketiga menentukan faktor pengali, yang akan memberikan nilai resistansi.
3. Dan terakhir, pita keempat menentukan nilai toleransi.

Rumus Resistor:

Seri : Rtotal = R1 + R2 + R3 + ….. + Rn

Dimana :
Rtotal = Total Nilai Resistor
R1 = Resistor ke-1
R2 = Resistor ke-2
R3 = Resistor ke-3
Rn = Resistor ke-n

Paralel: 1/Rtotal = 1/R1 + 1/R2 + 1/R3 + ….. + 1/Rn

Dimana :
Rtotal = Total Nilai Resistor
R1 = Resistor ke-1
R2 = Resistor ke-2
R3 = Resistor ke-3
Rn = Resistor ke-n

8. Transistor NPN

Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung arus (switching), stabilisasi tegangan, dan modulasi sinyal. Transistor dapat berfungsi semacam kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Kapasitor NPN memiliki simbol seperti gambar di bawah ini:
Simbol Transistor NPN BC547


Terdapat rumus rumus dalam mencari transistor seperti rumus di bawah ini:

Rumus dari Transitor adalah :

hFE = iC/iB

dimana, iC = perubahan arus kolektor 

iB = perubahan arus basis 

hFE = arus yang dicapai


Rumus dari Transitor adalah :

Karakteristik Input

Transistor adalah komponen aktif yang menggunakan aliran electron sebagai prinsip kerjanya didalam bahan. Sebuah transistor memiliki tiga daerah doped yaitu daerah emitter, daerah basis dan daerah disebut kolektor. Transistor ada dua jenis yaitu NPN dan PNP. Transistor memiliki dua sambungan: satu antara emitter dan basis, dan yang lain antara kolektor dan basis. Karena itu, sebuah transistor seperti dua buah dioda yang saling bertolak belakang yaitu dioda emitter-basis, atau disingkat dengan emitter dioda dan dioda kolektor-basis, atau disingkat dengan dioda kolektor.

Bagian emitter-basis dari transistor merupakan dioda, maka apabila dioda emitter-basis dibias maju maka kita mengharapkan akan melihat grafik arus terhadap tegangan dioda biasa. Saat tegangan dioda emitter-basis lebih kecil dari potensial barriernya, maka arus basis (Ib) akan kecil. Ketika tegangan dioda melebihi potensial barriernya, arus basis (Ib) akan naik secara cepat.

 Pemberian bias 
        Ada beberapa macam rangkaian pemberian bias, yaitu: 
 1. Fixed bias yaitu, arus bias IB didapat dari VCC yang dihubungkan ke kaki B melewati tahanan R seperti gambar 58. Karakteristik Output.


2.Self Bias adalah arus input didapatkan dari pemberian tegangan input VBB seperti gambar 60.


Sebuah transistor memiliki empat daerah operasi yang berbeda yaitu daerah aktif, daerah saturasi, daerah cutoff, dan daerah breakdown. Jika transistor digunakan sebagai penguat, transistor bekerja pada daerah aktif. Jika transistor digunakan pada rangkaian digital, transistor biasanya beroperasi pada daerah saturasi dan cutoff. Daerah breakdown biasanya dihindari karena resiko transistor menjadi hancur terlalu besar.

Gelombang I/O Transistor
                    
9. Motor DC



    Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), ArmatureWinding (Kumparan Jangkar), Commutator (Komutator)dan Brushes (kuas/sikat arang).

    Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.




    Untuk menggerakannya lagi, tepat pada saat kutub kumparan berhadapan dengan kutub magnet, arah arus pada kumparan dibalik. Dengan demikian, kutub utara kumparan akan berubah menjadi kutub selatan dan kutub selatannya akan berubah menjadi kutub utara. Pada saat perubahan kutub tersebut terjadi, kutub selatan kumparan akan berhadap dengan kutub selatan magnet dan kutub utara kumparan akan berhadapan dengan kutub utara magnet. Karena kutubnya sama, maka akan terjadi tolak menolak sehingga kumparan bergerak memutar hingga utara kumparan berhadapan dengan selatan magnet dan selatan kumparan berhadapan dengan utara magnet. Pada saat ini, arus yang mengalir ke kumparan dibalik lagi dan kumparan akan berputar lagi karena adanya perubahan kutub. Siklus ini akan berulang-ulang hingga arus listrik pada kumparan diputuskan.

a) Prosedur
  1. Download library yang diperlukan pada bagian download dalam blog.     
  2. Buka proteus yang sudah diinstal untuk membuat rangkaian.
  3. Tambahkan komponen seperti Arduino, sensor, dan perangkat lainnya lalu susun menjadi rangkaian.
  4. Buka Arduino IDE yang sudah diinstal.
  5. Di Arduino IDE, pergi ke menu "File" > "Preferences".Pastikan opsi
  6. "Show verbose during compile" dicentang untuk mendapatkan informasi detail saat kompilasi.
  7. Salin kode program Arduino pada blog kemudian tempelkan program tadi ke Arduino IDE.
  8. Kompilasikan kode dengan menekan tombol "Verify" di Arduino IDE.
  9. Cari dan salin path file HEX yang dihasilkan selama proses kompilasi.
  10. Kembali ke Proteus dan pilih Arduino yang telah Anda tambahkan di rangkaian.
  11. Buka opsi "Program File" dan tempelkan path HEX yang telah Anda salin dari Arduino IDE.
  12. Jalankan simulasi di Proteus.

b) Hardware dan Diagram Blok

Hardware
  1. Arduino Uno
  2. Infrared Sensor
  3. LED
  4. Vibration Sensor
  5.  Magnetic sensor
  6. Jumper
  7. Keypad
Diagram Blok


c) Rangkaian Simulasi dan Prinsip kerja

Rangkaian sebelum disimulasikan


        Pada rangkaian Smart Deposit Box menggunakan Keypad dan LCD serta 3 buah sensor yaitu sensor infrared, sensor magnetic Reed Switch, dan sensor Vibration. Juga terdapat satu buah motor dan 1 buah mikrokontroller. Saat rangkaian dijalankan dan ketiga sensor mati atau berlogika 0 maka LCDnya akan menunjukkan keadaan default yaitu "Deposit Box Privat". Berarti tidak terjadi apa-apa pada smart deposit box ini.


Ketika terdapat sensor infrared hidup berlogika 1 yang menandakan adanya seseorang yang berada di sekitar deposit box tersebut, maka akan membuat LCD berubah menampilkan "password". Sehingga orang tersebut harus memasukkan password ke dalam Mikrokontroller.


Untuk Passwordnya diatur berupa angka "1111". 


Jika passwordnya benar maka motor akan menyala dan membuka pintu pada smart deposit box ini. 


Selanjutnya LCD akan menampilkan kalimat "Hallo Salman". Mikrokontroller  akan menyuruh motor untuk bergerak dan membuat engsel pintunya terbuka sehingga membuka pintu smart deposit boxnya. Setelah beberapa saat pinnya terbuka lalu lalu akan kembali ke mode awal yaitu masukkan "password", yang mana untuk menguncinya kembali harus memasukkan password yang sama agar mikrokontroller memerintahkan motor untuk kembali menggerakkan engsel pintu agar smart deposit box kembali tertutup.
 

Apabila terdapat kesalahan dalam memasukkan kode pin, maka pintu penyimpan tidak dapat terbuka. Dapat dilihat ketika dimasukkan angka "2222" maka LCD akan menampilkan kalimat "salah".

 

Diluar dari sistem tersebut, terdapat pemasangan sistem keamanan berupa magnetic sensor dan vibration sensor, yang mana kedua ouput ini berpengaruh dengan hidup atau matinya sensor infrared. Ketika sensor infrared tidak hidup atau berlogika 0, maka sensor magnetic dan sensor vibration apapun inputnya tidak akan berubah LCD nya, tetapi jika sensor infrarednya hidup dan kedua sistem sensor ini juga hidup, maka pada LCD akan menampilkan "ada maling". Yang mana ketika sensor magnetik hidup atau berlogika ini menandakan tidak ada magnet disekitar engsel pintu tersebut dan berlogika 0 menandakan masih terdapat medan magnet disekitar engsel pintu,  aplikasi ini di desain untuk mempunyai magnet disekitar pintunya. Yang terakhir yaitu sensor vibration dimana akan aktif jika terjadi getaran/guncangan pada smart deposit box saat maling ingin mencungkil/melakukan sesuatu terhadap smart deposit tersebut.



d) Flowchart dan Listing Program
Flowchart

Listing code
 

#include <Keypad.h>

#include <LiquidCrystal.h>

Memanggil library LCD yang digunakan untuk mengaktifkan

#define PIN_INFRARED 13

#define PIN_REED_MAGNETIK 12

#define PIN_GETAR 11

#define MOTOR_PIN 10

Mendefinisikan konstanta pada pin arduino

// Inisialisasi objek LCD

LiquidCrystal lcd(A5, A4, A3, A2, A1, A0);

 

const byte BARIS = 4;

const byte KOLOM = 3;

char tombolKeypad[BARIS][KOLOM] = {

  {'1', '2', '3'},

  {'4', '5', '6'},

  {'7', '8', '9'},

  {'*', '0', '#'}

};

byte pinBaris[BARIS] = {3, 2, 1, 0};

byte pinKolom[KOLOM] = {4, 5, 6};

LCD diinisialisasi dengan menggunakan objek LiquidCrystal.

Beberapa variabel global dideklarasikan, termasuk matriks tombolKeypad yang merepresentasikan layout keypad, serta array pinBaris dan pinKolom yang menentukan pin-pin keypad.

int panjangPassword = 4;

int indeksPassword = 0;

char password[4];

 

bool safeDalamModePeringatan = true;

bool motorOn = false;

Mendeklarasikan variabel (bertipe integer) dan tipe data berupa bool (bernilai benar/salah).

// Inisialisasi objek keypad

Keypad keypad = Keypad(makeKeymap(tombolKeypad), pinBaris, pinKolom, BARIS, KOLOM);

Objek keypad diinisialisasi dengan menggunakan matriks tombol keypad dan konfigurasi pin baris dan kolom.

void setup() {

  // Inisialisasi LCD dan konfigurasi pin

  lcd.begin(16, 2);

  pinMode(PIN_INFRARED, INPUT);

  pinMode(PIN_REED_MAGNETIK, INPUT);

  pinMode(PIN_GETAR, INPUT);

  pinMode(MOTOR_PIN, OUTPUT);

}

Mendeklarasikan LCD dan beberapa pin diatur menjadi inputan

void tampilkanPesanDefault() {

  // Tampilkan pesan default di LCD

  lcd.clear();

  lcd.print("Password: ");

}

menampilkan pesan default di LCD.

Pesan default yang ditampilkan adalah "Password: ".

Menggunakan fungsi lcd.clear() untuk menghapus konten sebelumnya di LCD dan lcd.print() untuk menampilkan pesan.

void tampilkanPesan(const char *pesan, int waktuTunda = 1000) {

  // Tampilkan pesan di LCD dengan opsi waktu tunda

  lcd.clear();

  lcd.print(pesan);

  delay(waktuTunda);

}

Menampilkan pesan di LCD dengan opsi waktu tunda.

Menghapus konten sebelumnya di LCD dengan lcd.clear() dan menampilkan pesan menggunakan lcd.print(pesan).

Terdapat parameter opsional waktuTunda yang menentukan berapa lama pesan akan ditampilkan sebelum dihapus.

Menggunakan fungsi delay(waktuTunda) untuk memberi waktu tunda sebelum pesan dihapus.

void periksaInfrared() {

  // Periksa status infrared

  if (digitalRead(PIN_INFRARED) == LOW) {

    tampilkanPesan("Deposit Box Private");

    delay(500);  // Kurangi delay untuk respons yang lebih cepat

  }

}

Memeriksa status sensor infrared.

Jika sensor infrared mendeteksi sesuatu (status LOW), maka akan menampilkan pesan "Deposit Box Private" di LCD.

Terdapat delay 500 milidetik untuk memberikan respons yang lebih cepat.

void periksaStatusKeamanan() {

  // Baca sensor dan periksa status keamanan

  int sensorReedMagnetik = digitalRead(PIN_REED_MAGNETIK);

  int sensorGetar = digitalRead(PIN_GETAR);

 

  if (!safeDalamModePeringatan) {

    return;  // Mode normal, abaikan pemeriksaan intrusi

  }

 

  if (sensorReedMagnetik == LOW && sensorGetar == HIGH) {

    tampilkanPesan("Ada Maling!");

    delay(500);  // Kurangi delay untuk respons yang lebih cepat

  }

}

Membaca status dari sensor reed magnetik dan sensor getar untuk memeriksa status keamanan.

Jika sistem berada dalam mode peringatan (safeDalamModePeringatan aktif) dan sensor reed magnetik mendeteksi keadaan "LOW" dan sensor getar mendeteksi keadaan "HIGH", maka akan menampilkan pesan "Ada Maling!" di LCD.

Terdapat delay 500 milidetik untuk memberikan respons yang lebih cepat.

void bacaKeypad() {

  // Baca input dari keypad

  char tombol = keypad.getKey();

  if (tombol != NO_KEY) {

    lcd.print(tombol);

    password[indeksPassword] = tombol;

    indeksPassword++;

 

    if (indeksPassword == panjangPassword) {

      indeksPassword = 0;

      periksaPassword();

    }

  }

}

Membaca input dari keypad.

Menggunakan objek keypad untuk mendapatkan tombol yang ditekan.

Jika tombol ditekan (bukan NO_KEY), maka tombol tersebut ditampilkan di LCD, disimpan dalam array password, dan indeks password ditingkatkan.

Jika panjang password terpenuhi, maka fungsi periksaPassword() dipanggil.

void periksaPassword() {

  // Periksa password yang dimasukkan

  if (strncmp(password, "1111", panjangPassword) == 0) {

    tampilkanPesan("Benar");

    delay(100);  // Kurangi delay untuk respons yang lebih cepat

    tampilkanPesan("Halo Salman");

    safeDalamModePeringatan = false;

    motorOn = true;

  } else {

    tampilkanPesan("Salah");

    delay(100);  // Kurangi delay untuk respons yang lebih cepat

  }

}

melakukan pengecekan terhadap password yang dimasukkan.

Jika password yang dimasukkan (diambil dari array password) sama dengan "1111", maka akan menampilkan pesan "Benar" dan "Halo Salman" di LCD.

Selain itu, jika password tidak cocok, maka akan menampilkan pesan "Salah".

Terdapat delay 100 milidetik untuk memberikan respons yang lebih cepat.

Jika password benar, maka safeDalamModePeringatan dinonaktifkan dan motorOn diaktifkan.

void loop() {

  // Jalankan rutin pemeriksaan

  periksaInfrared();

  periksaStatusKeamanan();

 

  if (indeksPassword == 0) {

    tampilkanPesanDefault();

  }

 

  // Baca input dari keypad

  bacaKeypad();

 

  if (motorOn) {

    digitalWrite(MOTOR_PIN, HIGH);

    tampilkanPesan("Halo Salman", 2000);  // Kurangi delay untuk respons yang lebih cepat

    digitalWrite(MOTOR_PIN, LOW);

    motorOn = false;

  }

}

Loop utama program berfungsi untuk menjalankan secara berulang rutinitas pemeriksaan keamanan, termasuk pengecekan sensor infrared dan sensor keamanan lainnya. Jika tidak ada karakter password yang dimasukkan, program menampilkan pesan default "Password: " di LCD. Selanjutnya, input dari keypad dibaca, dan jika panjang password terpenuhi, sistem memeriksa validitas password. Jika password benar, motor diaktifkan, ditampilkan pesan "Halo Salman" selama 2 detik, dan motor dinonaktifkan. Proses ini terus berulang untuk memantau kondisi keamanan dan memberikan respons sesuai dengan input keypad serta status sensor.

e) Kondisi

Ketika sensor infrared menyala maka pada LCD menampilkan "password"
Ketika menginputkan password yang benar pada keypad maka LCD akan menampilkan "benar" "hallo salman" maka pintu box akan terbuka
Ketika menginputkan password yang salah pada keypad maka LCD akan menampilkan "salah" kemudian diperintahkan memasukkan password kembali.
Ketika Sensor Vibration dan Sensor Magnetic berlogika 1 maka LCD akan menampilkan "ada maling"

f) Video Simulasi

VIDEO [KEMBALI]

video simulasi rangkaian


Video Teori
  • Video Teori LCD

  • Video Teori Arduino

  • Video Teori Sensor Infrared
  • Video Sensor Vibration
  • Video Sensor Magnetic Reed Switch

g). Download File [KEMBALI]

Download rangkaian klik disini
Download HTML klik disini
Download listing program klik disini
Download video simulasi rangkaian klik disini
Download Flowchart klik disini
  • Download Library
Download library Arduino klik disini
Download library LCD klik disini
Download library Infrared Sensor klik disini
Download library Magnetic Reed Switch Sensor klik disini
Download library Vibration Sensor klik disini
  • Download datasheet 
Download datasheet Arduino UNO klik disini
Download datasheet LCD klik disini
Download datasheet Infrared Sensor klik disini
Download datasheet Magnetic Reed Switch Sensor klik disini
Download datasheet Vibration Sensor klik disini

Tidak ada komentar:

Posting Komentar

Tugas Besar Machine Learning: Penerapan Penerapan Jaringan Syaraf Tiruan Backpropagation untuk Smart Control Early Warning System (EWS)

Referensi : Rahardi, G. A. (2023). Penerapan Jaringan Syaraf Tiruan Backpropagation untuk Smart Control Early Warning System (EWS).  CYCLOTR...