3.1 Sensor Ultrasonik
Gambar 3.1 Sensor Ultrasonik
Sensor jarak adalah sensor yang mampu mendeteksi keberadaan objek didekatnya tanpa kontak fisik. Sensor jarak bekerja berdasarkan prinsip pantulan suatu gelombang suara sehingga dapat menafsirkan jarak suatu benda dengan frekuensi tertentu. Prinsip kerja sensor ini adalah transmitter mengirimkan sebuah gelombang ultrasonik lalu diukur dengan waktu yang dibutuhkan hingga datangnya pantulan dari objek Lamanya waktu ini sebanding dengan dua kali jarak sensor dengan objek, sehingga jarak sensor dengan objek dapat ditentukan persamaan :
𝑠 = 𝑣×𝑡
Keterangan:
s = jarak (meter)
v = kecepatan suara (344 m/detik)
t = waktu tempuh (detik)
Hcsrf-04 dapat mengukur jarak dalam rentang antara 3cm–3m dengan output panjang pulsa yang sebanding dengan jarak objek. Sensor ini hanya memerlukan 2 pin I/O untuk berkomunikasi dengan mikrokontroler, yaitu TRIGGER dan ECHO. Untuk mengaktifkan HCSRF-04 mikrokontroler mengirimkan pulsa positif melalui pin TRIGGER minimal 10 μs, selanjutnya HCSRF-04 mengirimkan pulsa positif melalui pin ECHO selama 100 μs hingga 18ms, yang sebanding dengan jarak objek. Spesifikasi dari sensor ultrasonik HCSRF-04 adalah sebagai berikut:
a. Dimensi: 24mm (P) x 20mm (L) x 17mm (T).
b. Konsumsi Arus: 30 mA (rata-rata), 50 mA (max).
c. Jangkauan: 3 cm–3 m.
d. Sensitifitas: Mampu mendeteksi objek dengan diameter 3 cm pada jarak > 1m.
3.2 Sound Sensor
Gambar 3.2 Sound Sensor
Spesifikasi
Sensitivitas dapat diatur (pengaturan manual pada potensiometer).
Condenser yang digunakan memiliki sensitivitas yang tinggi.
Tegangan kerja antara 3.3V – 5V.
Terdapat 1 pin keluaran (Analog/Digital).
Sudah terdapat lubang baut untuk instalasi.
Sudah terdapat indikator led.
Prinsip Kerja
Cara kerjanya adalah ketika sensor mendeteksi ada suara tinggi (dari tepuk tangan) maka sensor akan mengirimkan sinyal HIGH ke mikrokontroler. Sinyal HIGH ini yang kemudian akan diproses oleh mikrokontroler menjadi kondisi motor pump.
Jadi ketika sensor mendeteksi ada suara tinggi maka kondisi motor pump akan berubah yaitu :
Dari kondisi lampu nyala menjadi mati atau sebaliknya.
Sensor Suara KY-037 akan mengukur gelombang suara yang diterima oleh sensor tsb.
Hasil pengukuran tsb akan dirubah menjadi besaran listrik.
Karena kita menggunakan pin Digital (DO) maka besaran listrik tsb berupa sinyal HIGH / LOW.
Output HIGH / LOW inilah yang kemudian akan kita gunakan untuk menyalakan LED dan mematikan LED.
Jika OUTPUT HIGH maka motor pump akan berubah kondisi, entah itu dari hidup menjadi mati atau mati menjadi hidup.
Output HIGH akan tercipta karena suara frekuensi tinggi (dari tepuk tangan keras plakkk).
3.3 Sensor PIR(HC-SR501)
Gambar 3.3.1 Sensor PIR
Sensor PIR merupakan sensor yang dapat mendeteksi pergerakan, dalam hal ini sensor PIR banyak digunakan untuk mengetahui apakah ada pergerakan manusia dalam daerah yang mampu dijangkau oleh sensor PIR. Sensor ini memiliki ukuran yang kecil, murah, hanya membutuhkan daya yang kecil, dan mudah untuk digunakan. Oleh sebab itu, sensor ini banyak digunakan pada skala rumah maupun bisnis. Sensor PIR ini sendiri merupakan kependekan dari “Passive InfraRed” sensor.
Sensor PIR biasanya digunakan dalam perancangan detektor gerakan berbasis PIR. Karena semua benda memancarkan energi radiasi, sebuah gerakan akan terdeteksi ketika sumber infra merah dengan suhu tertentu (misal: manusia) melewati sumber infra merah yang lain dengan suhu yang berbeda (misal: dinding), maka sensor akan membandingkan pancaran infra merah yang diterima setiap satuan waktu, sehingga jika ada pergerakan maka akan terjadi perubahan pembacaan pada sensor.
Sensor PIR didesain dan dirancang hanya mendeteksi pancaran infra merah dengan panjang gelombang 8-14 mikrometer. Diluar panjang gelombang tersebut sensor tidak akan mendeteksinya. Untuk manusia sendiri memiliki suhu badan yang dapat menghasilkan pancaran infra merah dengan panjang gelombang antara 9-10 mikrometer (nilai standar 9,4 mikrometer), panjang gelombang tersebut dapat terdeteksi oleh sensor PIR. (Secara umum sensor PIR memang dirancang untuk mendeteksi manusia). Pada umumnya sensor PIR memiliki jangkauan pembacaan efektif hingga 5 meter, dan sensor ini sangat efektif digunakan sebagai human detector.
Prinsip Kerja Sensor PIR:
Cara kerja pembacaan sensor PIR adalah dengan cara pancaran infra merah masuk melalui lensa Fresnel dan mengenai sensor pyroelektrik, karena sinar infra merah mengandung energi panas maka sensor pyroelektrik akan menghasilkan arus listrik. Arus listrik inilah yang akan menimbulkan tegangan dan dibaca secara analog oleh sensor. Kemudian sinyal ini akan dikuatkan oleh penguat dan dibandingkan oleh komparator dengan tegangan referensi tertentu (keluaran berupa sinyal 1-bit). Jadi sensor PIR hanya akan mengeluarkan logika 0 dan 1, 0 saat sensor tidak mendeteksi adanya pancaran infra merah dan 1 saat sensor mendeteksi infra merah.
Diagram Blok Sensor PIR
Gambar 3.3.2 Diagram Blok Sensor PIR
Untuk jarak jangkau dari sensor PIR disetting sesuai kebutuhan tergantung karakteristik sensor PIR, proses pengindraan sensor PIR dapat dilihat pada Gambar
Gambar 3.3.3 Proses Pengindraan Sensor PIR
Mode operasi sensor:
Pada sensor PIR terdapat dua mode operasi pada sensor ini seperti Repeatable(H) dan Non-Repeatable(L) dan mode. Mode Berulang adalah mode default. Keluaran dari sensor dapat diatur dengan mempersingkat dua pin di sebelah kiri modul seperti yang ditunjukkan di bawah ini. Anda juga dapat melihat dua potensiometer warna oranye yang dapat digunakan untuk mengatur sensitivitas dan waktu yang akan dijelaskan lebih lanjut di bawah ini:
Gambar 3.3.4 Mode Operasi Sensor PIR
Mode Dapat Diulang (H)
Dalam mode Repeatable(H) pin keluaran Dout akan menjadi tinggi (3.3V) ketika seseorang terdeteksi dalam jangkauan dan menjadi rendah setelah waktu tertentu (waktu diatur oleh potensiometer "Off time control"). Dalam mode ini pin keluaran akan menjadi tinggi terlepas dari apakah orang tersebut masih ada di dalam jangkauan atau telah meninggalkan area tersebut. Sensitivitas dapat diatur menggunakan potensiometer "kontrol sensitivitas"
Mode Tidak Dapat Diulang (L)
Dalam mode "I", pin keluaran Dout akan menjadi tinggi (3.3V) ketika seseorang terdeteksi dalam jangkauan dan akan tetap tinggi selama dia tetap berada dalam batas jangkauan Sensor. Setelah orang tersebut meninggalkan area tersebut, pin akan menjadi rendah setelah waktu tertentu yang dapat diatur menggunakan potensiometer. Sensitivitas dapat diatur menggunakan potensiometer "kontrol sensitivitas"
Penggunaan / Aplikasi Sensor PIR
Sensor PIR sangat cocok digunakan pada projek-projek yang membutuhkan deteksi kapan seseorang memasuki atau meninggalkan are tertentu. Hal ini karena sensor PIR membutuhkan daya yang rendah, murah, memiliki jangkauan yang luas, dan mudah digunakan dengan berbagai sistem kontrol.
Catatan: Sensor PIR tidak dapat digunakan untuk mengetahui berapa orang yang berada pada jangkauan sensor atau seberapa dekat objek dengan sensor dan sensor PIR juga dapat dipengaruhi oleh binatang peliharaan.
Informasi Dasar
Setiap sensor PIR memiliki spesifikasi dan kriteria yang berbeda-beda namun hampir kebanyakan dari sensor PIR memiliki spesifikasi yang mirip (Direkomendasikan untuk mengacu pada datasheet). Berikut spesifikasi sensor PIR pada umumnya.
Bentuk : Persegi
Output : Pulsa digital HIGH (3V) ketika mendeteksi pergerakan dan LOW ketika tidak ada pergerakan.
Rentang Sensitivitas : Sampai dengan 6 meter sebagaimana gambar berikut
Gambar 3.3.5 Jangkauan Sensor PIR
Power Supply : 5V-12V (direkomendasikan 5VDC).
Spesifikasi:
Jarak pendeteksian : +/- 6 m.
Menggunakan 1 pin output.
Dua jenis output :
Continuous high/low.
High-low pulse.
Terdapat jumper konfigurasi pemilihan output.
Menggunakan header 3x1 dengan pitch 2.54 mm.
Tegangan kerja : 3.3 VDC - 5 VDC.
Dimensi : 32.2 mm x 24.3 mm x 25.4 mm.
Kompatibel dengan berbagai macam mikrokontroler.
Deskripsi Pin
Gambar 3.3.6 Diagram Pin Modul Sensor PIR
Pin 1 – GND : Kita harus menghubungkan pin ini ke Ground.
Pin 2 – Output : Pin ini menghasilkan keluaran (3.5V) ketika gerak terdeteksi
Pin 3 – VCC : Pin ini menyediakan catu daya (+5V) bagi elemen PIR dan rangkaian internal modul.
Bagian-Bagian Sensor PIR
Gambar berikut menunjukkan bagian-bagian dari sensor PIR yang perlu untuk diketahui
Bagian Sensor PIR
Gambar 3.3.7 Bagian Sensor PIR
Pengatur Waktu Jeda : Digunakan untuk mengatur lama pulsa high setelah terdeteksi terjadi gerakan dan gerakan telah berahir. *
Pengatur Sensitivitas : Pengatur tingkat sensitivitas sensor PIR *
Regulator 3VDC : Penstabil tegangan menjadi 3V DC
Dioda Pengaman : Mengamankan sensor jika terjadi salah pengkabelan VCC dengan GND
DC Power : Input tegangan dengan range (3 – 12) VDC (direkekomendasikan menggunakan input 5VDC).
Output Digital : Output digital sensor
Ground : Hubungkan dengan ground (GND)
BISS0001 : IC Sensor PIR
Pengatur Jumper : Untuk mengatur output dari pin digital.
3.5 Motor Servo
Gambar 3.5.1 Motor Servo
Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor. motor servo merupakan perangkat yang terdiri dari motor DC, serangkaian gear, rangkaian kontrol dan potensiometer. Serangkaian gear yang melekat pada poros motor DC akan memperlambat putaran poros dan meningkatkan torsi motor servo, sedangkan potensiometer dengan perubahan resistansinya saat motor berputar berfungsi sebagai penentu batas posisi putaran poros motor servo.
Prinsip kerja motor servo:
Motor servo dikendalikan dengan memberikan sinyal modulasi lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros motor servo. Sebagai contoh, lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ atau ke kiri (berlawanan dengan arah jarum jam), sedangkan bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros motor servo akan berputar ke arah posisi 180⁰ atau ke kanan (searah jarum jam). Lebih jelasnya perhatikan gambar dibawah ini.
Gambar 3.5.2 Pulse Wide Modulation / PWM
Lebar pulsa kendali telah diberikan, maka poros motor servo akan bergerak atau berputar ke posisi yang telah diperintahkan, dan berhenti pada posisi tersebut dan akan tetap bertahan pada posisi tersebut. Jika ada kekuatan eksternal yang mencoba memutar atau mengubah posisi tersebut, maka motor servo akan mencoba menahan atau melawan dengan besarnya kekuatan torsi yang dimilikinya (rating torsi servo). Namun motor servo tidak akan mempertahankan posisinya untuk selamanya, sinyal lebar pulsa kendali harus diulang setiap 20 ms (mili detik) untuk menginstruksikan agar posisi poros motor servo tetap bertahan pada posisinya.
3.6 Jumper
Jumper adalah suatu istilah kabel yang ber-diameter kecil yang di dalam dunia elektronika digunakan untuk menghubungkan dua titik atau lebih dan dapat juga untuk menghubungkan 2 komponen elektronika.
Jenis-jenis jumper:
Male-Male
Gambar 3.6.1 Jumper Male-Male
Kabel jumper jenis ini digunakan untuk koneksi male to male pada kedua ujung kabelnya.
Male-Female
Gambar 3.6.2 Jumper Male-Female
Kabel jumper jenis ini digunakan untuk koneksi male to female dengan salah satu ujung kabel dikoneksi male dan satu ujungnya lagi dengan koneksi female.
Female-Female
Gambar 3.6.3 Jumper Female-Female
Kabel jumper jenis ini digunakan untuk koneksi female to female pada kedua ujung kabelnya.
3.7 Arduino Uno
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 :
Gambar 3.7.1 Arduino
Gambar 3.7.2 Konfigurasi Pin Arduino
Arduino Uno Pin Diagram
Pinout Catu Daya Arduino Uno
Setidaknya ada 3 cara yang bisa ditempuh untuk memberi daya pada Arduino. yaitu sebagai berikut:
Power Jack
Power jack atau yang biasa juga disebut DC power bisa digunakan untuk memberi daya pada papan sirkuit Arduino. Umumnya power jack ini terhubung pada adaptor untuk menstabilkan tegangan. Papan sirkuit dapat bekerja pada tegangan 5-20 volt, namun dari pihak Arduino sendiri merekomendasikan untuk menggunakan tegangan 7-12 volt. Tegangan yang melebihi 12 volt dikhawatirkan akan membuat regulator sangat panas. Sedangkan pemberian tegangan di bawah 7 volt kemungkinan akan membuat project tak berjalan baik.
Pin VIN
Pin VIN Arduino Uno berfungsi memberikan daya eksternal pada papan sirkuit Arduino menggunakan daya eksternal. Untuk masalah tegangannya, kira-kira sama seperti penjelasan pada power jack.
Kabel USB
Saat menggunakan kabel USB untuk menghubungkan Arduino ke komputer, Arduino akan mendapatkan tegangan 5 volt.
Gambar 3.7.3 Pinout Catu Daya Arduino Uno
Pin Out Arduino Uno
Di papan sirkuit Arduino terdapat dioda pelindung yang menghubungkan antara kutub positif dari power jack ke pin VIN dengan nilai 1 Ampere. Besarnya tegangan yang kamu gunakan pada Arduino sangat mempengaruhi jumlah daya yang akan digunakan untuk rangkaian. Saat kamu menggunakan jack power dan pin VIN untuk menyalakan papan sirkuit, maka kapasitas maksimum yang tersedia bergantung pada regulator 5 dan 3,3 volt di papan Arduino. Pin 5 V dan 3,3, pin ini berguna dalam mengatur besarnya daya yang akan diberikan pada komponen eksternal sesuai dengan spesifikasi pabrik, apakah 5 volt atau 3,3 volt.
Pin GND, di papan Arduino terdapat 5 pin GND yang kesemuanya itu saling berkaitan. Fungsi dari pin ini adalah untuk menutup sirkuit listrik dan menyediakan tingkat referensi logika umum di seluruh sirkuitmu.
Pin Reset, kegunaan dari pin ini adalah untuk mereset program Arduino agar mulai kembali dari awal.
Pin IOREF, pin ini berfungsi untuk memberikan referensi tegangan yang beroperasi pada mikrokontroler.
Pin Analog Arduino Uno
Gambar 3.7.4 Pin Analog Arduino Uno
Pada dasarnya Arduino memiliki 6 pin analog yang semuanya memanfaatkan ADC (Analog to Digital Converter). Pin ini dapat berfungsi sebagai pin input analog maupun sebagai pin input/output digital. ADC merupakan sirkuit elektronik yang berfungsi mengubah sinyal analog menjadi sinyal digital. Hal ini memungkinkan prosesor yang merupakan perangkat digital bisa mengukur sinyal analog dan menggunakannya melalui operasinya.
Pin A0 sampai A5 memiliki kemampuan membaca tegangan analog. Sementara di Arduino, ADC beresolusi 10-bit yang artinya mewakili tegangan analog dengan 1024 level digital. Singkatnya ADC mengubah tegangan jadi bit yang dapat dipahami oleh mikroprocessor. Contoh sederhana dari ADC adalah VoIP (Voice over IP). Tiap smartphone memiliki mikrofon yang mengonversi gelombang suara menjadi tegangan analog. Yang selanjutnya melewati perangkat ADC yang mengonversi lagi data analog menjadi data digital. Nah, data digital inilah yang nantinya akan dikirim ke penerima melalui internet.
Pin Digital Arduino Uno
Pin 1 - 13 pada Arduino berfungsi sebagai pin input/output digital.
Pin 13 Arduino terhubung ke LED bawaan.
Pin 3, 5, 6, 9, 10, dan 11 memiliki fitur PWM
Perlu kamu ketahui bahwa tiap pin pada Arduino dapat memberikan arus maksimal 40 mA, namun yang disarankan hanya 20 mA. Sementara arus yang bisa disediakan untuk semua pin adalah 200 mA.
Gambar 3.7.5 Pin Digital Arduino Uno
Digital
Digital bisa dikatakan sebagai cara merepresentasikan tegangan dalam 1 bit, misalnya 1 atau 0. Pin digital di Arduino adalah pin yang memang dirancang untuk dikonfigurasikan sebagai input maupun output. Tergantung kebutuhan pengguna. Pin digital pada Arduino hanya ada dua kondisi, yaitu menyala dan mati. Saat pin dalam kondisi menyala, maka saat itu tegangan nya tinggi (HIGH) yaitu 5 volt, dan saat mati tegangannya rendah (LOW) yaitu 0 volt. Jadi tahu kan mengapa di script Arduino ada HIGH dan LOW! Ketika pin digital diatur sebagai output maka hanya ada dua macam tegangan, yaitu 0 dan 5 volt. Sedangkan saat pin ii diatur sebagai input, maka tegangan yang diberikan bisa bervariasi. Tetapi jika direpresentasikan ke digital tetap hanya ada 1 dan 0. Hanya saja untuk menentukannya diberi 2 ambang batas berikut: < 0, 8 volt dianggap 0 > 2 volt dianggap 1.
PWM
PWM merupakan singkatan dari Pulse Width Modulation, yaitu teknik modulasi yang digunakan untuk menyandikan pesan menjadi sinyal berdenyut. Biasanya PWM digunakan untuk mengatur kecepatan motor DC, Peredupan LED, dan masih banyak lagi. Ada dua komponen utama dari PWM, yaitu : Frekuensi, yaitu berapa lama waktu yang dibutuhkan untuk menyelesaikan satu siklus (periode) dan Siklus Tugas, yaitu berapa lama sinyal tetap tinggi dari total periode. Biasanya siklus tugas berbentuk persentase. Pin Arduino yang mengaktifkan PWM umumnya akan menghasilkan frekuensi konstan 500Hz. Sementara siklus tugas akan terus berubahubah sesuai dengan parameter yang digunakan pengguna.
Gambar 3.7.6 Pulse Width Modulation
Komunikasi pada Arduino
Pin digital 1 dan 0 merupakan pin serial Arduino yang biasanya digunakan untuk menghubungkan Arduino ke modul bluetooth.
Komunikasi Serial
Komunikasi serial umumnya digunakan untuk saling bertukar data antara papan sirkuit Arduino dan perangkat serial lainnya seperti komputer, display, sensor, dan sebagainya. Setidaknya ada satu port serial pada tiap papan Arduino. Komunikasi serial terjadi pada pin digital (RX) dan 1 (TX) serta melalui USB. Adanya library software serial dan pin digital memungkinkan Arduino bisa mendukung komunikasi serial yang membuat pengguna bisa menghubungkan beberapa perangkat yang mendukung serial dan membiarkan port serial utama tersedia untuk USB. Port serial pada perangkat lunak menggunakan sistem interupsi pin-change dalam berkomunikasi. Sudah tersedia library bawaan untuk melakukan komunikasi serial. Software Serial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno. Atmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI. Satu-satunya kelemahan dari perangkat lunak serial adalah membutuhkan lebih banyak pemrosesan dan tak dapat mendukung kecepatan tinggi yang sama dengan perangkat keras serial.
3.8 LED
Gambar 3.9 LED
Light Emitting Diode atau yang sering disingkat LED merupakan sebuah komponen elektromagnetik yang dapat memancarkan cahaya monokromatik melalui tegangan maju. LED terbuat dari bahan semi konduktor yang merupakan keluarga dioda. LED dapat memancarkan berbagai warna, tergantung dari bahan semikonduktor yang digunakan. LED juga dapat memancarkan cahaya inframerah yang tak tampat, seperti pada remote TV. Cara kerja dari LED hampir sama dengan keluarga dioda yang memiliki dua kutub, yaitu Kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias foward) dari Anoda ke Katoda. LED sendiri terdiri atas sebuah chip semikonduktor yang didopping, sehingga menciptakan junction antara kutub P dan kutub N. Proses dopping dalam semikonduktor adalah proses untuk menambahkan impurity / ketidakmampuan pada semikonduktor yang murni, sehingga dapat emnghasilkan karakteristik kelistrikan yang diinginkan.
3.9 Breadboard
Gambar 3.9.1 Breadboard
Definisi breadboard Arduino adalah sejenis papan roti yang biasanya digunakan untuk membuat prototype rangkaian elektronik. Beberapa orang kadang menyebutnya project board atau bahkan protoboard (prototype board). Pada dasarnya breadboard adalah board yang digunakan untuk membuat rangkaian elektronik tanpa harus merepotkan pengguna untuk menyolder. Biasanya papan breadboard ini digunakan untuk membuat rangkaian elektronik sementara untuk tujuan uji coba atau prototype.
Kegunaan breadboard yaitu sebagai media penghantar (konduktor listrik) sekaligus tempat kabel jumper dilekatkan. Sehingga arus dari satu komponen bisa terdistribusi dengan baik sesuai keinginan ke komponen lain tanpa harus merepotkan pengguna untuk melakukan penyolderan atau melakukan bongkar pasang. Salah satu kelebihan tersendiri dari penggunaan breadboard adalah komponen-komponen yang telah dirakit tak akan rusak dan mudah untuk dibongkar pasang. Ini karena papan breadboard merupakan papan tanpa solder (solderless).
Sekilas, breadboard kelihatan seperti papan plastik yang memiliki banyak lubang-lubang di atasnya dengan posisi membentuk pola tertentu. Bila diperhatikan lebih dekat maka kamu akan melihat beberapa deretan huruf, angka, dan perpaduan keduanya pada bagian atas breadboard. Tepatnya di dekat lubang koneksi.
Fungsi deretan huruf, angka dan perpaduannya tersebut adalah sebagai titik kordinat untuk memudahkanmu dalam memosisikan kabel jumper di breadboard.
Cara Kerja Breadboard:
Secara singkat, papan breadboard bisa dideskripsikan sebagai papan yang memiliki lubang koneksi berdasarkan pola tertentu. Untuk menghubungkan antara satu lubang dengan lubang yang lain, maka di bagian bawah lubang tersebut terdapat logam konduktor listrik yang diposisikan secara khusus. Ini berguna untuk memudahkan pengguna dalam membuat rangkaian. Logam konduktor yang ada di dalam breadboard umumnya seperti ini:
Gambar 3.9.2 Logam di dalam Breadboard
Berdasarkan gambar di atas, fungsi dari masing-masing jalur koneksi pada breadboard dengan keterangan warnanya yaitu sebagai berikut:
Jalur warna merah, digunakan untuk menempatkan pin 5V atau kutub positif dari Arduino untuk dihubungkan ke kutub positif komponen lain.
Jalur warna biru, digunakan untuk menempatkan pin GND atau kutub negatif dari Arduino untuk dihubungkan ke kutub negatif komponen lain.
Jalur warna hijau, digunakan untuk menempatkan pin digital dari Arduino untuk dihubungkan ke komponen lain.
Gambar 3.9.3 Jalur Koneksi Breadboard
Selain itu, di bagian tengah papan breadboard terdapat ruang kosong yang masing-masing pinggirannya terdapat ujung jalur vertikal. Fungsi dari ruang kosong ini adalah untuk menancapkan langsung ic component.
Jenis-jenis Breadboard:
Beberapa ukuran breadboard yang tersedia di pasaran antara lain:
Mini Breadboard
Gambar 3.9.4 Mini Breadboard
Jenis yang paling kecil diantara semua breadboard dan memiliki sekitar 170 titik koneksi.
Medium Breadboard
Gambar 3.9.5 Medium Breadboard
Jenis breadboard ukuran sedang yang kadang juga disebut half breadboard karena memiliki ukuran dan jumlah titik koneksinya setengah dari jumlah titik koneksi breadboard ukuran besar. Yaitu 400 titik koneksi.
Large Breadboard
Gambar 3.39 Large Breadboard
Jenis yang ukurannya paling besar diantara semua jenis breadboard dan memiliki sekitar 830 titik koneksi. Kamu bisa mendapatkannya disini.
3.10 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:
Gambar 3.10.1 Tabel Warna Resistor
Tabel Kode Warna Resistor Perhitungan untuk Resistor dengan 4 Gelang warna :
Gambar 3.10.2 Perhitungan Nilai Resistor 4 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
3.11 LCD (16x2)
Gambar 3.11.1 LCD
LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat. Teknologi Liquid Crystal Display (LCD) atau Penampil Kristal Cair sudah banyak digunakan pada produk-produk seperti layar Laptop, layar Ponsel, layar Kalkulator, layar Jam Digital, layar Multimeter, Monitor Komputer, Televisi, layar Game portabel, layar Thermometer Digital dan produk-produk elektronik lainnya.
Teknologi Display LCD ini memungkinkan produk-produk elektronik dibuat menjadi jauh lebih tipis jika dibanding dengan teknologi Tabung Sinar Katoda (Cathode Ray Tube atau CRT). Jika dibandingkan dengan teknologi CRT, LCD juga jauh lebih hemat dalam mengkonsumsi daya karena LCD bekerja berdasarkan prinsip pemblokiran cahaya sedangkan CRT berdasarkan prinsip pemancaran cahaya. Namun LCD membutuhkan lampu backlight (cahaya latar belakang) sebagai cahaya pendukung karena LCD sendiri tidak memancarkan cahaya. Beberapa jenis backlight yang umum digunakan untuk LCD diantaranya adalah backlight CCFL (Cold cathode fluorescent lamps) dan backlight LED (Light-emitting diodes).
LCD atau Liquid Crystal Display pada dasarnya terdiri dari dua bagian utama yaitu bagian Backlight (Lampu Latar Belakang) dan bagian Liquid Crystal (Kristal Cair). Seperti yang disebutkan sebelumnya, LCD tidak memancarkan pencahayaan apapun, LCD hanya merefleksikan dan mentransmisikan cahaya yang melewatinya. Oleh karena itu, LCD memerlukan Backlight atau Cahaya latar belakang untuk sumber cahayanya. Cahaya Backlight tersebut pada umumnya adalah berwarna putih. Sedangkan Kristal Cair (Liquid Crystal) sendiri adalah cairan organik yang berada diantara dua lembar kaca yang memiliki permukaan transparan yang konduktif.
Bagian-bagian LCD atau Liquid Crystal Display diantaranya adalah:
Lapisan Terpolarisasi 1 (Polarizing Film 1)
Elektroda Positif (Positive Electrode)
Lapisan Kristal Cair (Liquid Cristal Layer)
Elektroda Negatif (Negative Electrode)
Lapisan Terpolarisasi 2 (Polarizing film 2)
Backlight atau Cermin (Backlight or Mirror)
Dibawah ini adalah gambar struktur dasar sebuah LCD:
Pengertian LCD (Liquid Crystal Display) dan Prinsip Kerjanya
Gambar 3.11.2 Struktur LCD
LCD yang digunakan pada Kalkulator dan Jam Tangan digital pada umumnya menggunakan Cermin untuk memantulkan cahaya alami agar dapat menghasilkan digit yang terlihat di layar. Sedangkan LCD yang lebih modern dan berkekuatan tinggi seperti TV, Laptop dan Ponsel Pintar menggunakan lampu Backlight (Lampu Latar Belakang) untuk menerangi piksel kristal cair. Lampu Backlight tersebut pada umumnya berbentuk persegi panjang atau strip lampu Flourescent atau Light Emitting Diode (LED). Cahaya putih adalah cahaya terdiri dari ratusan cahaya warna yang berbeda. Ratusan warna cahaya tersebut akan terlihat apabila cahaya putih mengalami refleksi atau perubahan arah sinar. Artinya, jika beda sudut refleksi maka berbeda pula warna cahaya yang dihasilkan.
Backlight LCD yang berwarna putih akan memberikan pencahayaan pada Kristal Cair atau Liquid Crystal. Kristal cair tersebut akan menyaring backlight yang diterimanya dan merefleksikannya sesuai dengan sudut yang diinginkan sehingga menghasilkan warna yang dibutuhkan. Sudut Kristal Cair akan berubah apabila diberikan tegangan dengan nilai tertentu. Karena dengan perubahan sudut dan penyaringan cahaya backlight pada kristal cair tersebut, cahaya backlight yang sebelumnya adalah berwarna putih dapat berubah menjadi berbagai warna.
Jika ingin menghasilkan warna putih, maka kristal cair akan dibuka selebar-lebarnya sehingga cahaya backlight yang berwarna putih dapat ditampilkan sepenuhnya. Sebaliknya, apabila ingin menampilkan warna hitam, maka kristal cair harus ditutup serapat-rapatnya sehingga tidak adalah cahaya backlight yang dapat menembus. Dan apabila menginginkan warna lainnya, maka diperlukan pengaturan sudut refleksi kristal cair yang bersangkutan.
Register LCD
LCD 16x2 memiliki dua register seperti register data dan register perintah. RS (register select) atau pilihan daftar terutama digunakan untuk mengubah dari satu register ke register lainnya. Ketika set register adalah '0', maka itu dikenal sebagai register perintah. Demikian pula, ketika set register adalah '1', maka itu dikenal sebagai register data.
Command Register
Fungsi utama dari register perintah adalah untuk menyimpan instruksi perintah yang diberikan ke layar. Di sini pemrosesan perintah dapat terjadi dalam register.
Data Register
Fungsi utama daftar data adalah untuk menyimpan informasi yang akan ditampilkan di layar LCD. Di sini, nilai karakter ASCII adalah informasi yang akan ditampilkan di layar LCD. Setiap kali kita mengirim informasi ke LCD, ia mengirimkan ke daftar data, dan kemudian proses akan mulai di sana. Saat daftar diatur = 1, maka daftar data akan dipilih.
3.12 PWM
PWM adalah kepanjangan dari Pulse Width Modulation atau dalam bahasa Indonesia dapat diterjemahkan menjadi Modulasi Lebar Pulsa. Jadi pada dasarnya, PWM adalah suatu teknik modulasi yang mengubah lebar pulsa (pulse width) dengan nilai frekuensi dan amplitudo yang tetap. PWM dapat dianggap sebagai kebalikan dari ADC (Analog to Digital Converter) yang mengkonversi sinyal Analog ke Digital, PWM atau Pulse Width Modulation ini digunakan menghasilkan sinyal analog dari perangkat Digital (contohnya dari Mikrokontroller).
Siklus Kerja PWM (PWM Duty Cycle)
Sinyal PWM akan tetap ON untuk waktu tertentu dan kemudian terhenti atau OFF selama sisa periodenya. Yang membuat PWM ini istimewa dan lebih bermanfaat adalah kita dapat menetapkan berapa lama kondisi ON harus bertahan dengan cara mengendalikan siklus kerja atau Duty Cycle PWM.
Persentase waktu di mana sinyal PWM tetap pada kondisi TINGGI (ON Time) disebut dengan “siklus kerja” atau “Duty Cycle”. Kondisi yang sinyalnya selalu dalam kondisi ON disebut sebagai 100% Duty Cycle (Siklus Kerja 100%), sedangkan kondisi yang sinyalnya selalu dalam kondisi OFF (mati) disebut dengan 0% Duty Cycle (Siklus Kerja 0%).
Rumus untuk menghitung siklus kerja atau duty cycle dapat ditunjukkan seperti persamaan di bawah ini.
Duty Cycle = tON / (tON + tOFF)
Atau
Duty Cycle = tON / ttotal
Dimana:
tON = Waktu ON atau Waktu dimana tegangan keluaran berada pada posisi tinggi (high atau 1)
tOFF = Waktu OFF atau Waktu dimana tegangan keluaran berada pada posisi rendah (low atau 0)
ttotal = Waktu satu siklus atau penjumlahan antara tON dengan tOFF atau disebut juga dengan “periode satu gelombang”
Siklus Kerja = Waktu ON / (Waktu ON + Waktu OFF)
Gambar berikut ini mewakili sinyal PWM dengan siklus kerja 60%. Seperti yang kita lihat, dengan mempertimbangkan seluruh periode waktu (ON time + OFF time), sinyal PWM hanya ON untuk 60% dari suatu periode waktu.
Pada board Arduino Uno, pin yang bisa dimanfaatkan untuk PWM adalah pin yang diberi tanda tilde (~), yaitu pin 3, 5, 6, 9, 10, dan pin 11. Pin-pin tersebut merupakan pin yang bisa difungsikan untuk input analog atau output analog. Oleh sebab itu, jika akan menggunakan PWM pada pin ini, bisa dilakukan dengan perintah analogWrite();\
PWM pada arduino bekerja pada frekuensi 500Hz, artinya 500 siklus/ketukan dalam satu detik. Untuk setiap siklus, kita bisa memberi nilai dari 0 hingga 255. Ketika kita memberikan angka 0, berarti pada pin tersebut tidak akan pernah bernilai 5 volt (pin selalu bernilai 0 volt). Sedangkan jika kita memberikan nilai 255, maka sepanjang siklus akan bernilai 5 volt (tidak pernah 0 volt). Jika kita memberikan nilai 127 (kita anggap setengah dari 0 hingga 255, atau 50% dari 255), maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt. Sedangkan jika jika memberikan 25% dari 255 (1/4 * 255 atau 64), maka 1/4 siklus akan bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1 detik.
Gambar 3.12 Siklus Sinyal PWM pada Arduino
3.13 ADC
ADC atau Analog to Digital Converter merupakan salah satu perangkat elektronika yang digunakan sebagai penghubung dalam pemrosesan sinyal analog oleh sistem digital. Fungsi utama dari fitur ini adalah mengubah sinyal masukan yang masih dalam bentuk sinyal analog menjadi sinyal digital dengan bentuk kode-kode digital. Ada 2 faktor yang perlu diperhatikan pada proses kerja ADC yaitu kecepatan sampling dan resolusi.
Kecepatan sampling menyatakan seberapa sering perangkat mampu mengkonversi sinyal analog ke dalam bentuk sinyal digital dalam selang waktu yang tertentu. Biasa dinyatakan dalam sample per second (SPS). Sementara Resolusi menyatakan tingkat ketelitian yang dimilliki. Pada Arduino, resolusi yang dimiliki adalah 10 bit atau rentang nilai digital antara 0 - 1023. Dan pada Arduino tegangan referensi yang digunakan adalah 5 volt, hal ini berarti ADC pada Arduino mampu menangani sinyal analog dengan tegangan 0 - 5 volt.
Pada Arduino, menggunakan pin analog input yang diawali dengan kode A(A0- A5) pada Arduino Uno. Fungsi untuk mengambil data sinyal input analog menggunakan analogRead(pin);
3.14 UART
UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal.
Cara Kerja Komunikasi UART
Gambar 3.14 Komunikasi UART
Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima.
//MASTER
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define pirPin 7
const int trigPin = 9;
const int echoPin = 10;
float duration, distance;
int soundPin = 8;
void setup(){
Serial.begin(9600);
pinMode(soundPin, INPUT);
pinMode(pirPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin();
}
void loop(){
int pir = digitalRead(pirPin);
int val = digitalRead(soundPin);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = ((duration*0.034)/2);
lcd.clear();
if(pir == LOW && val == LOW && distance > 20){
lcd.setCursor(0,0);
lcd.print("Selamat Datang");
lcd.setCursor(0,1);
lcd.print("Tdk Ada Orang");
Serial.println("1");
Serial.write(1);
}else if(pir == LOW && val == LOW && distance <= 20){
lcd.setCursor(0,0);
lcd.print("Selamat Datang");
lcd.setCursor(0,1);
lcd.print("Tdk Ada Orang");
Serial.println("2");
Serial.write(2);
}else if(pir == LOW && val == HIGH && distance > 20){
lcd.setCursor(0,0);
lcd.print("Selamat Datang");
lcd.setCursor(0,1);
lcd.print("Tdk Ada Orang");
Serial.println("3");
Serial.write(3);
}else if(pir == LOW && val == HIGH && distance <= 20){
lcd.setCursor(0,0);
lcd.print("Selamat Datang");
lcd.setCursor(0,1);
lcd.print("Tdk Ada Orang");
Serial.println("4");
Serial.write(4);
}else if(pir == HIGH && val == LOW && distance > 20){
lcd.setCursor(0,0);
lcd.print("Mohon Maaf");
lcd.setCursor(0,1);
lcd.print("Ada Orang");
Serial.println("5");
Serial.write(5);
}else if(pir == HIGH && val == LOW && distance <= 20){
lcd.setCursor(0,0);
lcd.print("Mohon Maaf");
lcd.setCursor(0,1);
lcd.print("Ada Orang");
Serial.println("6");
Serial.write(6);
}else if(pir == HIGH && val == HIGH && distance > 20){
lcd.setCursor(0,0);
lcd.print("Mohon Maaf");
lcd.setCursor(0,1);
lcd.print("Ada Orang");
Serial.println("7");
Serial.write(7);
}else if(pir == HIGH && val == HIGH && distance <= 20){
lcd.setCursor(0,0);
lcd.print("Mohon Maaf");
lcd.setCursor(0,1);
lcd.print("Ada Orang");
Serial.println("8");
Serial.write(8);
}
delay(100);
// if (pir == HIGH){
// lcd.setCursor(0,0);
// lcd.print("MOHON MAAF!");
// lcd.setCursor(0,1);
// lcd.print("SEDANG ADA ORANG!");
// Serial.println("1");
// delay(100);
// if(lockLow){
//makes sure we wait for a transition to LOW before any further output is made:
// lockLow = false;
// Serial.println("---");
// Serial.print("motion detected at ");
// Serial.print(millis()/1000);
// Serial.println(" sec");
// delay(50);
// }
// takeLowTime = true;
// }
//}
// else if (val == HIGH){
// Serial.println("2");
// delay(100);
//
// }
// else if (distance <= 20)
// {
// Serial.println("4");
// delay(100);
// }
// else{
// lcd.setCursor(0,0);
// lcd.print("SELAMAT DATANG");
// lcd.setCursor(0,1);
// lcd.print("TIDAK ADA ORANG!");
// Serial.println("3");
// delay(500);
// }
}
#define PUMPULTRA 7
#define PUMPSOUND 8
int ledSatu = 5;
int ledDua = 6;
void setup(){
Serial.begin(9600);
pinMode(ledSatu, OUTPUT);
pinMode(ledDua, OUTPUT);
pinMode(PUMPULTRA, OUTPUT);
pinMode(PUMPSOUND, OUTPUT);
}
void loop(){
int data = Serial.read();
if (data == 1)
{
digitalWrite(ledSatu, LOW);
digitalWrite(ledDua, LOW);
digitalWrite(PUMPSOUND, LOW);
digitalWrite(PUMPULTRA, LOW);
}
else if (data == 2)
{
digitalWrite(ledSatu, LOW);
digitalWrite(ledDua, LOW);
digitalWrite(PUMPSOUND, LOW);
digitalWrite(PUMPULTRA, HIGH);
}
else if (data == 3)
{
digitalWrite(ledSatu, LOW);
digitalWrite(ledDua, LOW);
digitalWrite(PUMPSOUND, HIGH);
digitalWrite(PUMPULTRA, LOW);
delay(2000);
}else if (data == 4)
{
digitalWrite(ledSatu, LOW);
digitalWrite(ledDua, LOW);
digitalWrite(PUMPSOUND, HIGH);
digitalWrite(PUMPULTRA, HIGH);
delay(2000);
}
else if (data == 5)
{
digitalWrite(ledSatu, HIGH);
digitalWrite(ledDua, HIGH);
digitalWrite(PUMPSOUND, LOW);
digitalWrite(PUMPULTRA, LOW);
}
else if (data == 6)
{
digitalWrite(ledSatu, HIGH);
digitalWrite(ledDua, HIGH);
digitalWrite(PUMPSOUND, LOW);
digitalWrite(PUMPULTRA, HIGH);
}else if (data == 7)
{
digitalWrite(ledSatu, HIGH);
digitalWrite(ledDua, HIGH);
digitalWrite(PUMPSOUND, HIGH);
digitalWrite(PUMPULTRA, LOW);
delay(2000);
}
else if (data == 8)
{
digitalWrite(ledSatu, HIGH);
digitalWrite(ledDua, HIGH);
digitalWrite(PUMPSOUND, HIGH);
digitalWrite(PUMPULTRA, HIGH);
delay(2000);
}
delay(100);
}
Berdasarkan rangkaian dan program yang telah dibuat dalam Sistem Kontrol Kamar Mandi maka dapat disimpulkan bahwa project ini sudah mampu berjalan sesuai dengan kondisi yang diinginkan dan terjadi kesesuaian antara input dan outputnya.