Rabu, 20 Desember 2023


TUGAS BESAR



Aplikasi Kontrol Keamanan Ruangan menggunakan Sensor LM35, Sensor Gas, Sensor Flame, Sensor Pir, Sensor Vibration



1. Pendahuluan
[Kembali]

Bahan kimia merupakan salah satu unsur penting dalam kehidupan manusia. Bahan kimia digunakan dalam berbagai bidang, mulai dari industri, pertanian, kesehatan, hingga rumah tangga. Namun, bahan kimia juga dapat berbahaya bagi manusia dan lingkungan jika tidak ditangani dengan benar.

Oleh karena itu, penting untuk menerapkan kontrol keamanan di ruang bahan kimia. Kontrol keamanan ini bertujuan untuk mencegah terjadinya kecelakaan dan pencemaran lingkungan akibat bahan kimia.

Kontrol keamanan ruang bahan kimia dapat diterapkan dalam berbagai bentuk, mulai dari sistem fisik hingga sistem elektronik. Berikut ini adalah beberapa contoh aplikasi kontrol keamanan ruang bahan kimia:

  • Sistem fisik
    • Sistem deteksi dan alarm kebakaran
    • Sistem ventilasi dan pengendalian udara
    • Sistem penerangan darurat
    • Sistem pintu dan jendela pengaman
  • Sistem elektronik
    • Sistem manajemen inventory
    • Sistem pelacakan bahan kimia
    • Sistem pemantauan suhu dan kelembaban
    • Sistem pemadam kebakaran otomatis

Pentingnya Aplikasi Kontrol Keamanan Ruang Bahan Kimia

Aplikasi kontrol keamanan ruang bahan kimia penting untuk dilakukan karena dapat memberikan manfaat berikut ini:

  • Mencegah terjadinya kecelakaan
    • Kecelakaan akibat bahan kimia dapat berupa kebakaran, ledakan, pencemaran lingkungan, hingga cedera dan kematian. Aplikasi kontrol keamanan dapat membantu mencegah terjadinya kecelakaan-kecelakaan tersebut.
  • Menjaga keselamatan pekerja
    • Pekerja yang bekerja di ruang bahan kimia memiliki risiko yang lebih tinggi mengalami kecelakaan akibat bahan kimia. Aplikasi kontrol keamanan dapat membantu melindungi keselamatan pekerja.
  • Menjaga lingkungan
    • Bahan kimia yang bocor atau tumpah dapat mencemari lingkungan. Aplikasi kontrol keamanan dapat membantu mencegah pencemaran lingkungan akibat bahan kimia.

2. Tujuan [Kembali]
  1. Untuk menyelesaikan tugas mikrokontroler yang diberikan oleh Bapak Dr. Darwison, M.T.
  2. Mengetahui komponen yang digunakan dalam membuat rangkaian pada tugas besar
  3. Menjelaskan prinsip kerja Sensor Flame, vibration, pir, MQ-2, dan sensor suhu

3. Alat dan Bahan [Kembali]

Alat

Power Supply




 Baterai


Spesifikasi dan Pinout Baterai

  • Input voltage: ac 100~240v / dc 10~30v
  • Output voltage: dc 1~35v
  • Max. Input current: dc 14a
  • Charging current: 0.1~10a
  • Discharging current: 0.1~1.0a
  • Balance current: 1.5a/cell max
  • Max. Discharging power: 15w
  • Max. Charging power: ac 100w / dc 250w
  • Jenis batre yg didukung: life, lilon, lipo 1~6s, lihv 1-6s, pb 1-12s, nimh, cd 1-16s
  • Ukuran: 126x115x49mm
  • Berat: 460gr

Voltmeter DC


Bahan

Resistor


Spesifikasi :


Arduino Uno R3


Spesifikasi:

 Jumper
 LED

Spesifikasi: 
  • Superior weather resistance
  • 5mm Round Standard Directivity
  • UV Resistant Eproxy
  • Forward Current (IF): 30mA
  • Forward Voltage (VF): 1.8V to 2.4V
  • Reverse Voltage: 5V
  • Operating Temperature: -30℃ to +85℃
  • Storage Temperature: -40℃ to +100℃
  • Luminous Intensity: 20mcd

Motor DC

Dip Switch

Buzzer

Spesifikasi: 

1. Tegangan kerja: 4v-8v DC (optimal 5v)
2. Arus max: 30mA / 5vDC
3. Kekuatan suara max: 85dB / 10cm
4. Frek resonansi: 2500 +/- 300hz
5. Suhu kerja: -20 ~ +70 C
6. Warna: hitam
7. Diameter: 1cm





T
ransistor NPN BC547


Spesifikasi: 
  • Transistor Type : NPN
  • Voltage – Collector Emitter Breakdown (Max) : 45 V
  • Current- Collector (Ic) (Max) : 100mA
  • Power – Max : 625 mW
  • DC Current Gain (hFE) (Min) @ Ic, Vce : 110 @ 2mA, 5V
  • Vce Saturation (Max) @ Ib Ic : 300mV, @ 5mA, 100mA
  • Frequency – Transition : 300MHz
  • Current- Collector Cutoff (Max) : -
  • Mounting Type : Through Hole
  • Package / Case : TO-226-3, TO-92-3 (TO-226AA) Formed Leads
  • Packaging : Tape & Box (TB
  • Lead Free Status : Lead Free
  • RoHs Status : RoHs Compliant

 Relay


Spesifikasi:

  • Trigger Voltage (Voltage across coil) : 12V DC
  • Trigger Current (Nominal current) : 70mA
  • Maximum AC load current: 10A @ 250/125V AC
  • Maximum DC load current: 10A @ 30/28V DC
  • Compact 5-pin configuration with plastic moulding
  • Operating time: 10msec Release time: 5msec
  • Maximum switching: 300 operating/minute (mechanically)
 Sensor PIR


Spesifikasi: 

Vibration sensor
Spesifikasi:

 Flame sensor


Spesifikasi: 

Ground

Ground Berfungsi sebagai untuk meniadakan beda potensial dengan mengalirkan arus sisa dari kebocoran tegangan atau arus pada rangkaian


Potensiometer
Spesifikasi :
  • Type: Rotary a.k.a Radio POT
  • Available in different resistance values like 500Ω, 1K, 2K, 5K, 10K, 22K, 47K, 50K, 100K, 220K, 470K, 500K, 1 M. 
  • Power Rating: 0.3W
  • Maximum Input Voltage: 200Vdc
  • Rotational Life: 2000K cycles


 Sensor LM35

Sensor Suhu LM35 digunakan untuk mendeteksi suhu ruangan dengan output sebesar 10mV/Celcius.





Spesifikasi Sensor suhu IC LM35  : 
  • Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ºC, sehingga dapat dikalibrasi langsung dalam celcius. 
  • Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu25ºC  
  • Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC. 
  • Bekerja pada tegangan 4 sampai 30 volt. Memiliki arus rendah yaitu kurang dari 60 µA. 
  • Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam. 
  • Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

 Sensor MQ-2

Spesifikasi sensor pada sensor gas MQ-2 adalah sebagai berikut:

  • Catu daya pemanas : 5V AC/DC
  • Catu daya rangkaian : 5VDC
  • Range pengukuran : 200 - 5000ppm untuk LPG, propane 300 - 5000ppm untuk butane 5000- 20000ppm untuk methane 300 - 5000ppm untuk Hidrogen
  • Keluaran : analog (perubahan tegangan)


4. Dasar Teori [Kembali]

a. Arduino Uno 


Arduino merupakan sebuah perangkat elektronik yang bersifat open source dan sering digunakan untuk merancang dan membuat perangkat elektronik serta software yang mudah untuk digunakan. Arduino ini dirancang sedemikian rupa untuk mempermudah penggunaan perangkat elektronik di berbagai bidang.

Arduino ini memiliki beberapa komponen penting di dalamnya, seperti pin, mikrokontroler, dan konektor yang nanti akan dibahas lebih dalam selanjutnya. Selain itu, Arduino juga sudah menggunakan bahasa pemrograman Arduino Language yang sedikit mirip dengan bahasa pemrograman C++. 

Bagian-bagian arduino uno:

1. Power USB
Digunakan untuk menghubungkan PapanArduino dengan komputer lewat koneksi USB
2. Power jack
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
3. Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.  Jumlah cetak    menunjukkan 16000 atau 16000 kHz, atau 16 MHz.
4. Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.
5. Digital Pins I / O
Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.
6. Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.
7. LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.

Bagian-Bagian Pendukung
1. RAM
RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).
2. ROM

ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM. 

Arduino adalah pengendali mikro single-board yang bersifatopen-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman C.Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki 3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA. Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5. Kaki pin merupakan tempat input tegangan kepada Uno saat menggunakan sumber daya eksternal selain USB dan adaptor.

ATMega328 merupakan bagian mikrokontroler yang ada pada arduino R3 keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ini memiliki beberapa fitur antara lain:
  1. Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
  2. Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
  3. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
  4. 32 x 8-bit register serba guna.
  5. Dengan clock 16 MHz kecepatan mencapai 16 MIPS.
  6. 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
  7. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.

b. Resistor



Resistor merupakan salah satu komponen yang digunakan dalam sebuah sirkuit atau rangkaian elektronik. Resistor berfungsi sebagai resistansi/ hambatan yang mampu mengatur atau mengendalikan tegangan dan arus listrik rangkaian. 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 :




c. Power Supply

Vcc berfungsi untuk memberikan tegangan kepada input, dimana disini diberikan kepada switch.



d. Dip Switch


Gambar Dip Switch




Gambar Rangkaian interpretasi Dip Switch

    
DIP switch adalah singkatan dari "Dual In-line Package switch." Ini adalah komponen elektronik yang digunakan untuk mengatur konfigurasi atau pengaturan pada perangkat elektronik, seperti papan sirkuit cetak (PCB) atau perangkat lainnya. DIP switch biasanya digunakan untuk mengatur parameter tertentu dalam perangkat elektronik, seperti alamat memori, pengaturan mode operasi, atau pilihan lain yang dapat dikonfigurasi.

Berikut ini adalah beberapa informasi tambahan tentang DIP switch:

Bentuk Fisik: DIP switch biasanya terlihat seperti baris kecil sakelar kecil yang tertanam dalam paket berbentuk DIP, dengan dua baris pin yang bisa dimasukkan ke dalam lubang-lubang di PCB atau papan sirkuit cetak.

Konfigurasi: DIP switch terdiri dari sejumlah sakelar kecil yang dapat dinyalakan atau dimatikan secara individual. Setiap sakelar mewakili satu bit informasi, sehingga konfigurasi DIP switch dapat mencakup berbagai pengaturan bit yang berbeda, seperti 8-bit, 4-bit, atau lainnya, tergantung pada jumlah sakelar dalam komponen tersebut.

Penggunaan Umum: DIP switch digunakan dalam berbagai aplikasi, termasuk di dalam perangkat keras komputer, perangkat elektronik konsumen, peralatan industri, dan banyak lagi. Misalnya, di komputer lama, DIP switch dapat digunakan untuk mengatur alamat I/O, IRQ (Request Interrupt), atau konfigurasi lainnya. Dalam perangkat konsumen modern, penggunaan DIP switch mungkin tidak seumum dulu karena banyak perangkat sekarang menggunakan metode konfigurasi perangkat lunak.

Keuntungan: Keuntungan penggunaan DIP switch adalah kemudahan pengaturan dan ketahanan terhadap perubahan konfigurasi yang tidak disengaja. Pengguna dapat dengan mudah mengatur switch sesuai dengan kebutuhan tanpa perlu pengetahuan khusus atau perangkat lunak khusus. Selain itu, konfigurasi DIP switch tidak hilang atau berubah ketika perangkat dimatikan atau listrik terputus.


e. Jumper
Kabel jumper adalah kabel elektrik yang memiliki pin konektor di setiap ujungnya dan memungkinkanmu untuk menghubungkan dua komponen yang melibatkan Arduino tanpa memerlukan solder. Intinya kegunaan kabel jumper ini adalah sebagai konduktor listrik untuk menyambungkan rangkaian listrik. Biasanya kabel jamper digunakan pada breadboard atau alat prototyping lainnya agar lebih mudah untuk mengutak-atik rangkaian.

Jenis jenis kabel jumper yang paling umum adalah sebagai berikut:
    • Kabel Jumper Male to Male
      Kabel Jumper Male to Male

      Jenis yang pertama adalah kabel jumper male male. Kabel jumper male to male adalah adalah jenis yang sangat yang sangat cocok untuk kamu yang mau membuat rangkaian elektronik di breadboard.

    • Kabel Jumper Male to Female
      Kabel Jumper Male to Female

      Kabel jumper male female memiliki ujung konektor yang berbeda pada tiap ujungnya, yaitu male dan female.

      Biasanya kabel ini digunakan untuk menghubungkan komponen elektronika selain arduino  ke breadboard
    • Kabel Jumper Female to Female

      Kabel Jumper Female to Female
      Jenis kabel jumper yang terakhir adalah kabel female to female. Kabel ini sangat cocok untuk menghubungkan antar komponen yang memiliki  header male
    f. Motor DC


    Motor DC adalah motor listrik yang  memerluka supla teganga arus searah pada kumparan medan untuk diubah menjadi energi gerak mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Motor arus searah, sebagaimana namanya, menggunakan arus langsung yang tidak langsung/direct- unidirectional. Motor DC adalah piranti elektronik yang mengubah energi listrik menjadi energi mekanik berupa gerak rotasi. Pada motor DC terdapat jangkadengan satu atau lebih kumparan terpisah. Tiap kumparan berujung pada cincin belah (komutator). Dengaadanya insulator antara komutator, cincin belah dapat berperan sebagai saklar kutub ganda (double pole, double throw switch). Motor DC bekerja berdasarkan prinsip gaya Lorentzyang menyatakan ketika sebuah konduktor beraliran  arus diletakkan dalam medan magnet,  maka sebuah gay(yang dikenal dengan gaya Lorentz) akan tercipta secara ortogonal diantara arah medan magnet dan arah aliran arus. Kecepatan putar motor DC (N) dirumuskadengaPersamaan berikut.

     

    Gambar Rumus Kecepatan Putar Motor DC

     Simbol Motor DC

     

     

    Gambar  Simbol Motor DC

    Motor DC tersusun dari dua bagian yaitu bagian diam (stator) dan bagian bergerak (rotor). Stator motor arus searah adalah badan motor atau kutub magnet (sikat-sikat), sedangkan yang termasuk rotor adalah jangkar lilitanya. Pada motor, kawat penghantar listrik yang bergerak tersebut pada dasarnya merupakan lilitan yang berbentuk persegpanjang yang disebut kumparan.

     
    Prinsip Kerja Motor DC

     

    Gambar Prinsip Kerja Motor DC

    Kumparan ABCD terletak dalam medan magnet serba sama dengan keduduka sis akti A da CB  yang  terleta tepa lurus  arah fluks magnet. Sedangkan sisi AB dan DC ditahan pada bagian tengahnya, sehingga apabila sisi AD dan CB berputar karena adanya gaya lorentz, maka kumparan ABCD akan berputar. 
    Hasil perkalian gaya dengan jarak pada suatu titik tertentu disebut momen, sisi aktif AD dan CB akan berputar pada porosnya karena pengaruh momen putar (T). Setiap sisi kumparan aktif AD dan CB pada gambar diatas akan mengalami momen putar sebesar :

     

    T = F.r

     Dimana :

    T = momen putar (Nm) F = gaya tolak (newton)

    r = jarak sisi kumparapada sumbu putar (meter)

    Pada daerah dibawah kutub-kutub magnet besarnya momen putar tetap karena besarnya gaya lorentz. Hal ini berarti bahwa kedudukan garis netral sisi sisi kumparan akan berhenti berputar. Supaya motor dapat berputar terus dengan baik, maka perlu ditambah jumlah kumparan yang digunakan. Kumparan- kumparan harus diletakkan sedemikian rupa sehingga momen putar yang dialami setiap sisi kumparan akan saling membantu dan menghasilkan putaran yang baik. Dengan pertimbangan teknis, maka kumparan-kumparan yang berputar tersebut dililitkan pada suatu alat yang disebut jangkar, sehingga lilitan kumparan itupun disebut lilitan jangkar. Struktur Motor DC dapat dilihat pada gambar berikut ini.

    Gambar Struktur Motor DC

    g. LED

    LED merupakan singkatan dari Light Emitting Diode, merupakan salah satu perangkat semikonduktor yang mengeluarkan cahaya ketika arus listrik melewatinya, dan digunakan sebagai indikator keluaran (output). 

    Tegangan LED menurut warna yang dihasilkan:

      • Infra merah : 1,6 V.
      • Merah : 1,8 V – 2,1 V.
      • Oranye : 2,2 V.
      • Kuning : 2,4 V.
      • Hijau : 2,6 V.
      • Biru : 3,0 V – 3,5 V.
      • Putih : 3,0 – 3,6 V.
      • Ultraviolet : 3,5 V.

    h. 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. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.


    Ada besi atau yang disebut dengan nama inti besi dililit oleh sebuah kumparan yang berfungsi sebagai pengendali.  Sehingga kumparan kumparan yang diberikan arus listrik maka akan menghasilkan gaya elektromagnet.  Gaya tersebut selanjutnya akan menarik angker untuk pindah dari biasanya tutup ke buka normal.  Dengan demikian saklar menjadi pada posisi baru yang biasanya terbuka yang dapat menghantarkan arus listrik.  Ketika armature sudah tidak dialiri arus listrik lagi maka ia akan kembali pada posisi awal, yaitu normal close.

    Fitur:

    1. Tegangan pemicu (tegangan kumparan) 5V

    2. Arus pemicu 70mA

    3. Beban maksimum AC 10A @ 250 / 125V

    4. Maksimum baban DC 10A @ 30 / 28V

    5. Switching maksimum


    i. Transistor BC547

    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


    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
                        



    j.  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 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.

    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.

    Grafik Respon Pir terhadap suhu


    Grafik sensor pir terhadap jarak, kecepatan,arah objek



    k. 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:


    l. Sensor Flame


    Salah satu detektor yang memiliki fungsi terpenting adalah detektor api atau yang biasa disebut dengan Flame Detector yang mampu mengaktifkan alarm bila mendeteksi adanya percikan api yang berisiko menyebabkan bencana kebakaran. Namun, saat memilih Flame Detector, pengguna diharuskan telah benar-benar paham atas prinsip dari alat detektor tersebut dan meninjaunya demi mendapatkan Flame Detector yang sesuai dengan aktivitas di dalam lokasi dan tingkat kebutuhannya, serta bagaimana konsekuensi risiko yang mungkin terjadi.

    Prinsip Flame Detektor tersebut menggunakan metode optik yang bekerja seperti UV (ultraviolet) dan IR (infrared), pencitraan visual api, serta spektroskopi yang berfungsi untuk mengidentifikasi percikan api atau flame. Reaksi intens bahan yang memicu kebakaran dapat ditandai dari UV, terlihatnya emisi karbondioksida, dan radiasi dari infrared. Flame Detector juga mampu membedakan antara False Alarm atau peringatan palsu dengan api kebakaran sungguhan melalui komponen sistem yang dirancang dengan fungsi mendeteksi adanya penyerapan cahaya yang terjadi pada gelombang tertentu.
    Tingkat potensi risiko kebakaran dari setiap jenis bahan semakin meluas mengingat semakin canggihnya teknologi penginderaan api atau teknologi Flame Sensing. Pada umumnya bahan bakar industri yang tergolong mudah terbakar antara lain: bensin, hidrogen, belerang, alkohol, LNG/LPG, minyak tanah, kertas, disel, kayu, jet bahan bakar, tekstil, ethylene, dan pelarut.



    m. Sensor MQ-2
                     
    Sensor MQ-2 berfungsi untuk mendeteksi keberadaan asap yang berasal dari gas mudah terbakar di udara. Pada dasarnya sensor ini terdiri dari tabung aluminium yang dikelilingi oleh silikon dan di pusatnya ada elektroda yang terbuat dari aurum di mana ada element pemanasnya.

    Ketika terjadi proses pemanasan, kumparan akan dipanaskan sehingga SnO2 keramik menjadi semikonduktor atau sebagai penghantar sehingga melepaskan elektron dan ketika asap dideteksi oleh sensor dan mencapai aurum elektroda maka output sensor MQ-2 akan menghasilkan tegangan analog.

    Spesifikasi sensor pada sensor gas MQ-2 adalah sebagai berikut:

    •     Catu daya pemanas : 5V AC/DC
    •     Catu daya rangkaian : 5VDC
    •     Range pengukuran : 200 - 5000ppm untuk LPG, propane 300 - 5000ppm untuk butane 5000 -      20000ppm untuk methane 300 - 5000ppm untuk Hidrogen
    •     Keluaran : analog (perubahan tegangan)

    konfigurasi dari sensor MQ-S :

    •     Pin 1 merupakan heater internal yang terhubung dengan ground.
    •     Pin 2 merupakan tegangan sumber (VC) dimana Vc < 24 VDC.
    •     Pin 3 (VH) digunakan untuk tegangan pada pemanas (heater internal) dimana VH = 5VDC.
    •     Pin 4 merupakan output yang akan menghasilkan tegangan analog.

        Berdasarkan grafik diatas, dapat dilihat bahwa konsentrasi minimum yang dapat diuji adalah 100ppm dan maksimumnya 10000ppm atau konsentrasi gasnya antara 0.01% dan 1%. Namun, rumusnya tidak dapat ditentukan karena hubungan grafik antara rasio dan konsentrasi adalah nonlinear.


    n. Sensor 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 mempunyaikeluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan.


    IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari – 55°C sampai dengan 150°C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 Î¼ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 ° C di dalam suhu ruangan. Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor. 


    Prinsip Kerja LM35 :
    Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100°C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1°C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control.

    Sensor suhu LM35 mampu melakukan pengukuran suhu dari suhu -55ºC hingga +150ºC dengan toleransi kesalahan pengukuran ±0.5ºC.

    Dilihat dari tipenya range suhu dapat dilihat sebagai berikut :
    • LM35, LM35A -> range pengukuran temperature  -55ºC hingga +150ºC.
    • LM35C, LM35CA -> range pengukuran temperature -40ºC hingga +110ºC.
    • LM35D -> range pengukuran temperature 0ºC hingga +100ºC. 
    Kelebihan LM 35 :
    • Rentang suhu yang jauh, antara -55 sampai +150ºC
    • Low self-heating, sebesar 0.08 ºC
    • Beroperasi pada tegangan 4 sampai 30 V
    • Tidak memerlukan pengkondisian sinyal
    Kekurangan LM 35:
    • Membutuhkan tegangan untuk beroperasi.

    Pinout:


    Grafik:


    • Rangkaian Reset

      Mikrokontroler menggunakan rangkaian reset. Rangkaian power on reset terdiri dari resistor 4,7KΩ dan tombol untuk penekanan reset secara manual yang diparalel dengan capasitor 10nF.

      Rangkain Reset
      Rangkain Reset low


    • Rangkaian reset Low aktif ketika berlogika 0 , jika kondisi seperti gambar diatas maka arus akan mengalir langsung kepin reset pada arduino. dikarnakan ada arus yang mengalir maka pin reset arduino berlogika 1, karna arduino aktif low maka pin reset tidak aktif ,karna arduino tidak aktif maka arus mengalir ke capasitor terjadi pengisian dan dibutton tidak terhubung sehingga arus langsung keground
    •  Jika kondisi Button terhubung maka arus akan mengalir langsung keground karna kecendrungan arus melewati resistansi yang kecil yang mengakibatkan arus mengalir keground capasitor terjadi pengosongan sehingga arus mengalir keground
    • dikarenakan tidak ada arus menuju pin reset maka pin reset berlogika 0 (aktif)
    • Rangkaian power regulator diperlukan agar tegangan yang masuk ke dalam rangkaian mikrokontroler dalam kondisi yang stabil, yaitu +5 volt. Pada umumnya, rangkaian power regulator terdiri dari sebuah dioda sebagai penyearah tegangan, beberapa keping capacitor  sebagai penyaring, sebuah chip regulator LM7805 serta pasangan LED dan resistor sebagai indikator.

    Kompenen Lainnya

    -Arduino
    Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.

    Adapun spesifikasi dari Arduino Uno ini adalah sebagai berikut :

     

    Arduino Uno

    Bagian-bagian arduino uno:

    -Power USB

    Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

    -Power jack

    Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

    -Crystal Oscillator

    Kristal ini digunakan sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan             16000 atau 16000 kHz, atau 16 MHz.

    -Reset

    Digunakan untuk mengulang program Arduino dari awal atau Reset.

    -Digital Pins I / O

    Papan Arduino UNO memiliki 14 Digital Pin. Berfungsi untuk memberikan nilai logika ( 0 atau 1 ). Pin berlabel " ~ " adalah pin-pin PWM ( Pulse Width Modulation ) yang dapat digunakan untuk menghasilkan PWM.

    -Analog Pins

    Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

    -RAM

    RAM (Random Access Memory) adalah tempat penyimpanan sementara pada komputer yang isinya dapat diakses dalam waktu yang tetap, tidak memperdulikan letak data tersebut dalam memori atau acak. Secara umum ada 2 jenis RAM yaitu SRAM (Static Random Acces Memory) dan DRAM (Dynamic Random Acces Memory).

    -ROM

    ROM (Read-only Memory) adalah perangkat keras pada computer yang dapat menyimpan data secara permanen tanpa harus memperhatikan adanya sumber listrik. ROM terdiri dari Mask ROM, PROM, EPROM, EEPROM.

    Block Diagram Mikrokontroler ATMega 328P pada Arduino UNO

    Adapun block diagram mikrokontroler ATMega 328P dapat dilihat pada gambar berikut:



    Block diagram dapat digunakan untuk memudahkan / memahami bagaimana kinerja dari mikrokontroler ATMega 328P.

    Pin-pin ATMega 328P:

                Rangkaian Mikrokontroler ATMega 328P pada Arduino UNO



    5. Percobaan [Kembali]


    a. Prosedur[Kembali]
    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. Handware dan Diagram Blok[Kembali]

    -Hardware 

    Arduino


    Pir sensor

    Sensor flame



    sensor MQ-2



    Sensor vibration



    Sensor LM35




    LED


    Motor DC


    -Diagram Blok


    c. Rangkaian Simulasi dan Prinsip Kerja[Kembali] 


     Prinsip Kerja:

    Penjelasan lebih detail tentang prinsip kerja sistem keamanan laboratorium seperti yang Anda sebutkan adalah sebagai berikut:

    1. Sensor PIR mendeteksi keberadaan orang dalam laboratorium

    Sensor PIR (Passive Infrared) adalah sensor yang mendeteksi perubahan intensitas radiasi infra merah. Radiasi infra merah adalah radiasi yang tidak dapat dilihat oleh mata manusia, tetapi dapat dideteksi oleh sensor PIR.

    Ketika ada orang masuk ke dalam laboratorium, sensor PIR akan mendeteksi perubahan intensitas radiasi infra merah. Perubahan intensitas radiasi infra merah ini disebabkan oleh panas tubuh orang tersebut.

    Jika sensor PIR mendeteksi adanya orang di dalam laboratorium, maka output dari sensor akan menyalakan LCD. LCD akan menyala untuk menunjukkan bahwa laboratorium sedang digunakan.

    2. Sensor flame mendeteksi api dalam laboratorium

    Sensor api adalah sensor yang mendeteksi adanya api. Sensor api dapat mendeteksi adanya api dengan menggunakan berbagai metode, seperti:

    • Deteksi panas: Sensor api ini mendeteksi adanya kenaikan suhu yang disebabkan oleh api.
    • Deteksi asap: Sensor api ini mendeteksi adanya asap yang disebabkan oleh api.
    • Deteksi nyala api: Sensor api ini mendeteksi adanya nyala api secara langsung.

    Jika sensor api mendeteksi adanya api dalam laboratorium, maka output dari sensor akan menggerakkan motor untuk menghidupkan sprinkler. Sprinkler adalah alat yang berfungsi untuk menyemprotkan air untuk memadamkan api.

    3. Sensor vibration mendeteksi gempa di laboratorium

    Sensor getaran adalah sensor yang mendeteksi adanya getaran. Sensor getaran dapat mendeteksi adanya getaran dengan menggunakan berbagai metode, seperti:

    • Deteksi getaran langsung: Sensor getaran ini mendeteksi adanya getaran secara langsung.
    • Deteksi tekanan: Sensor getaran ini mendeteksi adanya tekanan yang disebabkan oleh getaran.

    Jika sensor getaran mendeteksi adanya gempa di laboratorium, maka output dari sensor akan membunyikan alarm. Alarm berfungsi untuk memperingatkan orang-orang di dalam laboratorium tentang adanya bahaya.

    4. Sensor gas digunakan untuk mendeteksi adanya gas berbahaya di laboratorium. Jika sensor gas mendeteksi adanya gas berbahaya, maka buzzer atau alarm peringatan akan berbunyi.

    5. Sensor suhu digunakan untuk mendeteksi suhu di dalam ruangan. Jika sensor suhu mendeteksi suhu di dalam ruangan <23 derajat, maka heater akan hidup.

    d. Flowchart dan Listing Program[Kembali]

    • Flowchart






      • Listing Program 
    // Program to exercise the MD_MAX72XX library // // Uses most of the functions in the library #include <MD_MAX72xx.h> //#include <SPI.h> // Turn on debug statements to the serial output #define DEBUG 1 #define pir 2 #define lamp 5 #define flame 3 #define mtr 6 #define vib 4 #define buz 7 #define gas 8 #define Sensorsuhu A0 #define fan 9 #define heat A1 #if DEBUG #define PRINT(s, x) { Serial.print(F(s)); Serial.print(x); } #define PRINTS(x) Serial.print(F(x)) #define PRINTD(x) Serial.println(x, DEC) #else #define PRINT(s, x) #define PRINTS(x) #define PRINTD(x) #endif // Define the number of devices we have in the chain and the hardware interface // NOTE: These pin numbers will probably not work with your hardware and may // need to be adapted #define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW #define MAX_DEVICES 11 #define CLK_PIN 13 // or SCK #define DATA_PIN 11 // or MOSI #define CS_PIN 10 // or SS // SPI hardware interface MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES); // Arbitrary pins // MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, DATA_PIN, CLK_PIN, CS_PIN, MAX_DEVICES); // We always wait a bit between updates of the display #define DELAYTIME 100 // in milliseconds void scrollText(char *p) { uint8_t charWidth; uint8_t cBuf[8]; // this should be ok for all built-in fonts mx.clear(); while (*p != '\0') { charWidth = mx.getChar(*p++, sizeof(cBuf) / sizeof(cBuf[0]), cBuf); for (uint8_t i=0; i<=charWidth; i++) // allow space between characters { mx.transform(MD_MAX72XX::TSL); if (i < charWidth) mx.setColumn(0, cBuf[i]); delay(DELAYTIME); } } } void spiral() // setPoint() used to draw a spiral across the whole display { PRINTS("\nSpiral in"); int rmin = 0, rmax = ROW_SIZE-1; int cmin = 0, cmax = (COL_SIZE*MAX_DEVICES)-1; mx.clear(); while ((rmax > rmin) && (cmax > cmin)) { // do row for (int i=cmin; i<=cmax; i++) { mx.setPoint(rmin, i, true); delay(DELAYTIME/MAX_DEVICES); } rmin++; // do column for (uint8_t i=rmin; i<=rmax; i++) { mx.setPoint(i, cmax, true); delay(DELAYTIME/MAX_DEVICES); } cmax--; // do row for (int i=cmax; i>=cmin; i--) { mx.setPoint(rmax, i, true); delay(DELAYTIME/MAX_DEVICES); } rmax--; // do column for (uint8_t i=rmax; i>=rmin; i--) { mx.setPoint(i, cmin, true); delay(DELAYTIME/MAX_DEVICES); } cmin++; } } void intensity() // Demonstrates the control of display intensity (brightness) across // the full range. { uint8_t row; PRINTS("\nVary intensity "); mx.clear(); // Grow and get brighter row = 0; for (int8_t i=0; i<=MAX_INTENSITY; i++) { mx.control(MD_MAX72XX::INTENSITY, i); if (i%2 == 0) mx.setRow(row++, 0xff); delay(DELAYTIME*3); } mx.control(MD_MAX72XX::INTENSITY, 8); } void scanLimit(void) // Uses scan limit function to restrict the number of rows displayed. { PRINTS("\nScan Limit"); mx.clear(); mx.control(MD_MAX72XX::UPDATE, MD_MAX72XX::OFF); for (uint8_t row=0; row<ROW_SIZE; row++) mx.setRow(row, 0xff); mx.control(MD_MAX72XX::UPDATE, MD_MAX72XX::ON); for (int8_t s=MAX_SCANLIMIT; s>=0; s--) { mx.control(MD_MAX72XX::SCANLIMIT, s); delay(DELAYTIME*5); } mx.control(MD_MAX72XX::SCANLIMIT, MAX_SCANLIMIT); } void transformation1() // Demonstrates the use of transform() to move bitmaps on the display // In this case a user defined bitmap is created and animated. { uint8_t arrow[COL_SIZE] = { 0b00001000, 0b00011100, 0b00111110, 0b01111111, 0b00011100, 0b00011100, 0b00111110, 0b00000000 }; MD_MAX72XX::transformType_t t[] = { MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TSL, MD_MAX72XX::TFLR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TSR, MD_MAX72XX::TRC, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TSD, MD_MAX72XX::TFUD, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TSU, MD_MAX72XX::TINV, MD_MAX72XX::TRC, MD_MAX72XX::TRC, MD_MAX72XX::TRC, MD_MAX72XX::TRC, MD_MAX72XX::TINV }; PRINTS("\nTransformation1"); mx.clear(); // use the arrow bitmap mx.control(MD_MAX72XX::UPDATE, MD_MAX72XX::OFF); for (uint8_t j=0; j<mx.getDeviceCount(); j++) mx.setBuffer(((j+1)*COL_SIZE)-1, COL_SIZE, arrow); mx.control(MD_MAX72XX::UPDATE, MD_MAX72XX::ON); delay(DELAYTIME); // run through the transformations mx.control(MD_MAX72XX::WRAPAROUND, MD_MAX72XX::ON); for (uint8_t i=0; i<(sizeof(t)/sizeof(t[0])); i++) { mx.transform(t[i]); delay(DELAYTIME*4); } mx.control(MD_MAX72XX::WRAPAROUND, MD_MAX72XX::OFF); } void showCharset(void) // Run through display of the the entire font characters set { mx.clear(); mx.update(MD_MAX72XX::OFF); for (uint16_t i=0; i<256; i++) { mx.clear(0); mx.setChar(COL_SIZE-1, i); if (MAX_DEVICES >= 3) { char hex[3]; sprintf(hex, "%02X", i); mx.clear(1); mx.setChar((2*COL_SIZE)-1,hex[1]); mx.clear(2); mx.setChar((3*COL_SIZE)-1,hex[0]); } mx.update(); delay(DELAYTIME*2); } mx.update(MD_MAX72XX::ON); } int s_pir = digitalRead(pir); void spir(){ int s_pir = digitalRead(pir); if(s_pir == HIGH) { digitalWrite(lamp , HIGH); mx.clear(); transformation1(); }else if (s_pir == LOW){ digitalWrite (lamp,LOW); mx.clear(); } } int s_flame = digitalRead(flame); void sflame() { int s_flame = digitalRead(flame); if(s_flame == HIGH){ digitalWrite(mtr,HIGH); } else if( s_flame == LOW){ digitalWrite(mtr,LOW); } } int s_vib = digitalRead(vib); int s_gas = digitalRead(gas); void sgasdanvib() { int s_vib = digitalRead(vib); int s_gas = digitalRead(gas); if (s_vib == HIGH || s_gas == HIGH) { digitalWrite(buz, HIGH); // Use a common pin for both vibration and gas buzzers } else { digitalWrite(buz, LOW); } } void ssuhu(){ int sensorValue = analogRead(Sensorsuhu); float temperature = sensorValue/2;//(sensorValue * 0.48876) / 10.0; Serial.print("Suhu: "); Serial.print(temperature); Serial.println(" °C"); if (temperature > 26.0) { // Jika suhu lebih dari 20 derajat, hidupkan kipas dan matikan pemanas digitalWrite(fan, HIGH); digitalWrite(heat, LOW); } else if (temperature < 23.0) { // Jika suhu kurang dari 10 derajat, hidupkan pemanas dan matikan kipas digitalWrite(fan, LOW); digitalWrite(heat, HIGH); } else { // Jika suhu antara 20 dan 25 derajat, matikan kipas dan pemanas digitalWrite(fan, LOW); digitalWrite(heat, LOW); } } void setup() { mx.begin(); //#if DEBUG Serial.begin(57600); // Serial.begin(9600); //#endif pinMode(pir,INPUT); pinMode(lamp,OUTPUT); pinMode(flame,INPUT); pinMode(mtr,OUTPUT); pinMode(vib,INPUT); pinMode(buz,OUTPUT); pinMode(gas,INPUT); pinMode(fan,OUTPUT); pinMode(heat,OUTPUT); } void loop() { ssuhu(); sflame(); sgasdanvib(); spir(); if( s_pir == LOW && s_flame == LOW && s_gas == LOW && s_vib == LOW ) { scrollText("Selamat Datang"); }else { } }


    Berikut adalah penjelasan untuk setiap baris dalam kodingan yang diberikan:

    1. #include <MD_MAX72xx.h>:

      • Memasukan pustaka untuk mengendalikan modul LED Matriks MAX72xx.

      #define DEBUG 1:

      • Mengaktifkan mode debug untuk menampilkan informasi tambahan pada Serial Monitor.

      #define pir 2, lamp 5, flame 3, mtr 6, vib 4, buz 7, gas 8, Sensorsuhu A0, fan 9, heat A1:

      • Mendefinisikan pin Arduino yang terhubung dengan sensor dan aktuator.

      #if DEBUG ... #else ... #endif:

      • Blok kode untuk mengatur output Serial Monitor berdasarkan mode debug.

      #define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW ...:

      • Menentukan jenis hardware modul LED Matriks yang digunakan.

      #define MAX_DEVICES 11:

      • Menentukan jumlah modul LED Matriks yang dipakai.

      #define CLK_PIN 13, DATA_PIN 11, CS_PIN 10:

      • Menentukan pin Arduino untuk komunikasi SPI dengan modul LED Matriks.

      MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);:

      • Membuat objek mx untuk mengendalikan modul LED Matriks.

      #define DELAYTIME 100:

      • Menentukan waktu jeda dalam milisekon untuk animasi LED Matriks.

      *void scrollText(char p) ...:

      • Fungsi untuk menampilkan teks berjalan pada LED Matriks.

      void spiral() ...:

      • Fungsi untuk menampilkan animasi spiral pada LED Matriks.

      void intensity() ...:

      • Fungsi untuk mengatur intensitas kecerahan LED Matriks.

      void scanLimit() ...:

      • Fungsi untuk membatasi jumlah baris yang ditampilkan pada LED Matriks.

      void transformation1() ...:

      • Fungsi untuk menampilkan animasi transformasi panah pada LED Matriks.

      void showCharset() ...:

      • Fungsi untuk menampilkan seluruh karakter yang tersedia pada LED Matriks.

      int s_pir = digitalRead(pir); ...:

      • Membaca nilai sensor PIR untuk mendeteksi gerakan.

      void spir() ...:

      • Fungsi untuk mengaktifkan lampu dan menampilkan animasi jika sensor PIR mendeteksi gerakan.

      int s_flame = digitalRead(flame); ...:

      • Membaca nilai sensor api untuk mendeteksi kebakaran.

      void sflame() ...:

      • Fungsi untuk mengaktifkan motor jika sensor api mendeteksi kebakaran.

      int s_vib = digitalRead(vib); int s_gas = digitalRead(gas); ...:

      • Membaca nilai sensor getaran dan sensor gas.

      void sgasdanvib() ...:

      • Fungsi untuk mengaktifkan buzzer jika sensor getaran atau sensor gas mendeteksi bahaya.

      void ssuhu() ...:

      • Membaca nilai sensor suhu dan menampilkannya pada Serial Monitor.

      void setup() ...:

      • Fungsi untuk inisialisasi pengaturan awal Arduino dan modul LED Matriks.

      void loop() ...:

      • Fungsi utama yang dijalankan secara berulang-ulang.
      • Di dalamnya terdapat fungsi untuk membaca sensor, mengaktifkan aktuator, dan menampilkan teks pada LED Matriks.
    e. Video Simulasi[Kembali]

     1. Rangkaian

    2. Flowchart

    f. Download File[Kembali]




     

    Entri yang Diunggulkan

    Modul 4 [menuju akhir] [KEMBALI KE MENU SEBELUMNYA] DAFTAR ISI 1. Pendahuluan 2. Tujuan 3. Alat dan Bahan 4. Dasar Teori 5. Percobaan Percob...