Kamis, 16 November 2023

MODUL 1

 

 KEYPAD AND 7-SEGMENT



1. Pendahuluan[Kembali]

    Dalam menghadapi perkembangan teknologi yang semakin pesat, keamanan menjadi aspek krusial yang harus diperhatikan secara serius, terutama dalam melindungi barang berharga atau dokumen penting. Pada konteks ini, penggunaan mikrokontroler telah membuka pintu inovasi baru dalam pengembangan sistem keamanan. Artikel ini akan mengeksplorasi sebuah aplikasi mikrokontroler yang bertujuan meningkatkan keamanan brankas melalui integrasi sensor PIR, getaran, dan sentuhan. Penggunaan teknologi ini diharapkan mampu memberikan lapisan keamanan tambahan dan menjawab tuntutan zaman terhadap sistem proteksi yang semakin cerdas.
    Sensor PIR, atau Passive Infrared, menjadi elemen kunci dalam mendeteksi pergerakan yang mencurigakan di sekitar brankas. Kombinasi dengan sensor vibration, sistem ini dapat merespons terhadap upaya pembongkaran atau manipulasi fisik terhadap brankas tersebut. Tidak hanya itu, keberadaan sensor touch memberikan dimensi interaktif pada sistem keamanan ini, memungkinkan pengguna untuk berinteraksi langsung dengan brankas melalui input yang lebih intuitif.
    Selain itu, penggunaan keypad dan display 7-segment pada mikrokontroler memberikan akses kontrol yang lebih terstruktur dan aman. Keypad berfungsi sebagai antarmuka untuk memasukkan kode atau kombinasi tertentu yang akan membuka brankas, sementara display 7-segment memberikan informasi visual mengenai status keamanan atau petunjuk untuk proses penggunaan. Dengan menggabungkan semua komponen ini, aplikasi mikrokontroler untuk sistem keamanan brankas ini diharapkan mampu menyajikan solusi yang efektif, cerdas, dan dapat diandalkan dalam melindungi barang berharga.

2. Tujuan[Kembali]

  1. Memahami prinsip dasar input dan output pada mikrokontroler.
  2. Mampu mengonfigurasi dan mengendalikan 7-segment sebagai output pada mikrokontroler.
  3. Mampu menangkap dan memproses input dari keypad.

3. Alat dan Bahan[Kembali]

BAHAN
        1. Seven Segment Commmon Cathode

        2. Arduino Mega 2560
Spesifikasi :
- Catu Daya : 6 ~ 12V
- Tegangan Operasi : 5V
- Mikrokontroler : ATmega2560
- Chip USB : CH340
- Memori Flash : 256KB
- SRAM : 8KB
- EEPROM : 4KB
- Clock Speed : 16MHz
- Analog I/O : 16 Pin
- Digital I/O : 54 Pin
- PWM : 15 Pin
- Arus Per Pin GPIO : 40mA
- Dimensi : 33.3 x 18 mm

        3. Keypad 3x4

Spesifikasi :
- Contact rating : 20 mA, 24 VDC
- Resistance : 200 ohm (max)
- Life : 1.000.000 cycles per key
- Operating temperature : -20 to +60
- Storage Temperature : -40 to +65

        3. Resistor
Spesifikasi :
Resistance (ohms)          : 10K, 500K
Power (Watts)                 : 0.25W, 1/4W
Tolerance                        : -+ 5%
Packaging                       : Bulk
Composition                    : Carbon Film
Temperature Coefficient  : 350 ppm/C
Lead free status              : Lead free
RoHS status                    : RoHS Compliant

       4. Sensor Vibration
Spesifikasi
- Miniature size - 3.3 mm x 6.9 mm
- Simple interface - No signal conditioning required
- Nano-power - As little as 50 nA
- Surface mount - RoHS & REACH complaint, lead free, Halogen free

        5. Sensor Touch
Spesifikasi
- Tegangan kerja : 2v s/d 5.5v (optimal 3V)
- Output high VOH : 0.8 VCC (typical)
- Output low VOL : 0.3 VCC (max)
- Arus Output Pin Sink (@ VCC 3V, VOL 0.6V) : 8 mA

       6. Sensor PIR
Spesifikasi
- Tegangan: 5V-20V
- Konsumsi daya: 65 mA
- TTL output: 3,3 V, 0V
- Waktu tunda: dapat disesuaikan (.3->5 menit)
- Waktu penguncian: 0,2 detik
- Metode pemicu: l - nonaktifkan pemicu berulang, H aktifkan pemicu berulang
- Rentang penginderaan: kurang dari 120 derajat, dalam jarak 7 meter
- Suhu: -15 ° ~ 70
- Dimensi: 32*24 mm, jarak antara sekrup 28mm, M2, Dimensi lensa diameter: 23mm

        7. Motor DC
Spesifikasi
- Standard 130 Type DC motor
- Operating Voltage: 4.5V to 9V
- Recommended/Rated Voltage: 6V
- Current at No load: 70mA (max)
- No-load Speed: 9000 rpm
- Loaded current: 250mA (approx)
- Rated Load: 10g*cm

- Motor Size: 27.5mm x 20mm x 15mm
- Weight: 17 grams

        8. Dioda

Spesifikasi :
- Package Type                            : Available in DO-41 & SMD package
- Diode TYpe                                 : Silicon rectifier general usage diode
- Max repetitive reverse voltage   : 1000 volts
- Average Fwd Current                 : 1000 mA
- Non-repetitive max Fwd current : 30A
- Max power disipation                 : 3 W
- Max storage & operating temperature should be : -55 to +175 Centigrade

        9. Transistor
Spesifikasi :
- Jenis Paket: TO-92
- Jenis Transistor: NPN
- Arus Kolektor Maks (IC): 100mA
- Tegangan Kolektor-Emitor Maks (VCE): 45V
- Tegangan Kolektor-Basis Maks (VCB): 50V
- Tegangan Basis Emitor Maks (VEBO): 6V
- Disipasi Kolektor Maks (Pc): 500 miliWatt
- Frekuensi Transisi Maks (ft): 300 MHz
- Penguatan Arus DC Minimum & Maksimum (hFE): 110 – 800
- Penyimpanan Maks & Suhu Pengoperasian Harus: -65 hingga +150 Celcius

        10. Relay
Spesifikasi :
- Tegangan pemicu (tegangan kumparan) 5V
- Arus pemicu 70mA
- Beban maksimum AC 10A @ 250 / 125V
- Maksimum baban DC 10A @ 30 / 28V
- Switching maksimum

ALAT
        1. Power Supply

Spesifikasi :
1. Daya listrik (Power supply): Ini mengacu pada daya yang diberikan oleh sumber listrik ke peralatan elektronik. Daya ini diukur dalam watt (W). Spesifikasi daya listrik mencakup tegangan input yang diperlukan (misalnya 110V atau 220V AC) dan frekuensi (misalnya 50Hz atau 60Hz).
2. Konsumsi daya (Power consumption): Ini adalah jumlah daya yang dikonsumsi oleh peralatan elektronik saat beroperasi. Konsumsi daya juga diukur dalam watt (W) dan umumnya dicantumkan dalam spesifikasi produk. Informasi ini membantu untuk mengetahui berapa banyak daya yang diperlukan oleh peralatan tersebut dan mempengaruhi kebutuhan daya listrik yang dibutuhkan.
3. Daya output (Power output): Jika Anda merujuk pada peralatan yang menghasilkan daya, seperti power amplifier atau power bank, spesifikasi power output akan memberikan informasi tentang daya yang dihasilkan oleh perangkat tersebut. Ini juga diukur dalam watt (W) dan mungkin mencakup spesifikasi daya maksimum dan daya kontinu yang dapat dihasilkan.

        2. Voltmeter DC

Spesifikasi :
1. Rentang pengukuran: Ini mengacu pada rentang tegangan yang dapat diukur oleh voltmeter. Misalnya, voltmeter mungkin memiliki rentang pengukuran antara 0 hingga 10 volt atau 0 hingga 1000 volt
2. Akurasi: Ini adalah tingkat ketepatan voltmeter dalam mengukur tegangan. Akurasi biasanya dinyatakan dalam persentase kesalahan maksimum. Sebagai contoh, voltmeter mungkin memiliki akurasi ±1% yang berarti kesalahan maksimum yang mungkin terjadi adalah 1% dari nilai yang diukur.
3. Resolusi: Resolusi mengacu pada jumlah digit yang ditampilkan pada voltmeter. Resolusi yang lebih tinggi berarti voltmeter dapat menampilkan angka yang lebih rinci. Sebagai contoh, voltmeter dengan resolusi 3 digit dapat menampilkan angka hingga tiga angka di belakang koma.
4. Impedansi input: Ini adalah resistansi internal voltmeter terhadap arus listrik yang melewati alat. Impedansi input yang lebih tinggi pada voltmeter memungkinkan pengukuran tegangan yang lebih akurat tanpa mengganggu sirkuit yang sedang diukur.
5. Jenis input: Voltmeter dapat dirancang untuk mengukur tegangan searah (DC) atau tegangan bolak-balik (AC). Beberapa voltmeter juga dapat mengukur kedua jenis tegangan.

4. Dasar Teori[Kembali]

        1. Seven Segment Common Cathode

Seven segment merupakan bagian-bagian yang digunakan untuk menampilkan angka atau bilangan desimal. Seven segment terbagi menjadi 7 batang LED yang disusun membentuk angka 8. LED tersebut juga dapat digunakan untuk menampilkan huruf A-F yang disebut juga DOT Matriks. Setiap segment ini terdiri dari 1 atau 2 LED (Light Emitting Dioda). Seven segment bisa menunjukan angka-angka desimal serta beberapa bentuk tertentu.
Common Cathode merupakan bergabung menjadi satu Pin, sedangkan penujang Anoda bisa menjadi Input untuk masing-masing Segmen LED. Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.LED Seven Segment Display Tipe Common Katoda.
Pada LED 7 Segmen jenis Common Cathode (Katoda), Kaki Katoda pada semua segmen LED adalah terhubung menjadi 1 Pin, sedangkan Kaki Anoda akan menjadi Input untuk masing-masing Segmen LED.  Kaki Katoda yang terhubung menjadi 1 Pin ini merupakan Terminal Negatif (-) atau Ground sedangkan Signal Kendali (Control Signal) akan diberikan kepada masing-masing Kaki Anoda Segmen LED.

        2. Arduino Mega 2560
Arduino Mega 2560 adalah sebuah board arduino yang menggunakan IC Mikrokontroler 2560. Board ini memiliki Pin I/O yang relatif banyak, 54 digital Input / Output, 15 buah di antaranya dapat digunakan sebagai output PWM, 16 buah analog input, 4 UART (port serial).


pin tegangan yang tersedia pada arduino mega 2560
- VIN : Input tegangan untuk papan Arduino ketika menggunakan sumber daya eksternal (sebagai ‘saingan’ tegangan 5 Volt dari koneksi USB atau sumber daya ter-regulator lainnya).
- 5V : Sebuah pin yang mengeluarkan tegangan ter-regulator 5 Volt, dari pin ini tegangan sudah diatur (ter-regulator) dari regulator yang tersedia (built-in) pada papan. Arduino dapat diaktifkan dengan sumber daya baik berasal dari jack power DC (7-12 Volt), konektor USB (5 Volt), atau pin VIN pada board (7-12 Volt).
- 3.3V : Sebuah pin yang menghasilkan tegangan 3,3 Volt. Tegangan ini dihasilkan oleh regulator yang terdapat pada papan (on-board). Arus maksimum yang dihasilkan adalah 50 mA.
- GND : Pin Ground.
- IOREF : Pin ini pada papan Arduino berfungsi untuk memberikan referensi tegangan yang beroperasi pada mikrokontroler. Sebuah perisai (shield) dikonfigurasi dengan benar untuk dapat membaca pin tegangan IOREF dan memilih sumber daya yang tepat atau mengaktifkan penerjemah tegangan (voltage translator) pada output untuk bekerja pada tegangan 5 Volt atau 3,3 Volt.
Arduino ATmega2560 memiliki 256 KB flash memory untuk menyimpan kode (yang 8 KB digunakan untuk bootloader), 8 KB SRAM dan 4 KB EEPROM (yang dapat dibaca dan ditulis dengan perpustakaan EEPROM).
PI dengan fungsi khusus
- Serial : 0 (RX) dan 1 (TX); Serial 1 : 19 (RX) dan 18 (TX); Serial 2 : 17 (RX) dan 16 (TX); Serial 3 : 15 (RX) dan 14 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL. Pins 0 dan 1 juga terhubung ke pin chip ATmega16U2 Serial USB-to-TTL.
- Eksternal Interupt : Pin 2 (interrupt 0), pin 3 (interrupt 1), pin 18 (interrupt 5), pin 19 (interrupt 4), pin 20 (interrupt 3), dan pin 21 (interrupt 2). Pin ini dapat dikonfigurasi untuk memicu sebuah interupsi pada nilai yang rendah, meningkat atau menurun, atau perubah nilai.
- SPI : Pin 50 (MISO), pin 51 (MOSI), pin 52 (SCK), pin 53 (SS). Pin ini mendukung komunikasi SPI menggunakan perpustakaan SPI. Pin SPI juga terhubung dengan header ICSP, yang secara fisik kompatibel dengan Arduino Uno, Arduino Duemilanove dan Arduino Diecimila.
- LED : Pin 13. Tersedia secara built-in pada papan Arduino ATmega2560. LED terhubung ke pin digital 13. Ketika pin diset bernilai HIGH, maka LED menyala, dan ketika pin diset bernilai LOW, maka LED padam
- TWI : Pin 20 (SDA) dan pin 21 (SCL). Yang mendukung komunikasi TWI menggunakan perpustakaan wire. Perhatikan bahwa pin ini tidak di lokasi yang sama dengan pin TWI pada Arduino Duemilanove atau Arduino Diecimila.
- AREF : Referensi tegangan untuk input analog. Digunakan dengan fungsi analogReference().
- RESET : Jalur LOW ini digunakan untuk mereset (menghidupkan ulang) mikrokontroler. Jalur ini biasanya digunakan untuk menambahkan tombol reset pada shield yang menghalangi papan utama Arduino.

        3. Keypad 3x4
Keypad 3x4 adalah perangkat input yang umumnya digunakan untuk memasukkan data atau perintah ke dalam mikrokontroler atau sistem tertentu. Format "3x4" mengacu pada susunan tiga kolom dan empat baris dari tombol-tombol pada keypad tersebut. Keypad ini biasanya memiliki 12 tombol, yang terdiri dari 10 tombol numerik (0-9) dan dua tombol khusus, seperti tombol '*' dan tombol '#'.
tombol '*' memiliki fungsi khusus seperti untuk reset ataupun menu, implementasi tergantung pada penggunaannya. tombol '#' digunakan untuk menyelesaikan suatu input atau memberikan perintah.
Setiap tombol pada keypad ini mempresentasikan suatu nilai numerik atau karakter khusus. Saat salah satu tombol ditekan, sinyal atau kode yang sesuai dikirimkan ke perangkat mikrokontroler atau sistem yang kemudian dapat menanggapi input tersebut.
hFE = iC/iB
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.

        4. Resistor

Resistor adalah komponen elektronika pasif yang memiliki nilai resistansi atau hambatan tertentu yang berfungsi untuk membatasi dan mengatur arus listrik dalam suatu rangkaian elektronika. Satuan Resistor adalah Ohm (simbol: Ω) yang merupakan satuan SI untuk resistansi listrik. Resitor 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 (V = I.R ).
Cara menghitung nilai resistor

Perhitungan untuk resistor dengan 4 gelang warna
- Masukkan angka langsung dari kode warna gelang ke-1 (pertama)
- Masukkan angka langsung dari kode warna gelang ke-2
- Masukkan Jumlah nol dari kode warna gelang ke-3 atau pangkatkan angka tersebut dengan 10 (10^n)
- Gelang ke 4 merupakan toleransi dari nilai resistor tersebut

        5. Sensor Touch
Berdasarkan fungsinya, Sensor Sentuh dapat dibedakan menjadi dua jenis utama yaitu Sensor Kapasitif dan Sensor Resistif. Sensor Kapasitif atau Capacitive Sensor bekerja dengan mengukur kapasitansi sedangkan sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya.
1) Sensor Kapasitif
Sensor sentuh Kapasitif merupakan sensor sentuh yang sangat populer pada saat ini, hal ini dikarenakan Sensor Kapasitif lebih kuat, tahan lama dan mudah digunakan serta harga yang relatif lebih murah dari sensor resistif. Ponsel-ponsel pintar saat ini telah banyak yang menggunakan teknologi ini karena juga menghasilkan respon yang lebih akurat. Berbeda dengan Sensor Resistif yang menggunakan tekanan tertentu untuk merasakan perubahan pada permukaan layar, Sensor Kapasitif memanfaatkan sifat konduktif alami pada tubuh manusia untuk mendeteksi perubahan layar sentuhnya. Layar sentuh sensor kapasitif ini terbuat dari bahan konduktif (biasanya Indium Tin Oxide atau disingkat dengan ITO) yang dilapisi oleh kaca tipis dan hanya bisa disentuh oleh jari manusia atau stylus khusus ataupun sarung khusus yang memiliki sifat konduktif.

2) Sensor resistif
sensor sentuh resistif ini tidak tergantung pada sifat listrik yang terjadi pada konduktivitas pelat logam. Sensor Resistif bekerja dengan mengukur tekanan yang diberikan pada permukaannya. Karena tidak perlu mengukur perbedaan kapasitansi, sensor sentuh resistif ini dapat beroperasi pada bahan non-konduktif seperti pena, stylus atau jari di dalam sarung tangan. Sensor sentuh resistif terdiri dari dua lapisan konduktif yang dipisahkan oleh jarak atau celah yang sangat kecil. Dua lapisan konduktif (lapisan atas dan lapisan bawah) ini pada dasarnya terbuat dari sebuah film. Film-film umumnya dilapisi oleh Indium Tin Oxide yang merupakan konduktor listrik yang baik dan juga transparan (bening). Cara kerjanya hampir sama dengan sebuah sakelar, pada saat film lapisan atas mendapatkan tekanan tertentu baik dengan jari maupun stylus, maka film lapisan atas akan bersentuhan dengan film lapisan bawah sehingga menimbulkan aliran listrik pada titik koordinat tertentu layar tersebut dan memberikan signal ke prosesor untuk melakukan proses selanjutnya.

Konfigurasi
Grafik respon
  

        6. Sensor PIR
Sensor PIR (Passive Infrared Receiver) adalah sebuah sensor yang biasa digunakan untuk mendeteksi keberadaan manusia. Sensor PIR adalah sebuah sensor yang menangkap pancaran sinyal inframerah yang dikeluarkan oleh tubuh manusia maupun hewan. Sensor PIR dapat merespon perubahan- perubahan pancaran sinyal inframerah yang dipancarkan oleh tubuh manusia.

Simbol PIR Sensor :
Grafik respon sensor

       7. Sensor Vibration


Pinout:



Vibration sensor adalah perangkat yang dapat mengukur jumlah dan frekuensi getaran yang terdapat pada sebuah sistem, mesin dan beberapa perangkat tertentu. Pengukuran tersebut bisa digunakan untuk melakukan pendeteksian pada masalah lain yang terdapat pada sebuah aset dan melakukan prediksi pada kerusakan yang akan terjadi di masa mendatang.

Grafik respon:

       8. Motor DC

Prinsip Kerja 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.

       9.  Logic state







Gerbang Logika (Logic Gates) adalah sebuah entitas untuk melakukan pengolahan input-input yang berupa bilangan biner (hanya terdapat 2 kode bilangan biner yaitu, angka 1 dan 0) dengan menggunakan Teori Matematika Boolean sehingga dihasilkan sebuah sinyal output yang dapat digunakan untuk proses berikutnya.  

Input dan Output pada Gerbang Logika hanya memiliki 2 level. Kedua Level tersebut pada umumnya dapat dilambangkan dengan :

  • HIGH (tinggi) dan LOW (rendah)
  • TRUE (benar) dan FALSE (salah)
  • ON (Hidup) dan OFF (Mati)
  • 1 dan 0

 7 jenis gerbang logika :

  1. Gerbang AND : Apabila semua / salah satu input merupakan bilangan biner (berlogika) 0, maka output akan menjadi 0. Sedangkan jika semua input adalah bilangan biner (berlogika) 1, maka output akan berlogika 1.
  2. Gerbang OR  : Apabila semua / salah satu input merupakan bilangan biner (berlogika) 1, maka output akan menjadi 1. Sedangkan jika semua input adalah bilangan biner (berlogika) 0, maka output akan berlogika 0.
  3. Gerbang NOT : Fungsi Gerbang NOT adalah sebagai Inverter (pembalik). Nilai output akan berlawanan dengan inputnya.
  4. Gerbang NAND : Apabila semua / salah satu input bilangan biner (berlogika) 0, maka outputnya akan berlogika 1. Sedangkan jika semua input adalah bilangan biner (berlogika) 1, maka output akan berlogika 0.
  5. Gerbang NOR : Apabila semua / salah satu input bilangan biner (berlogika) 1, maka outputnya akan berlogika 0. Sedangkan jika semua input adalah bilangan biner (berlogika) 0, maka output akan berlogika 1.
  6. Gerbang XOR : Apabila input berbeda (contoh : input A=1, input B=0) maka output akan berlogika 1. Sedangakan jika input adalah sama, maka output akan berlogika 0.
  7. Gerbang XNOR : Apabila input berbeda (contoh : input A=1, input B=0) maka output akan berlogika 0. Sedangakan jika input adalah sama, maka output akan berlogika 1.
        10. Diode
Cara kerja dioda sendiri dapat dijelaskan dalam tiga kondisi, yaitu kondisi tanpa tegangan (unbiased), diberikan tegangan positif (forward biased), dan tegangan negatif (reverse biased).
- Kondisi tanpa tegangan
Pada kondisi tidak diberikan tegangan akan terbentuk suatu perbatasan medan listrik pada daerah P-N junction. Hal ini terjadi diawali dengan proses difusi, yaitu bergeraknya muatan elektro dari sisi n ke sisi p. Elektron-elektron tersebut akan menempati suatu tempat di sisi p yang disebut dengan holes. Pergerakan elektron-elektron tersebut akan meninggalkan ion positif di sisi n, dan holes yang terisi dengan elektron akan menimbulkan ion negatif di sisi p. Ion-ion tidak bergerak ini akan membentuk medan listrik statis yang menjadi penghalang pergerakan elektron pada dioda

- Kondisi forward bias
Pada kondisi ini, bagian anoda disambungkan dengan terminal positif sumber listrik dan bagian katoda disambungkan dengan terminal negatif. Adanya tegangan eksternal akan mengakibatkan ion-ion yang menjadi penghalang aliran listrik menjadi tertarik ke masing-masing kutub. Ion-ion negatif akan tertarik ke sisi anoda yang positif, dan ion-ion positif akan tertarik ke sisi katoda yang negatif.

- Kondisi reverse bias
Pada kondisi ini, bagian anoda disambungkan dengan terminal negatif sumber listrik dan bagian katoda disambungkan dengan terminal positif. Adanya tegangan eksternal akan mengakibatkan ion-ion yang menjadi penghalang aliran listrik menjadi tertarik ke masing-masing kutub.

        11. Transistor
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: 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

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.

Karakteristik Output
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.




Rumus-rumus transistor:

Konfigurasi Transistor:


Konfigurasi Common Base adalah konfigurasi yang kaki Basis-nya di-ground-kan dan digunakan bersama untuk INPUT maupun OUTPUT.  Pada Konfigurasi Common Base, sinyal INPUT dimasukan ke Emitor  dan sinyal OUTPUT-nya diambil dari Kolektor, sedangkan kaki Basis-nya di-ground-kan. Oleh karena itu, Common Base juga sering disebut dengan istilah “Grounded Base”. Konfigurasi Common Base ini menghasilkan Penguatan Tegangan antara sinyal INPUT dan sinyal OUTPUT namun tidak menghasilkan penguatan pada arus.

Konfigurasi Common Collector (CC) atau Kolektor Bersama memiliki sifat dan fungsi yang berlawan dengan Common Base (Basis Bersama). Kalau pada Common Base menghasilkan penguatan Tegangan tanpa memperkuat Arus, maka Common Collector ini memiliki fungsi yang dapat menghasilkan Penguatan  Arus namun tidak menghasilkan penguatan Tegangan. Pada Konfigurasi Common Collector, Input diumpankan ke Basis Transistor sedangkan Outputnya diperoleh dari Emitor Transistor sedangkan Kolektor-nya di-ground-kan dan digunakan bersama untuk INPUT maupun OUTPUT. Konfigurasi Kolektor bersama (Common Collector) ini sering disebut juga dengan Pengikut Emitor (Emitter Follower) karena tegangan sinyal Output pada Emitor hampir sama dengan tegangan Input Basis.

Konfigurasi Common Emitter (CE) atau Emitor Bersama merupakan Konfigurasi Transistor yang paling sering digunakan, terutama pada penguat yang membutuhkan penguatan Tegangan dan Arus secara bersamaan. Hal ini dikarenakan Konfigurasi Transistor dengan Common Emitter ini menghasilkan penguatan Tegangan dan Arus antara sinyal Input dan sinyal Output. Common Emitter adalah konfigurasi Transistor dimana kaki Emitor Transistor di-ground-kan dan dipergunakan bersama untuk INPUT dan OUTPUT. Pada Konfigurasi Common Emitter ini, sinyal INPUT dimasukan ke Basis dan sinyal OUTPUT-nya diperoleh dari kaki Kolektor.

 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.

           12. Relay







Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Pada dasarnya, Relay terdiri dari 4 komponen dasar  yaitu :

  1. Electromagnet (Coil)
  2. Armature
  3. Switch Contact Point (Saklar)
  4. Spring

Berikut ini merupakan gambar dari bagian-bagian Relay :Struktur dasar Relay

Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :

  • Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi CLOSE (tertutup)
  • Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di posisi OPEN (terbuka)

Berdasarkan gambar diatas, sebuah Besi (Iron Core) yang dililit oleh sebuah kumparan Coil yang berfungsi untuk mengendalikan Besi tersebut. Berdasarkan penggolongan jumlah Pole dan Throw-nya sebuah relay, maka relay dapat digolongkan menjadi :

  • Single Pole Single Throw (SPST) : Relay golongan ini memiliki 4 Terminal, 2 Terminal untuk Saklar dan 2 Terminalnya lagi untuk Coil.
  • Single Pole Double Throw (SPDT) : Relay golongan ini memiliki 5 Terminal, 3 Terminal untuk Saklar dan 2 Terminalnya lagi untuk Coil.
  • Double Pole Single Throw (DPST) : Relay golongan ini memiliki 6 Terminal, diantaranya 4 Terminal yang terdiri dari 2 Pasang Terminal Saklar sedangkan 2 Terminal lainnya untuk Coil. Relay DPST dapat dijadikan 2 Saklar yang dikendalikan oleh 1 Coil.
  • Double Pole Double Throw (DPDT) : Relay golongan ini memiliki Terminal sebanyak 8 Terminal, diantaranya 6 Terminal yang merupakan 2 pasang Relay SPDT yang dikendalikan oleh 1 (single) Coil. Sedangkan 2 Terminal lainnya untuk Coil.

Untuk lebih jelas mengenai Penggolongan Relay berdasarkan Jumlah Pole dan Throw, silakan lihat gambar dibawah ini :Jenis relay berdasarkan Pole dan Throw

            13. Buzzer





Kata buzzer sebetulnya berasal dari Bahasa Inggris, artinya bel, lonceng, atau alarm. Sedangkan pengertian buzzer secara harfiah adalah alat yang digunakan untuk atau dimanfaatkan untuk menyampaikan dan menyebarluaskan pengumuman. Jadi pada bagian ini buzzer digunakan sebagai output yaitu sebagai penanda atau sebagai bel peringatan.

5. Percobaan[Kembali]

a. Prosedur[Kembali]

1. Siapkan komponen yang diperlukan
2. Susunlah rangkaian sesuai dngan panduan
3. Inputkan codingan pada software arduino IDE
4. Jalankan rangkaian

b. Hardware dan Diagram Block[Kembali]

c. Rangkaian Simulasi dan Prinsip Kerja[Kembali]


Pada rangkaian terdapat keypad dan seven segment yang berfungsi sebagai inputan sandi dari brankas, dimana pada brankas ini sudah diatur dalam codingan arduino dimana jika diberikan inputan digit '319' maka pintu brankas akan terbuka. jika seven segment menerima inputan kecuali dari angka yang telah diatur pada codingan maka pintu tetap tertutup. hal ini bisa dilihat pada codingan berikut :
else if (keyPressed == '*')
        {
            // Check if U1 = 3, U2 = 1, U3 = 9
            if (nilai_satuan_U1 == 3 && nilai_puluhan_U1 == 1 && nilai_ratusan_U1 == 9)
            {
                digitalWrite(pinTerbuka, HIGH);
                digitalWrite(pinTertutup, LOW);
            }
            else
            {
                digitalWrite(pinTerbuka, LOW);
                digitalWrite(pinTertutup, HIGH);
            }
Selanjutnya pada sensor
- Sensor Infrared
sensor IR berfungsi untuk mendeteksi adanya serangga seperti rayap yang berpotensi akan merusak benda atau uang yang disimpan dalam brankas. Sensor IR ini akan aktif jika terdapat serangga dimana akan ...
- Sensor Flame
sensor Flame berfungsi untuk mendeteksi adanya api disekitar brankas, dimana jika terdapat api maka sensor ini akan berlogika HIGH dan akan mengaktifkan buzzer yang merupakan alarm pengingat.
- Sensor Vibration
sensor vibration ini berfungsi untuk mendeteksi ada percobaan membuka secara paksa pintu brankas, saat sensor vibration berlogika high maka pintu akan tertutup dan akan mengaktifkan buzzer sebagai alarm pengingat.
if (digitalRead(pinIR) == HIGH || digitalRead(pinFlame) == HIGH || digitalRead(pinVib) == HIGH)
        {
            digitalWrite(pinTerbuka, LOW);
            digitalWrite(pinTertutup, HIGH);
        }
        else
        {
            digitalWrite(pinTerbuka, HIGH);
            digitalWrite(pinTertutup, LOW);
        }

        // Check if pinFlame and pinVib are HIGH
        if (digitalRead(pinFlame) == HIGH || digitalRead(pinVib) == HIGH)
        {
            digitalWrite(pinBuzzer, HIGH);
        }
        else
        {
            digitalWrite(pinBuzzer, LOW);
        }

d. Flowchart dan Listing Program[Kembali]

#include <Keypad.h>

#define DATA 2
#define CLK 3
#define LATCH 4

byte segment[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};

int check;
int nilai_satuan_U1 = 0;
int nilai_puluhan_U1 = 0;
int nilai_ratusan_U1 = 0;

int nilai_satuan_U2 = 0;
int nilai_puluhan_U2 = 0;
int nilai_ratusan_U2 = 0;

int nilai_satuan_U3 = 0;
int nilai_puluhan_U3 = 0;
int nilai_ratusan_U3 = 0;

int currentDisplay = 1; // 1 for U1, 2 for U2, 3 for U3

const int rows = 4;
const int cols = 3;

char key[rows][cols] =
    {
        {'1', '2', '3'},
        {'4', '5', '6'},
        {'7', '8', '9'},
        {'*', '0', '#'}};

byte rowpins[rows] = {0, 1, 8, 9}; // Sesuaikan pin keypad dengan rangkaian Anda
byte colpins[cols] = {10, 11, 12};  // Sesuaikan pin keypad dengan rangkaian Anda

Keypad keypad = Keypad(makeKeymap(key), rowpins, colpins, rows, cols);

const int pinIR = A0;
const int pinFlame = A1;
const int pinVib = A2;
const int pinTerbuka = A3;
const int pinTertutup = A4;
const int pinBuzzer = 7;

void setup()
{
    pinMode(pinIR, INPUT);
    pinMode(pinFlame, INPUT);
    pinMode(pinVib, INPUT);

    pinMode(DATA, OUTPUT);
    pinMode(CLK, OUTPUT);
    pinMode(LATCH, OUTPUT);

    pinMode(pinTerbuka, OUTPUT);
    pinMode(pinTertutup, OUTPUT);
   
    pinMode(pinBuzzer, OUTPUT);

    Serial.begin(9600); // Inisialisasi komunikasi serial
    Serial.println("Sedang di dalam setup");
}

void digitToSevenSegment(int satuan, int puluhan, int ratusan, int display)
{
    digitalWrite(LATCH, LOW);

    // Determine the segment based on the digit
    byte segSatuan = ~segment[satuan];
    byte segPuluhan = ~segment[puluhan];
    byte segRatusan = ~segment[ratusan];

    // Apply the segment to the corresponding display
    switch (display)
    {
    case 1:
        shiftOut(DATA, CLK, MSBFIRST, segSatuan);    // digit satuan U1
        shiftOut(DATA, CLK, MSBFIRST, segPuluhan);   // digit puluhan U1
        shiftOut(DATA, CLK, MSBFIRST, segRatusan);   // digit ratusan U1
        break;

    case 2:
        shiftOut(DATA, CLK, MSBFIRST, segSatuan);    // digit satuan U2
        shiftOut(DATA, CLK, MSBFIRST, segPuluhan);   // digit puluhan U2
        shiftOut(DATA, CLK, MSBFIRST, segRatusan);   // digit ratusan U2
        break;

    case 3:
        shiftOut(DATA, CLK, MSBFIRST, segSatuan);    // digit satuan U3
        shiftOut(DATA, CLK, MSBFIRST, segPuluhan);   // digit puluhan U3
        shiftOut(DATA, CLK, MSBFIRST, segRatusan);   // digit ratusan U3
        break;
    }

    digitalWrite(LATCH, HIGH);
}

void loop()
{
    char keyPressed = keypad.getKey();
    if (keyPressed != NO_KEY)
    {
        if (keyPressed == '#')
        {
            digitToSevenSegment(0, 0, 0, 1);
            digitToSevenSegment(0, 0, 0, 2);
            digitToSevenSegment(0, 0, 0, 3);
            check = 0;
        }
        else if (keyPressed == '*')
        {
            // Check if U1 = 3, U2 = 1, U3 = 9
            if (nilai_satuan_U1 == 3 && nilai_puluhan_U1 == 1 && nilai_ratusan_U1 == 9)
            {
                digitalWrite(pinTerbuka, HIGH);
                digitalWrite(pinTertutup, LOW);
            }
            else
            {
                digitalWrite(pinTerbuka, LOW);
                digitalWrite(pinTertutup, HIGH);
            }

            // Check if pinFlame and pinVib are HIGH
            if (digitalRead(pinFlame) == HIGH && digitalRead(pinVib) == HIGH)
            {
                digitalWrite(pinBuzzer, HIGH);
            }
            else
            {
                digitalWrite(pinBuzzer, LOW);
            }
        }
        else if (keyPressed == '0' || (keyPressed >= '1' && keyPressed <= '9'))
        {
            int digit = keyPressed - '0';
            if (check == 0)
            {
                if (currentDisplay == 1)
                {
                    nilai_satuan_U1 = digit;
                    digitToSevenSegment(nilai_satuan_U1, 0, 0, 1);
                }
                else if (currentDisplay == 2)
                {
                    nilai_satuan_U2 = digit;
                    digitToSevenSegment(nilai_satuan_U2, 0, 0, 2);
                }
                else if (currentDisplay == 3)
                {
                    nilai_satuan_U3 = digit;
                    digitToSevenSegment(nilai_satuan_U3, 0, 0, 3);
                }
                check = 1;
            }
            else if (check == 1)
            {
                if (currentDisplay == 1)
                {
                    nilai_puluhan_U1 = digit;
                    digitToSevenSegment(nilai_satuan_U1, nilai_puluhan_U1, 0, 1);
                }
                else if (currentDisplay == 2)
                {
                    nilai_puluhan_U2 = digit;
                    digitToSevenSegment(nilai_satuan_U2, nilai_puluhan_U2, 0, 2);
                }
                else if (currentDisplay == 3)
                {
                    nilai_puluhan_U3 = digit;
                    digitToSevenSegment(nilai_satuan_U3, nilai_puluhan_U3, 0, 3);
                }
                check = 2;
            }
            else if (check == 2)
            {
                if (currentDisplay == 1)
                {
                    nilai_ratusan_U1 = digit;
                    digitToSevenSegment(nilai_satuan_U1, nilai_puluhan_U1, nilai_ratusan_U1, 1);
                    currentDisplay = 2;
                }
                else if (currentDisplay == 2)
                {
                    nilai_ratusan_U2 = digit;
                    digitToSevenSegment(nilai_satuan_U2, nilai_puluhan_U2, nilai_ratusan_U2, 2);
                    currentDisplay = 3;
                }
                else if (currentDisplay == 3)
                {
                    nilai_ratusan_U3 = digit;
                    digitToSevenSegment(nilai_satuan_U3, nilai_puluhan_U3, nilai_ratusan_U3, 3);
                    currentDisplay = 1;
                }
                check = 0;
            }
        }
        if (digitalRead(pinIR) == HIGH || digitalRead(pinFlame) == HIGH || digitalRead(pinVib) == HIGH)
        {
            digitalWrite(pinTerbuka, LOW);
            digitalWrite(pinTertutup, HIGH);
        }
        else
        {
            digitalWrite(pinTerbuka, HIGH);
            digitalWrite(pinTertutup, LOW);
        }

        // Check if pinFlame and pinVib are HIGH
        if (digitalRead(pinFlame) == HIGH || digitalRead(pinVib) == HIGH)
        {
            digitalWrite(pinBuzzer, HIGH);
        }
        else
        {
            digitalWrite(pinBuzzer, LOW);
        }
    }
}


e. Video Simulasi[Kembali]

- Video Simulasi

f. Download[Kembali]

simulasi rangkaian klik disini
Video Prinsip kerja klik disini
Video Merangkai klik disini
Program Arduino klik disini
Datasheet Arduino Mega 2560 klik disini
Datasheet Keypad 3x4 klik disini
Datasheet 7 segment klik disini
Datasheet sensor Infrared klik disini
Datasheet sensor flame klik disini
Datasheet resistor klik disini
Datasheet transistor NPN klik disini
Datasheet motor dc klik disini
Datasheet dioda klik disini
Datasheet relay klik disini
Library Arduino Mega 2560 klik disini
Library Keypad klik disini
Library sensor flame klik disini
Library sensor Infrared klik disini

Entri yang Diunggulkan

UTS Soal 3

  [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Tujuan 2. Alat dan Bahan 3. Dasar Teori 4. Percobaan Percobaan a. Prose...