M3



Kontrol Keamanan Swalayan Melalui Security Room

Pendahuluan [KEMBALI]

    Dalam era teknologi yang terus berkembang, keamanan menjadi aspek yang sangat penting, terutama dalam lingkungan swalayan yang sering kali menjadi target potensial kejahatan. Untuk meningkatkan tingkat keamanan swalayan, penggunaan teknologi modern menjadi suatu keharusan. Salah satu solusi yang inovatif adalah dengan mengimplementasikan sistem kontrol keamanan melalui Security Room menggunakan perangkat Arduino, sensor PIR (Passive Infrared), sensor getaran, dan sensor suhu LM35, serta dilengkapi dengan keypad dan LCD. 

    Dengan menyatukan berbagai komponen tersebut, sistem dapat mendeteksi gerakan yang mencurigakan, getaran yang tidak semestinya, serta perubahan suhu yang signifikan. Informasi yang diperoleh dari sensor-sensor ini akan diintegrasikan dan diproses melalui Arduino untuk memberikan pemantauan dan respons secara real-time. Keberadaan Security Room ini tidak hanya meningkatkan respons terhadap potensi ancaman keamanan, tetapi juga memberikan keunggulan dalam manajemen keamanan swalayan secara efisien dan efektif.

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 PIR
Spesifikasi :
  • Jarak pendeteksian : +/- 6 m.
  • Menggunakan 1 pin output.
  • Dua jenis output : ...
  • Terdapat jumper konfigurasi pemilihan output.
  • Menggunakan header 3x1 dengan pitch 2.54 mm.
  • Tegangan kerja : 3.3 VDC - 5 VDC.
  • Dimensi : 32.2 mm x 24.3 mm x 25.4 mm.
  • Kompatibel dengan berbagai macam mikrokontroler.
    
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 LM35

Spesifikasi :

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 PIR



PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari IR LED dan fototransistor. PIR tidak memancarkan apapun seperti IR LED. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia

Diagram sebsor PIR:



PIR (Passive Infrared Receiver) merupakan sebuah sensor berbasiskan infrared. Akan tetapi, tidak seperti sensor infrared kebanyakan yang terdiri dari IR LED dan fototransistor. PIR tidak memancarkan apapun seperti IR LED. Sesuai dengan namanya ‘Passive’, sensor ini hanya merespon energi dari pancaran sinar inframerah pasif yang dimiliki oleh setiap benda yang terdeteksi olehnya. Benda yang bisa dideteksi oleh sensor ini biasanya adalah tubuh manusia.

Sensor PIR ini bekerja dengan menangkap energi panas yang dihasilkan dari pancaran sinar inframerah pasif yang dimiliki setiap benda dengan suhu benda diatas nol mutlak. Seperti tubuh manusia yang memiliki suhu tubuh kira-kira 32 derajat celcius, yang merupakan suhu panas yang khas yang terdapat pada lingkungan. Pancaran sinar inframerah inilah yang kemudian ditangkap oleh Pyroelectric sensor yang merupakan inti dari sensor PIR ini sehingga menyebabkan Pyroelectic sensor yang terdiri dari galium nitrida, caesium nitrat dan litium tantalate menghasilkan arus listrik. Mengapa bisa menghasilkan arus listrik? Karena pancaran sinar inframerah pasif ini membawa energi panas. Prosesnya hampir sama seperti arus listrik yangterbentuk ketika sinar matahari mengenai solar cell.







dari grafik, didapatkan bahwa suhu juga mempengaruhi seberapa jauh PIR dapat mendeteksi adanya infrared dimana semakin tinggi suhu disekitar maka semakin pendek jarak yang bisa diukur oleh PIR.

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 Suhu (LM35)
 


        Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.

        Prinsip kerja sensor LM35 akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mV. Sinyal suhu di sekitar ruangan akan di deteksi oleh sensor LM35 dimana sensor LM35 mendeteksi sinyal dalam bentuk tegangan.

Grafik Respon Sensor Suhu Lm35

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. LM35 Sensor
  3. LED
  4. Vibration Sensor
  5. PIR sensor
  6. Jumper
Diagram Blok


c) Rangkaian Simulasi dan Prinsip kerja

Rangkaian sebelum disimulasikan


Pada rangkaian kontrol keamana swalayan melalui security room, menggunakan 2 buah mikrokontroller, menggunakan 3 buah sensor yaitu sensor vibration, sensor pir dan sensor suhu LM35, 2 buah motor dan 3 buah led
Ketika di running, saat kondisi default atau standby maka LCD akan menampilkan "swalayan siska". Yang mana ini merupakan sistem keamanan pada swalayan melalui security room. 


Ketika Sensor mendeteksi adanya objek di dalam swalayan pada malam hari, maka sensor PIR akan berlogika 1 dan menyebabkan lampu LED hidup, sehingga LCD akan menampilkan "Ada Maling".


Lalu di dalam room securitynya melihat lampu warna merah, maka akan menekan tombol button, yang akan mengirimkan logic 1 pada pin TX pada pin kontroller kanan dan menerima pin kontroller kiri pada pin RX kemudian akan menghidupkan motor pada pin 10. untuk mengisolasi dimana menutup semua pintuk masuk (atau semua pintu access) seperti jendela, pintu, ventelasi ataupun ruang udara. ditandai dengan motor hidup.

Selanjutnya, terdapat sensor vibration dimana terdapat getaran pada dinding swalayan seperti terdapat orang menggedor-gedor pintu swalayan  maka sensor vibration akan aktif, dan pada LCD akan menampilkan " Ada Seseorang di luar", lalu sinyalnya akan dikirim ke mikrokontroler kiri lalu dikirimkan ke mikro kontroler kanan untuk menghidupkan lampu LED.


Lalu terdapat sensor suhu LM35, berguna sebagai kenyamanan pada pada ruangan security. Ketika suhunya di 28 maka akan menghidupkan kipas ditandai dengan motor aktif atau bergerak. 

Ketika suhunya dibawah 27, seperti suhu di 26 maka kipas akan mati


d) Flowchart dan Listing Program
Flowchart



Listing code Arduino Kanan

#include <Keypad.h>

Memasukkan library Keypad yang diperlukan untuk menggunakan objek keypad di program.

const byte BARIS = 4;

const byte KOLOM = 3;

Deklarasi konstanta BARIS dan KOLOM untuk menentukan jumlah baris dan kolom pada keypad.

char tombolKeypad[BARIS][KOLOM] = {

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

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

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

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

};

Deklarasi array dua dimensi tombolKeypad yang menyimpan karakter pada setiap tombol keypad.

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

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

Deklarasi array pinBaris dan pinKolom yang menyimpan pin untuk baris dan kolom keypad.

const int pinOutput1 = 7;

const int pinOutput2 = 9;

const int pinOutput3 = 10; // Output baru

Deklarasi pin output untuk mengendalikan perangkat keamanan atau pemberitahuan.

const int pinTrigger = 8;

const int pinInput = A0;

const int threshold = 270;  // Nilai dalam mV, 0.27V

Deklarasi pin untuk sensor PIR (pinTrigger), pin untuk sensor suhu LM35 (pinInput), dan nilai ambang batas (threshold) untuk sensor suhu.

 

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

Inisialisasi objek keypad dengan konstruktor Keypad, menggunakan keymap dari array tombol keypad dan pin untuk baris dan kolom.

void setup() {

  pinMode(pinOutput1, OUTPUT);

  pinMode(pinOutput2, OUTPUT);

  pinMode(pinOutput3, OUTPUT); // Set pinOutput3 sebagai OUTPUT

  pinMode(pinTrigger, INPUT_PULLUP);

}

Dalam fungsi setup, mengatur mode pin-output dan pin-trigger sesuai kebutuhan.

void loop() {

  // Baca tombol pada keypad

  char tombol = keypad.getKey();

 

  // Jika tombol '1' ditekan, set Pin Output1 HIGH

  if (tombol == '1') {

    digitalWrite(pinOutput1, HIGH);

    delay(1000); // Tunggu 1 detik

    digitalWrite(pinOutput1, LOW);

  }

 

  // Jika pinTrigger (pin 8) HIGH, set Pin Output2 HIGH

  if (digitalRead(pinTrigger) == HIGH) {

    digitalWrite(pinOutput2, HIGH);

  } else {

    digitalWrite(pinOutput2, LOW);

  }

 

  // Baca tegangan pada pin A0

  int nilaiTegangan = analogRead(pinInput) * (5000.0 / 1023.0);  // Konversi nilai ADC ke mV

 

  // Jika tegangan di atas threshold, set Pin Output3 HIGH

  if (nilaiTegangan > threshold) {

    digitalWrite(pinOutput3, HIGH);

  } else {

    digitalWrite(pinOutput3, LOW);

  }

}

Dalam fungsi loop, program terus berjalan secara berulang:

  • Membaca tombol yang ditekan pada keypad.
  • Jika tombol '1' ditekan, pinOutput1 diaktifkan selama 1 detik.
  • Mengecek status sensor PIR, jika mendeteksi gerakan, pinOutput2 diaktifkan.
  • Membaca nilai tegangan dari sensor suhu, jika melebihi nilai ambang (threshold), pinOutput3 diaktifkan.

 


Listing code Arduino Kiri

#include <LiquidCrystal.h>

Memasukkan library LiquidCrystal yang diperlukan untuk mengoperasikan LCD.

// Pin input dan output

const int pinInput13 = 13;

const int pinOutput12 = 12;

const int pinInput11 = 11;

const int pinOutput10 = 10;

const int pinInput9 = 9;

const int pinOutput8 = 8;

Deklarasi pin untuk input dan output. Pin ini digunakan untuk menghubungkan Arduino dengan berbagai sensor dan perangkat keluaran.

// Inisialisasi LCD menggunakan library LiquidCrystal

LiquidCrystal lcd(A5, A4, A3, A2, A1, A0);  // Sesuaikan pin LCD dengan koneksi pada Arduino Anda

Inisialisasi LCD menggunakan library LiquidCrystal

void setup() {

  // Atur pinInput dan pinOutput

  pinMode(pinInput13, INPUT);

  pinMode(pinOutput12, OUTPUT);

  pinMode(pinInput11, INPUT);

  pinMode(pinOutput10, OUTPUT);

  pinMode(pinInput9, INPUT);

  pinMode(pinOutput8, OUTPUT);

  // Inisialisasi LCD

  lcd.begin(16, 2);  // Ubah ukuran LCD sesuai dengan kebutuhan Anda

  lcd.print("Swalayan Siska");  // Teks default pada mode normal

}

Dalam fungsi setup, mengatur mode pin-input dan pin-output sesuai kebutuhan. Selain itu, inisialisasi LCD dengan ukuran 16x2 dan menampilkan teks awal "Swalayan Siska".

void loop() {

  // Membaca status pin input 13

  int statusInput13 = digitalRead(pinInput13);

 

  if (statusInput13 == HIGH) {

    // Jika pin input 13 HIGH, set pin output 12 HIGH

    digitalWrite(pinOutput12, HIGH);

 

    // Ganti teks pada LCD ketika maling terdeteksi

    lcd.clear();

    lcd.print("Ada Maling!");

  } else {

    // Jika pin input 13 LOW, set pin output 12 LOW

    digitalWrite(pinOutput12, LOW);

 

    // Teks default pada mode normal

    lcd.clear();

    lcd.print("Swalayan Siska");

  }

Dalam fungsi loop, program terus berjalan secara berulang:

  • Membaca status pin input 13. Jika HIGH (maling terdeteksi), mengaktifkan pin output 12 dan menampilkan teks "Ada Maling!" di LCD.
  • Jika LOW (tidak ada maling), menonaktifkan pin output 12 dan menampilkan teks "Swalayan Siska" di LCD.

// Membaca status pin input 11

  int statusInput11 = digitalRead(pinInput11);

 

  if (statusInput11 == HIGH) {

    // Jika pin input 11 HIGH, set pin output 10 HIGH

    digitalWrite(pinOutput10, HIGH);

  } else {

    // Jika pin input 11 LOW, set pin output 10 LOW

    digitalWrite(pinOutput10, LOW);

  }

Membaca status pin input 11. Jika HIGH, mengaktifkan pin output 10. Jika LOW, menonaktifkan pin output 10.

// Membaca status pin input 9

  int statusInput9 = digitalRead(pinInput9);

 

  if (statusInput9 == HIGH) {

    // Jika pin input 9 HIGH, set pin output 8 HIGH

    digitalWrite(pinOutput8, HIGH);

 

    // Ganti teks pada LCD ketika ada seseorang di luar

    lcd.clear();

    lcd.print("Ada Seseorang Di Luar");

  } else {

    // Jika pin input 9 LOW, set pin output 8 LOW

    digitalWrite(pinOutput8, LOW);

  }

Membaca status pin input 9. Jika HIGH, mengaktifkan pin output 8 dan menampilkan teks "Ada Seseorang Di Luar" di LCD. Jika LOW, menonaktifkan pin output 8.

delay(100);  // Delay untuk menghindari pembacaan yang terlalu cepat

}

Delay 100 milidetik untuk menghindari pembacaan yang terlalu cepat dan memberikan waktu bagi sistem untuk merespons perubahan kondisi.


 e) Kondisi
Ketika keadaan default maka LCD akan menampilkan "swalayan siska"
Ketika mendeteksi objek di dalam swalayan dan sensor PIR aktif maka LCD akan menampilkan "Ada Maling"
Ketika terdapat goncangan pada pintu swalayan maka LCD akan menampilkan "Ada seseorang di luar"
Ketika suhu di dalam ruangan security 27 atau diatasnya maka motor akan hidup sehingga kipas menyala
Ketika suhu di dalam ruangan security dibawah 27 mak motor akan mati

f) Video Simulasi

VIDEO [KEMBALI]


  • Video Teori LCD

  • Video Teori Arduino

  • Video Teori Sensor PIR


  • Video Sensor Vibration
  • Video Sensor LM35


g). Download File [KEMBALI]

Download rangkaian klik disini
Download HTML klik disini
Download listing program arduino kanan dan arduino kiri
Download video simulasi rangkaian klik disini
Download Flowchart klik disini
  • Download Library
Download library Arduino klik disini
Download library LCD klik disini
Download library PIR Sensor klik disini
Download library Vibration Sensor klik disini
  • Download datasheet 
Download datasheet Arduino UNO klik disini
Download datasheet LCD klik disini
Download datasheet PIR Sensor klik disini
Download datasheet LM35 Sensor klik disini
Download datasheet Vibration Sensor klik disini

No comments:

Post a Comment

almajri

  Bahan Presentasi Ini Dibuat Untuk Memenuhi  Tugas Mata Kuliah Sistem Digital Dosen : Darwison, M.T Oleh : ALMAJRI KUSMAIDI 2110952003 Ju...