Modul 4 Praktikum Mkroprosessor & Mikrokontroller

Laporan Akhir Modul 4

Kontrol Kebakaran Laboratorium




1. Tujuan

Tujuan dari dibuatnya project adalah ini adalah sebagai berikut:

  1. Membuat prototype aplikasi kontrol kebakaran laboratorium yang dapat beprperan sebagai tanggapan utama dalam skenario  kebakaran laboratorium
  2. Mengapliaksikan konsep-konsep yang telah dipelajari pada praktikum seperti PWM, ADC, dan teori komunikasi mikrokontroller

2. Alat dan Bahan

Alat dan bahan yang digunakan pada project ini adalah sebagai berikut:

2.1 Alat

1. Power Bank



2. Steker (Colokan listrik)





2.2 Bahan

1. Arduino



2. Sensor Ultrasnoic





3. Flame Sensor




4. Sensor MQ2





5. Logicstate



6. LCD 16x2



7. Servo Motor





8. LED



9. Resistor


Spesifikasi 



10. Buzzer

Konfigurasi Pin:

Spesifikasi:

1. Tegangan operasi 4-8V DC

2. Arus <30mA

3. Frekuensi Resonansi 2300Hz

11. Relay Module





 Spesifikasi







12. Potensiometer

 13. Lampu



14. Kabel Jumper


A. ADC (Analog to Digital Converter).

ADC adalah sebuah proses untuk mengubah input sinyal analog menjadi output sinyal digital. ADC diperlukan pada mikrokontroller dikarenakan mayoritas fenomena yang ada didunia direpresentasikan secara analog (kontinu) dan diperlukan suatu cara untuk mengubah representasi analog yang tidak dimengerti oleh mikorkontroller menjadi sebuah representasi baru yang bisa diproses oleh mikrokontroller. Proses ADC terdiri dari 3 buah tahapan, yakni proses sampling, quantizing, dan coding, proses akan dibahas satu persatu dibawah ini:

1. Sampling

Proses pertama untuk mengubah suatu sinyal analog menjadi sinyal digital adalah melalui proses sampling. Secara sederhana proses sampling adalah mengkonversikan nilai – nilai analog yang kontinu menjadi sebuah sinyal dengan nilai diskrit. Dalam teori sampling, untuk signal analog yang umumnya berbentuk kontinu, diambil cuplikan - cuplikan signal tersebut lalu dipatenkan besar tegangan yang sesuai pada titik tersebut. Setiap cuplikan signal diambil dalam rentang periode tertentu, pada konteks kali ini dalam Ts atau disebut (periode sampling) dan fs disebut (frekuensi sampling).

 



Dalam menentukan besar frekuensi sampling yang diambil, terdapat sebuah persamaan yang menjadi dasar dalam penentuan frekuensi sampling, yakni `nyquist rate` yang menyatakan bahwa besar frekuensi sampling harus sama dengan 2 kali dari frekuensi maksimum dari signal tersebut.

Minimum sampling rate:

f_s=2W
Fs adalah frekuensi sampling dan W adalah frekuensi tertinggi dari suatu sinyal. 

2. Quantizing
Tahap selanjutnya dari ADC adalah proses kuantisasi (quantization). Pada proses ini nilai – nilai sinyal diskrit hasil sampling dimetakan ke dalam set finit. Besar set ini merupakan resolusi dari ADC yang bisa memiliki nilai dari 2,4,8,16, bahkan sampai 32 bit. Amplitudo nilai dari sinyal diskrit tadi dirubah berdasarkan resolusi yang digunakan pada ADC. Semakin tinggi resolusi ADC yang digunakan maka akan semakin akurat ADC dalam menyamai input sinyal analognya, karena pada proses kuatisasi amplitudo dari sinyal analog dibagi menjadi level – level yang banyaknya sama dengan resolusi dari ADC. Level/tingkatan ini disebut sebagai representation levels. Dan jarak antara level – level ini disebut sebagai step size. Untuk mencari jarak antara level representasi bisa menggunakan rumus sederhana dibawah ini:

step size=(V_max-V_min)/q
Dengan q adalah banyak level representasinya. Contoh hasil kuantisasi sebuah sinyal


 

3. Coding
Proses terakhir dari tahapan ADC adalah proses coding. Proses coding sendiri adalah mengubah nilai – nilai hasil kuantisasi menjadi urutan – urutan sinyal digital (yang terdiri hanya dari 0 dan 1). Banyaknya bilangan biner yang dapat diberikan sama dengan resolusi dari ADC. Misalkan terdapat L level maka paling sedikit diperlukan L angka biner juga. 

B. PWM

PWM (Pulse Width Modulation) adalah sebuah teknik modulasi sinyal digital yang memvariasikan lebar signal sebagai parameter modulasinya. Pada Modulasi PWM, amplitudo dan frekuensi sinyal bernilai sama. PWM memvariasikan lebar dari signalnya dengan cara mengubah parameter duty cycle nya. Duty cycle adalah parameter rasio waktu signal on dan off dengan satuannya adalah %, metode ini bisa digunakan karena perubahan state dari on ke off dengan waktu yang sangat cepat mengakibatkan nilai rata -  rata dari sinyal adalah persis sama dengan nilai perbandingan antara waktu on/off (duty cycle).

Persamaan duty cycle adalah sebagai berikut:

D=  t_on/t_off 

T=t_on+t_off

Contoh output PWM dengan nilai duty cycle yang berbeda:


Proses pembentukan sinyal PWM bisa dilakukan dengan cara yang berbeda. Tapi umumnya untuk menghasilkan sinyal PWM biasanya menggunakan rangkaian elektronik  yang terdiri dari komparator dan sinyal input yang terdiri dari signal gergaji (biasa dari counter), dan nilai referensi pembatas (nilai compare). Pada mikrokontroller biasanya bisa menggunakan mode PWM yang berbeda, umumnya adalah inverting dan non inverting. Ketika menggunakan mode inverting, signal timer/counter diletakkan pada input inverting dan compare pada input non inverting. Proses kerjanya adalah ketika nilai compare > nilai counter maka signal output akan bernilai 1, dan ketika counter sudah melewati nilai dari compare, maka signal output akan berpindah dari 0 ke 1. Namun, jika menggunakan mode non inverting, input dari compare diletakkan pada input inverting, sementara sinyal dari counter/timer diletakkan pada input non inverting. Ketika nilai compare > dari nilai couner, sinyal outputnya memiliki nilai digital 0, dan ketika nilai compare < counter akan menghasilkan output digital 1. Dibawah ini merupakan contoh dari sinyal PWM

C. Komunikasi UART

UART (Universial Serial Receiver Transmitter) merupakan salah satu jenis protocol komunikasi serial. Komunikasi serial sendiri adalah komunikasi yang pengiriman datanya dilakukan secara berurutan (bit per bit). UART sendiri adalah salah satu penerapan dari jenis komunikasi serial yang relatif sederhana dibandingkan protokol komunikasi lainnya, dan memiliki karakteristik seperti hanya menggunakan  sedikit sambungan untuk melakukan transmisi, Mudah diterapkan pada banyak device, dan digunakan jika tidak diperlukan komunikasi data dengan kecepatan yang tinggi.

Protokol komunikasi UART memiliki spesifikasi sebagai berikut:

Parameter Nilai

Kabel/channel 2

Kecepatan (bit/detik) 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1000000, 1500000

Metode transmisi Asinkronous

Jumlah maksimum master 1

Jumlah maksimum slave

Komunikasi UART memiliki dua buah sambungan untuk mengirimkan dan menerima data, sambungan tersebut adalah sambungan transmisi dan penerima (RX dan TX).


Seperti namanya komunikasi UART merupakan merupakan komunikasi berjenis asinkronus dalam artian bahwa protokol ini tidak memerlukan clock untuk menyinkronkan pengiriman dan penerimaan datanya. Tetapi, komunikasi ini menggunakan baud rate (kecepatan transfer). Nilai baud rate dari kedua alat yang berkomunikasi haruslah sama (jika memiliki perbedaan bisa ditoleransi maksimal 10%). Jika tidak maka timing dari komunikasi akan kacau dan data yang dikirim dan diterima akan berbeda dengan data yang diiniginkan.

Komunikasi UART bekerja dengan mengirim data sebagai packet – packet data kecil dengan panjang tertentu yang memiliki format pengiriman sebagai berikut: 


Komunikasi UART dimulai dengan start bit (berubah dari HIGH 1 ke LOW 0) Bit mulai dan berhenti ini menentukan awal dan akhir paket data. Oleh karena itu UART penerima tahu kapan harus memulai dan berhenti membaca bit.  Penerima akan mendeteksi bit awal kemudian mulai membaca bit. Start bit sendiri adalah bit yang memulai proses transmisi dan bernilai 0. Parity bit adalah bit yang digunakan untuk mendeteksi apakah terdapat error/kesalahan pada saat proses pengiriman. Parity bit bekerja dengan cara menghitung jumlah bit dan mengecek apakah total bit tersebut genap atau ganjil. Jika parity bit 0 maka itu adalah even parity (parity genap) sementara apabila bitnya bernilai 1 maka itu adalah odd parity (parity ganjil). Dan yang terakhit adlah stop bit, bit inilah yang menjadi akhir dari proses transmisi UART, bit ini bernilai 1.Adapau proses lengkap pengiriman data dengan protokol komunikasi UART adalah sebagai berikut:
Pertama data yang berasal dari data bus mengirim data ke pin transmitter UART. Data bus yang digunakan untuk mengirimkan data berasal dari device lain seperti mikrokontroller, memori atau dari CPU.


Ketika pin transmitter UART telah menerima data tersebut, data langsung diproses dengan menambahkan start bit dan stop bit pada keseluruhan data yang membuat paket data.


Proses selanjutnya transmisi dimulai dan pin transmitter mulai mengirimkan data ke pin receiver pada device UART lain. Pengiriman dilakukan bit per bit dan dimulai dari LSB (least significant digit) sampai ke data akhir, dan diakhiri ketika receiver menerima stop bit.



Pada bagian penerima, data di receiver UART lain membuang start bit, stop bit, dan parity bit dari hasil pengiriman tadi, mengembalikan data ke bentuk semula.
D. Teroi bahan

1. Arduino

Arduino merupakan jenis board dari perusahaan arduino yang memilik fungsi yang beragam. Board ini menggunakan mikrokontroller ATmeega628P sebagai pengendali intinya. Arduino memiliki banyak jenis board, pada gambar diatas meriupakan jenis board arduino UNO. Spesifikasi dari arduino UNO adalah sebagai berikut:
BoardNameArduino UNO R3
SKUA000066
MicrocontrollerATmega328P
USB connectorUSB-B
PinsBuilt-in LED Pin13
Digital I/O Pins14
Analog input pins6
PWM pins6
CommunicationUARTYes
I2CYes
SPIYes
PowerI/O Voltage5V
Input voltage (nominal)7-12V
DC Current per I/O Pin20 mA
Power Supply ConnectorBarrel Plug
Clock speedMain ProcessorATmega328P 16 MHz
USB-Serial ProcessorATmega16U2 16 MHz
MemoryATmega328P2KB SRAM, 32KB FLASH, 1KB EEPROM
DimensionsWeight25 g
Width53.4 mm
Length68.6 mm

2. Sensor Ultrasonic HC-SR504

Sensor pertama yang digunakan ialah sensor ultrasonic HCSR504. Yang memiliki pinout sebagai berikut:

Sensor pertama yang digunakan ialah sensor ultrasonic HCSR504. HCSR504 merupakan salah satu sensor ultrasonik favorit dari penggembar elektronik dan sering digunakan pada aplikasi mikrokontroller. Dikarenakan keunggulan dari sensor ini seperti harganya yang relatif murah, dan memiliki jarak pendeteksian yang cukup besar ( 2 – 400cm). Sensor tersebut  memiliki pinout sebagai berikut:
 


Pin Trig dan Echo adalah pin untuk transmitter dan receiver dari sensor tersebut dan dihubungkan ke pin digital pada mikrokontroller yang digunakan. Sementara untuk pin VCC adalah sumber tegangan sensor (5V) dan GND dihubungkan ke ground.
Prinsip kerja dari sensor ini adalah mengukur jarak dari sensor ke benda dengan cara menghitung waktu yang diperlukan oleh gelombang ultrasonik yang terpantul dari objek untuk kembali ke receiver.

  
Adapun urutan cara sensor ultrasonik menghitung jarak adalah sebagai berikut:
1.      Transmitter memancarkan gelombang ultasonik
2.      Gelombang ultrasonik yang dipancarkan mengenai objek dan terpantul kembali
3.      Gelombang pantulan kemudian dideteksi oleh receiver
4.      Menghitung waktu yang diperlukan gelombang untuk kembali ke receiver

Dikarenakan waktu dan kecepatan telah diketahui (kecepatannya adalah kecepatan suara pada ruang hampa yakni 340m/s), jarak bisa dihitung dengan persamaan:
Persamaan dibagi 2 karena waktu yang dihitung adalah waktu dari gelombang ultrasonik untuk dipancarkan dari transmitter sampai kembali lagi ke receiver. Grafik response dari sensor ultrasonik tersebut adalah sebagai berikut:



3. Flame Sensor

Flame sensor adalah sensor yang berfungsi untuk mendeteksi api. Jenis sensor yang digunakan pada palikasi ini adlah jenis sensor api Ky-026. Pinout dari sensor ini adalah    sebagai berikut:

Pinout modul KY-026c


Papan sirkuit modul sensor api ky-026 memiliki 4 pin konektor , yaitu -
AO : Keluaran Analog
G : GND (Tanah)
+ : Vcc (+3.3V ke +5V)
DO : Keluaran Digital

Komponen dari sensor ini dibagi menjadi beberapa bagian, yakni:
 


Sensor ini bekerja dengan mendeteksi radiasi infrared dari benda disekitarnya, terkhususnya direntang 760nm – 1100nm yang dipancarkan dari api atau sumber lainnya. Pancaran radiasi infrared terdeteksi oleh phototransistor yang sensitif terhadap radiasi infrared.  Ketika sensor ini mendeteksi api (cahaya yang memiliki panjang pada interval 760nm – 1100nm), resistansi dari phototransistor menurun, Hal ini akan mengakibatkan tegangan pada komparator belum mencukupi/melewati threshold voltage yang telah diset melalui potensiometer yang ada di modul sensor tersebut. Dengan begitiu hasil output dari komparator yang terhubung langsung ke pin output sensor akan menghasilkan logika digital 0 (LOW).

Sebaliknya apabila sensor tidak mendeteksi api (cahaya yang memiliki panjang gelombang di rentang 760nm – 1100nm) maka resistansi pada phototransistor akan naik. Dikarenakan tegangan pada komparator sudah melebihi threshold voltage yang telah diset, maka komparator akan menghasilkan output digital 1 (HIGH).

4. Sensor gas MQ2

Sensor Gas seri MQ(yang digunakan pada aplikasi ini adalah seri MQ2) merupakan kumpulan sensor – sensor yang memiliki kegunaan untuk mendeteksi konsentrasi dari gas – gas tertentu. Sensor MQ2 memiliki sensitivitas tinggi terhadap gas seperti LPG (Liquid petroleum Gas), Propana, dan hidrogen, serta juga bisa digunakan untuk menghitung konsentrasi gas metana dan gas – gas mudah terbakar lainnya.

Spesifikasi dari sensor Gas MQ2 ini bisa dilihat pada tabel dibawah ini:

Tegangan Operasi 5V

Resistansi beban 20KΩ 

Resistansi pemanas (Heater resistance) 33Ω + 5%

Konsumsi daya <8000 mW

Resistansi pendeteksian 10KΩ – 60KΩ 

Rentang konsentrasi gas 200ppn – 1000ppn

Waktu pemanasan >24 Jam

Sementara pinout dari sensor MQ2 bisa dilihat pada gambar berikut:

- VCC Dihuungkan ke sumber 5V

- GND. Dihubungkan ke pin GND

- D0. Pendeteksian output dengan menggunakan pin digital

- A0. Menghasilkan output dengan menggunakan pin analog. Nilai yang didapat proporsional terhadap konsentrasi gas yang terdeteksi, yang berarti semakin tinggi konsentrasi akan menghasilkan nilai yang lebih tinggi begitu juga sebaliknya


Komponen inti dari sensor gas ini terletak pada bagian internal dari lapisan besi berwarna silver yang digunakan sebagai pelindung komponen inti. Komponen inti dari sensor ini memiliki bentuk lonjong dan berwarna putih yang terbentuk dari keramik berbahan aluminium Oksida (AL2O3) yang dilapisi timah dioksida (SnO2). Timah oksida merupakan material penting karena sensitive terhadap gas mudah terbakar. Material keramik digunakan untuk meningkatkan efisiensi pemanasan yang memastikan area sensor tetap panas mendekati temperatur kerja.



Ketika lapisan timah dioksida dipanaskan, oksigen diserap ke area sensor. Ketika tidak terdeteksi adanya gas, elektron dari timah dioksida bereaksi ke molekul oksigen pada udara. Hal ini menyebabkan area pengosongan elektron dibawah lapisan SnO2. Yang menyebabkan SnO2 menajdi resistif dan menghambat aliran arus. Namun, ketika terdeteksi adanya sebuah gas (misalnya gas CO). Partikel oksigen yang berada di lapisan SnO2 bereaksi dengan partikel – partikel dari gas tersebut. Hal ini menyebabkan pengurangan oksigen secara bertahap pada lapisan SnO2 sehingga lapisan tersebut tidak memiliki oksigen lagi. Maka, elektron – elektron yang bereaksi ke partikel oksigen dilepaskan kembali sehingga mengurangi tegangan potensi penghambat pada material, sehingga arus bisa mengalir pada sensor tersebut.

Hasil pembacaan sensor gas tadi biasanya diteruskan ke rangkaian elektrik (biasanya menggunakan komparator). Grafik response dari sensor gas ada 2 dengan (1) adalah grafik response dari sensitivitas dan (2) grafik responster terhadap temperature dan kelembapan




5. Logic sate



Pemberi logika pada simulasi sensor. Pengertian logis, benar atau salah, dari sinyal biner yang diberikan. Sinyal biner adalah sinyal digital yang hanya memiliki dua nilai yang valid. Dalam istilah fisik, pengertian logis dari sinyal biner ditentukan oleh level tegangan atau nilai arus sinyal, dan ini pada gilirannya ditentukan oleh teknologi perangkat. Dalam sirkuit TTL, misalnya, keadaan sebenarnya diwakili oleh logika 1, kira-kira sama dengan +5 volt pada garis sinyal; logika 0 kira-kira 0 volt.

Tingkat tegangan antara 0 dan +5 volt dianggap tidak ditentukan. Karena hanya dua status logika, logika 1 dan logika 0, yang dimungkinkan, teknik aljabar Boolean dapat digunakan untuk menganalisis rangkaian digital yang melibatkan sinyal biner. Istilah logika positif diterapkan ke sirkuit di mana logika 1 ditetapkan ke level tegangan yang lebih tinggi; Dalam rangkaian logika negatif, logika 1 ditunjukkan dengan level tegangan yang lebih rendah. Lihat juga logika multinilai.


6. LCD 16x2





LCD (Liquid Crystal Display) 16x2 adalah jenis media tampilan atau Display dari bahan cairan kristal sebagai penampil utama.LCD 16x2 dapat menampilkan sebanyak 32 karakter yang terdiri dari 2 baris dengan tiap baris menampilkan 16 karakter.Pada Arduino untuk mengendalikan LCD Karakter 16x2 untuk librarynya secara default sudah ada librarynya yaitu LiquidCrystal.h. LCD ada bermacam-macam ukuran 8x1, 16x1, 16x2, 16x4, 20x4. Untuk mengendalikan atau mengontrol macam-macam LCD Karakter di atas dapat menggunakan Tutorial ini, perbedaannya hanya pada inisialisasi jumlah kolom dan baris.

1. Pin out diagram LCD 16X2:
2. Pin1 (Ground / Source Pin): Ini adalah pin tampilan GND, digunakan untuk menghubungkan terminal GND unit mikrokontroler atau sumber daya.
3. Pin2 (VCC / Source Pin): Ini adalah pin catu tegangan pada layar, digunakan untuk menghubungkan pin catu daya dari sumber listrik.
4. Pin3 (V0 / VEE / Control Pin): Pin ini mengatur perbedaan tampilan, yang digunakan untuk menghubungkan POT yang dapat diubah yang dapat memasok 0 hingga 5V.
5. Pin4 (Register Select / Control Pin): Pin ini berganti-ganti antara perintah atau data register, digunakan untuk menghubungkan pin unit mikrokontroler dan mendapatkan 0 atau 1 (0 = mode data, dan 1 = mode perintah).
6. Pin5 (Pin Baca / Tulis / Kontrol): Pin ini mengaktifkan tampilan di antara operasi baca atau tulis, dan terhubung ke pin unit mikrokontroler untuk mendapatkan 0 atau 1 (0 = Operasi Tulis, dan 1 = Operasi Baca).
7. Pin 6 (Mengaktifkan / Mengontrol Pin): Pin ini harus dipegang tinggi untuk menjalankan proses Baca / Tulis, dan terhubung ke unit mikrokontroler & terus-menerus dipegang tinggi.
8. Pin 7-14 (Pin Data): Pin ini digunakan untuk mengirim data ke layar. Pin ini terhubung dalam mode dua-kawat seperti mode 4-kawat dan mode 8-kawat. Dalam mode 4-kawat, hanya empat pin yang terhubung ke unit mikrokontroler seperti 0 hingga 3, sedangkan dalam mode 8-kawat, 8-pin terhubung ke unit mikrokontroler seperti 0 hingga 7.
9. Pin15 (+ve pin LED): Pin ini terhubung ke +5V
10. Pin 16 (-ve pin LED): Pin ini terhubung ke GND.




7. Servo motor


8. LED (Light Emiting Diode)





LED adalah suaatu semikonduktor yang memancarkan cahaya,  LED mempunyai kecenderungan polarisasi. LED mempunyai kutub positif dan negatif (p-n) dan hanya akan menyala bila diberikan arus maju. Ini dikarenakan LED terbuat dari bahan semikonduktor yang hanya akan mengizinkan arus listrik mengalir ke satu arah dan tidak ke arah sebaliknya. Bila LED diberikan arus terbalik, hanya akan ada sedikit arus yang melewati  LED. Ini menyebabkan LED tidak akan mengeluarkan emisi cahaya.

9. Resistor

a) resistor
Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

Seperti yang dikatakan sebelumnya, nilai Resistor yang berbentuk Axial adalah diwakili oleh Warna-warna yang terdapat di tubuh (body) Resistor itu sendiri dalam bentuk Gelang. Umumnya terdapat 4 Gelang di tubuh Resistor, tetapi ada juga yang 5 Gelang.

Gelang warna Emas dan Perak biasanya terletak agak jauh dari gelang warna lainnya sebagai tanda gelang terakhir. Gelang Terakhirnya ini juga merupakan nilai toleransi pada nilai Resistor yang bersangkutan.

Tabel dibawah ini adalah warna-warna yang terdapat di Tubuh Resistor :



Tabel Kode Warna Resistor
Perhitungan untuk Resistor dengan 4 Gelang warna :




Cara menghitung nilai resistor 4 gelang

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 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 4 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1 MOhm dengan toleransi 10%.
Perhitungan untuk Resistor dengan 5 Gelang warna :




Cara Menghitung Nilai Resistor 5 Gelang Warna

Masukkan angka langsung dari kode warna Gelang ke-1 (pertama)
Masukkan angka langsung dari kode warna Gelang ke-2
Masukkan angka langsung dari kode warna Gelang ke-3
Masukkan Jumlah nol dari kode warna Gelang ke-4 atau pangkatkan angka tersebut dengan 10 (10n)
Merupakan Toleransi dari nilai Resistor tersebut

Contoh :

Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan 105
Gelang ke 5 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau 10,5 MOhm dengan toleransi 10%.

Contoh-contoh perhitungan lainnya :

Merah, Merah, Merah, Emas → 22 * 10² = 2.200 Ohm atau 2,2 Kilo Ohm dengan 5% toleransi
Kuning, Ungu, Orange, Perak → 47 * 10³ = 47.000 Ohm atau 47 Kilo Ohm dengan 10% toleransi

Cara menghitung Toleransi :
2.200 Ohm dengan Toleransi 5% =
2200 – 5% = 2.090
2200 + 5% = 2.310
ini artinya nilai Resistor tersebut akan berkisar antara 2.090 Ohm ~ 2.310 Ohm

10. Buzzer 




Buzzer adalah komponen elektronika yang dapat menghasilkan getaran suara dalam bentuk gelombang bunyi. Buzzer lebih sering digunakan karena ukuran penggunaan dayanya yang minim.




Cara Kerja Buzzer

Tegangan Listrik yang mengalir ke buzzer akan menyebabkan gerakan mekanis, gerakan tersebut akan diubah menjadi suara atau bunyi yang dapat didengar oleh manusia.

11. Relay Module








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.

Fungsi Relay:

Seperti yang telah di jelaskan tadi bahwa relay memiliki fungsi sebagai saklar elektrik, namun jika di aplikasikan ke dalam rangkaian elektronika, relay memiliki beberapa fungsi yang cukup unik. Berikut beberapa fungsi saat di aplikasikan ke dalam sebuah rangkaian elektronika.

1. Mengendalikan sirkuit tegangan tinggi dengan menggunakan bantuan signal tegangan rendah.

2. Menjalankan logic function atau fungsi logika.

3. Memberikan time delay function atau fungsi penundaan waktu.

4. Melindungi motor atau komponen lainnya dari korsleting atau kelebihan tegangan.

Prinsip Kerja Relay:

Setelah mengetahui pengertian serta fungsi dari relay, anda juga harus mengetahui cara kerja atau prinsip kerja dari relay. Namun sebelumnya anda perlu mengetahui bahwa pada sebuah relay terdapat 4 bagian penting yaitu electromagnet (coil), Armature, Switch Contact Point (saklar) dan spring. Untuk lebih jelasnya silahkan lihat gambar di bawah ini



Kontak point relay terdiri dari 2 jenis yaitu:

1. Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada pada posisi close (tertutup).

2. Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berapa pada posisi open (terbuka).

12. Potentiometer

Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor. Secara struktur, Potensiometer terdiri dari 3 kaki Terminal dengan sebuah shaft atau tuas yang berfungsi sebagai pengaturnya.
Pada dasarnya bagian-bagian penting dalam Komponen Potensiometer adalah:

1. Penyapu atau disebut juga dengan Wiper

2. Element Resistif

3. Terminal

Prinsip Kerja Potensiometer


Sebuah Potensiometer (POT) terdiri dari sebuah elemen resistif yang membentuk jalur (track) dengan terminal di kedua ujungnya. Sedangkan terminal lainnya (biasanya berada di tengah) adalah Penyapu (Wiper) yang dipergunakan untuk menentukan pergerakan pada jalur elemen resistif (Resistive). Pergerakan Penyapu (Wiper) pada Jalur Elemen Resistif inilah yang mengatur naik-turunnya Nilai Resistansi sebuah Potensiometer. Elemen Resistif pada Potensiometer umumnya terbuat dari bahan campuran Metal (logam) dan Keramik ataupun Bahan Karbon (Carbon). Berdasarkan Track (jalur) elemen resistif-nya, Potensiometer dapat digolongkan menjadi 2 jenis yaitu Potensiometer Linear (Linear Potentiometer) dan Potensiometer Logaritmik (Logarithmic Potentiometer).
Fungsi Potensiometer
Dengan kemampuan yang dapat mengubah resistansi atau hambatan, Potensiometer sering digunakan dalam rangkaian atau peralatan Elektronika dengan fungsi-fungsi sebagai berikut 
1. Sebagai pengatur Volume pada berbagai peralatan Audio/Video seperti Amplifier, Tape Mobil, DVD Player.
2. Sebagai Pengatur Tegangan pada Rangkaian Power Supply
3. Sebagai Pembagi Tegangan
4. Aplikasi Switch TRIAC
5. Digunakan sebagai Joystick pada Tranduser
6. Sebagai Pengendali Level Sinyal



Prosedur percobaan dilkaukan dalam beberpaa tahap sebagai berikut:



Tahap pertama dari pembuatan project ini adalah membuat simulasi rangkaian keseluruhan dengan menggunakan software simulasi rangkaian Proteus. Pada tahap ini dilakukan pemilihan komponen pada project, mengatur nilai – nilai pada komponen yang digunakan, dan sirkuit diuji dalam simulasi

Setelah rangakaian simulasi diselesaikan tahapan selanjutnya adalah membuat kode dari rangkaian tersebut. Karena pada aplikasi ini mengggunakan mikrokontroller sebagai intinya, diperlukan program yang akan diproses oleh mikrokontroller untuk mengatur segala proses yang terhubung pada rangkaian yang dibuat. Pada proses ini juga dilakukan simulasi ulang menggunakan rangkaian simulasi dan program yang telah dibuat untuk menilai apakah simulasi sudah bekerja sesuai yang telah diinginkan atau tidak.

Setelah kode program dibuat dan rangkaian simulasi berjalan sesuai dengan yang didesain, langkah berikutnya adalah mengumpulkan alat dan bahan yang akan digunakan untuk membuat aplikasi. Untuk metode mendapatkan alat dan bahannya sendiri diserahkan kepada kelompok masing – masing, dan pada kelompok 3 alat dan bahan yang dipakai untuk aplikasi didapatkan dengan cara membeli dan meminjam dari pihak lain. Langkah krusial yang dilakukan pada tahap ini adalah mengetes alat dan bahan yang telah didapat untuk menilai apakah komponen tersebut bekerja dengan baik.

Kemudian dibuat prototype awal dari project, pembuatan prototype dilakukan sebagai bentuk percobaan nyata awal dari aplikasi yang dibuat, juga bisa digunakan sebagai cara untuk mengetes apakah rangkaian yang dibuat pada software simulasi bisa bekerja dengan cara yang sama pada saat dibuat secara ril Langkah – langkah tersebut dilakukan secara berurutan dan disela – selanya dilakukan asistensi selama proses ini. Proses asistensi diwajibkan karena berguna sebagai medium untuk kelompok bertanya tentang project, merencanakan langkah selanjutnya, dan meminta saran dari asisten yang telah diamanahkan untuk membimbing setiap kelompok dalam membuat aplikasi ini.

Tahapan terakhir dari pembuatan project ini adalah perakitan akhir dan mengaplikasikan perbaikan dari prototype awal. Sebelum merakit dan mempresentasikan alat yang dibuat, pastikan cerk terlebih dahulu segala kelengkapan sebelum mempresentasikan alat ini ke asisten dan ke dosen, kelengkapan yang dimaksud adalah kelengkapan saat presentasi dan kelengkapan administratif seperti kelengkapan makalah dan file presentasi. Setelah merasa lengkap maka akan dilakukan presentasi ke dosen masing – masing dan jika tidak ada revisi yang diberikan oleh dosen tersebut maka aplikasi yang dibuat dinyatakan telah selesai.






Prinsip Kerja:

Rangkaian pendeteksi kebakaran pada laboratorium menggunakan mikrokontroller sebagai inti atau pengendali utama dari rangkaian, mikrokontroller yang dipilih adalah tipe arduino karena harganya yang murah, serta referensinya yang berlimpah. Rangkaian ini memiliki 3 buat input dan 5 buah output. Input dari rangkaian ini adalah sensor api Ky 0-26 untuk mendeteksi api, sensor gas MQ2 untuk mendeteksi gas, serta sensor ultrasonic untuk mendeteksi apakah adanya korban di area ruangan. Sementara output yang digunakan pada rangakain ini adalah LCD display 16x2, buzzer, servo motor, 3 buah LED dengan warna yang berbeda, dan Relay ke lampu utama. Rangkaian ini menggunakan tipe komunikasi UART (Universal Synchronous Receiver Transmitter) yang memungkinkan terjadinya pertukaran data antara kedua buah arduino.

Prinsip kerja dari aplikasi ini didasarkan dari hasil pendeteksian dari sensor – sensor yang digunakan, terdapat 3 input sensor yang digunakan yakni sensor flame, sensor gas MQ2, dan sensor ultrasonic. Dan kerja rangkaian didasarkan pada pendeteksian yang dilakukan oleh sensor-sensor tersebut. Pada rangkaian bagian sensor/input dihubungkan ke arduino master karena bagian master inilah yang akan mengirimkan data sehingga bisa mengaktifkan output dari arduino slavenya. Data dikirim ke slave dengan menggunakan komunikasi UART, berikut merupakan kondisi dari sensor beserta data yang dikirimnya

Note: threshold gas = 100, dan threshold ultrasonic = 50

1.      Sensor gas < 100, flame tidak aktif, ultrasonic (kondisi don’t care), master akan mengirimkan data satu byte karakter ‘1’.

2.      Sensor gas > 100, flame tidak aktif, ultrasonic (kondisi don’t care), master akan mengirimkan data satu byte karkater ‘2’.

3.      Sensor gas < 100, aktif, ultrasonic (kondisi don’t care), master akan mengirimkan data satu byte karkater ‘3’.

4.      Sensor gas > 100, flame aktif, ultrasonic > 50, master akan mengirimkan data satu byte karkater ‘4’.

5.      Sensor gas > 100, flame aktif, ultrasonic < 50 master akan mengirimkan data satu byte karkater ‘5’.

Sementara rangkaian slave akan menerima data – data yang dikirmkan oleh master dan mengambil keputusan sesuai dengan yang telah deprogram. Arduino slave sendiri dihubungkan ke output – output rangkaian seperti LED, servo, buzzer, dan relay. Dengan kondisi berdasarkan data yang diterimanya adalah sebagai berikut:

1.      Ketika byte yang diterima adalah ‘1’, maka LED hijau aktif dan semua output tidak aktif

2.      Ketika byte yang diterima adalah ‘2’, maka LED kuning aktif, dan semua output tidak aktif

3.      Ketika byte yang diterima adalah ‘3’ maka LED merah aktif, relay aktif, servo aktif untuk membukakan pintu.

4.      Ketika byte yang diterma adalah ‘4’ , maka LED merah dan kuning aktif, servo aktif untuk membuka pintu, dan relay aktif untuk memutuskan saklar

5.      Ketika byte yang diterima adalah ‘5’. Maka LED merah dan kuning aktif, servo aktif untuk membukakan pintu, relay aktif untuk memutuskan saklar, dan buzzer aktif mengindikasikan adanya korban pada tempat kejadian.

Listing program terdiri dari 2 bagian yakni program untuk master dan program untuk slavenya

Listing program MASTER

/*

Program master dari aplikasi kelompok dengan judul "kontrol kebakaran laboratorium" 3 dengan anggota:

Muhammad Rizieq Rizaldi

Muhammad Habib Hidayat

Salasbila Putri Tarigan

*/

 

#include <NewPing.h> //library sensor ultrasonic

#include <LiquidCrystal.h> //library LCD

 

#define T1 9

#define E1 10

#define Flame 8

#define gas A1

 

const int jarak_maksimum = 300;

const int d_panjang = 1000;

const int d_singkat = 50;

const int d_spasi = 100;

LiquidCrystal lcd (2, 3, 4, 5, 6, 7); //dengan urutannya adalah pin rs, e, d4, d5, d6, d7

NewPing sonar(T1, E1, jarak_maksimum);

 

void setup() {

  // put your setup code here, to run once:

 

  pinMode(Flame, INPUT);

  pinMode(gas, INPUT);

  Serial.begin(9600);

  lcd.begin(16,2);

  lcd.clear();

}

 

void loop() {

  // put your main code here, to run repeatedly:

  int flame_reading = digitalRead(Flame);

  int gas_reading = analogRead(gas);

  float jarak = sonar.ping_cm();

 

  //pembacaan sebagai berikut:

  //Serial.println(" ");

  //Serial.print("Jarak yang dideteksi adalah sebagai berikut ");

  //Serial.println(jarak);

  //Serial.print("pembacaan kadar gas yang didapat adalah sebagai berikut: ");

  //Serial.println(gas_reading);

  //Serial.print("Pembacaan flame sensor adalah sebagai berikut ");

  //Serial.println(flame_reading);

 

 

  if (gas_reading <=100) //kondisi apabila tidak ada gas yang terdeteksi

  {

    if (flame_reading==1)// tidak ada api yang terdeteksi

    {

      Serial.write('1');

      lcd.print("Deteksi gas:");

      lcd.setCursor(13, 0);

      lcd.print("No ");

      lcd.setCursor(0, 1);

      // print the number of seconds since reset:

      lcd.print(" aman ");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_spasi);

      lcd.setCursor(0, 1);lcd.print("Selamat bekerja ");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_singkat);

    }

    else if(flame_reading==0) // ada api yang terdeteksi

    {

      Serial.write('3');

      lcd.print("Deteksi gas:");

      lcd.setCursor(13, 0);

      lcd.print("No ");

      lcd.setCursor(0, 1);

      // print the number of seconds since reset:

      lcd.print(" Kebakaran ");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_spasi);

      lcd.setCursor(0, 1);lcd.print("Segera evakuasi ");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_singkat);

    }

  }

 

  else { //terdapat terdeteksi gas

    if (flame_reading==1) // ada gas tapi tidak ada api

    {

      Serial.write('2');

      lcd.print("Deteksi gas:");

      lcd.setCursor(13, 0);

      lcd.print("Yes");

      lcd.setCursor(0, 1);

      // print the number of seconds since reset:

      lcd.print("kebocoran gas");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_spasi);

      lcd.setCursor(0, 1);lcd.print("Segera keluar");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_singkat);

    }

    else if(flame_reading==0) // ada gas dan api yang terdeteksi

    {

      Serial.write('4');

      lcd.print("Deteksi gas:");

      lcd.setCursor(13, 0);

      lcd.print("Yes");

      lcd.setCursor(0, 1);

      // print the number of seconds since reset:

      lcd.print("Warning!!");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_spasi);

      lcd.setCursor(0, 1);lcd.print("Potensi ledakan ");

      delay(d_panjang);

      lcd.setCursor(0, 1);lcd.print("                ");

      delay(d_singkat);

 

      if (jarak <=50) //terdeteksi korban 30cm dari tempat kebakaran

      {

        Serial.write('5');

        lcd.print("Deteksi gas:");

        lcd.setCursor(13, 0);

        lcd.print("Yes");

        lcd.setCursor(0, 1);

        // print the number of seconds since reset:

        lcd.print("Warning!!");

        delay(d_panjang);

        lcd.setCursor(0, 1);lcd.print("                ");

        delay(d_spasi);

        lcd.setCursor(0, 1);lcd.print("Potensi ledakan ");

        delay(d_panjang);

        lcd.setCursor(0, 1);lcd.print("                ");

        delay(d_spasi);

        lcd.setCursor(0,1); lcd.print("terdapat kobran ");

        delay(d_panjang);

        lcd.setCursor(0, 1);lcd.print("                ");

        delay(d_singkat);

      }

    }

 

  }

  delay(1000);

 

 

}


Listing program SLAVE

/*

Program slave dari aplikasi kelompok dengan judul "kontrol kebakaran laboratorium" 3 dengan anggota:

Muhammad Rizieq Rizaldi

Muhammad Habib Hidayat

Salasbila Putri Tarigan

*/

#include <Servo.h>

 

#define buzzer 7

#define relay 8

#define servo 9

#define green_led 10

#define yellow_led 11

#define red_led 12

 

Servo myservo;

 

void putar_servo();

 

void setup() {

  // put your setup code here, to run once:

  Serial.begin(9600);

  pinMode(buzzer, OUTPUT);

  pinMode(relay, OUTPUT);

  pinMode(servo, OUTPUT);

  pinMode(green_led, OUTPUT);

  pinMode(yellow_led, OUTPUT);

  pinMode(red_led, OUTPUT);

  myservo.attach(9);

 

 

}

 

void loop() {

  // put your main code here, to run repeatedly:

  if (Serial.available())//memeriksa apakah terdapat data pada buffer

  {

    char bacaan = Serial.read();

    if (bacaan == '1') //tidak ada gas dan api

    {

      digitalWrite(green_led, HIGH);

      digitalWrite(yellow_led, LOW);

      digitalWrite(red_led, LOW);

      digitalWrite(buzzer, LOW);

      digitalWrite(relay, LOW);

 

    }

 

    else if(bacaan== '2') //ada gas tetapi tidak ada api

    {

      digitalWrite(green_led, LOW);

      digitalWrite(yellow_led, HIGH);

      digitalWrite(red_led, LOW);

      digitalWrite(buzzer, LOW);

      digitalWrite(relay, LOW);

 

     

 

    }

 

    else if(bacaan== '3') //tidak ada gas tetapi ada api

    {

      digitalWrite(green_led, LOW);

      digitalWrite(yellow_led, LOW);

      digitalWrite(red_led, HIGH);

      digitalWrite(buzzer, LOW);

      digitalWrite(relay, HIGH);

      putar_servo();

     

 

    }

 

    else if(bacaan== '4') //ada gas dan ada api tidak ada korban

    {

      digitalWrite(green_led, LOW);

      digitalWrite(yellow_led, HIGH);

      //blinking menandakan keadaan darurat

      digitalWrite(red_led, HIGH);

      delay(500);

      digitalWrite(red_led, LOW);

      delay(500);

      digitalWrite(buzzer, LOW);

      digitalWrite(relay, HIGH);

      putar_servo();

    

 

    }

 

    else if(bacaan== '5') //ada gas ada api dan ada korban

    {

      digitalWrite(green_led, LOW);

      digitalWrite(yellow_led, LOW);

       //blinking menandakan keadaan darura

      digitalWrite(red_led, HIGH);

      delay(500);

      delay(500);

      digitalWrite(buzzer, HIGH);

      digitalWrite(relay, HIGH;

      putar_servo();

 

    }

 

      Serial.println(bacaan);

      delay(250);

 

 

  }

}

 

void putar_servo()

{

  int pos;

  for (pos = 0; pos <= 180; pos += 1) {

    // in steps of 1 degree

    myservo.write(pos);            

    delay(15);  

  }             

 

}

Tidak ada komentar:

Posting Komentar

Mata kuliah Elektronika Kelas A  Semester Genap Th.2021   DISUSUN OLEH :   MUHAMMAD RIZIEQ RIZALDI   2010952031     DO...