MODUL 4
MODUL 4
Persian Cat House adalah proyek yang bertujuan untuk mengembangkan sistem monitoring dan kontrol rumah kucing Persia secara otomatis. Rumah kucing Persia memerlukan kondisi lingkungan yang spesifik untuk mengatur seperti suhu, kelembapan, ketersediaan air, dan makanan. Pengawasan dan pengontrolan kondisi lingkungan tersebut sering kali dilakukan secara manual dan tidak efektif, sehingga diperlukan sistem yang dapat memantau dan mengontrol kondisi lingkungan secara otomatis dan akurat.
Dengan menggunakan berbagai sensor, seperti DHT-22 untuk memantau suhu dan kelembapan, sensor water level untuk memantau ketersediaan air, sensor infrared untuk mendeteksi ketersediaan makanan, sensor PIR untuk mendeteksi keberadaan orang di sekitar Cat House, dan sensor LDR yang mengaktifkan lampu saat malam hari. Sistem Persian Cat House dapat memantau dan mengontrol kondisi lingkungan rumah kucing Persia secara efektif dan efisien. Output berupa heater (lampu bohlem), motor servo, LCD, dan LED memungkinkan sistem ini untuk secara otomatis menyesuaikan kondisi lingkungan sesuai kebutuhan.
Sistem ini tidak hanya memudahkan pemilik kucing dalam merawat hewan peliharaan mereka, tetapi juga memastikan bahwa kucing berada dalam kondisi lingkungan yang optimal setiap saat. Dengan demikian, Persian Cat House diharapkan dapat membantu mengawasi dan mengontrol rumah kucing secara lebih efektif, meningkatkan kualitas hidup kucing Persia, dan memudahkan pemilik dalam menjaga kesehatan dan kenyamanan hewan peliharaan mereka.
- Membantu monitoring dan kontrol rumah kucing Persia secara otomatis.
- Memahami cara kerja dari Mikrokontroler, IC, dan komponen terkait pada prototype yang telah dibuat.
- Implementasi teknologi canggih
1. Arduino
Uno
Spesifikasi:
2. Sensor
Water Level
Spesifikasi:
· Tegangan
kerja: 3-5 VDC nArus kerja: < 20mA
· Tipe
sensor: analog
· Max
output: 2.5v (saat sensor terendam semua)
· Luas area deteksi: 16x40mm nSuhu kerja: 10-30 C
3. Sensor
PIR
Spesifikasi:
Vin : DC 5V - 9V
Radius : 180 derajat
Jarak deteksi : 5 - 7 meter
Output : Digital TTL
Memiliki setting sensitivitas
Memiliki setting time delay
Dimensi : 3,2 cm x 2,4 cm x 2,3 cm
Berat : 10 gr
4. Sensor
Infrared
Spesifikasi:
5. Sensor
LDR
Spesifikasi LDR:
· Tegangan
maksimum (DC): 150V.
· Konsumsi
arus maksimum: 100mW.
· Tingkatan
Resistansi/Tahanan : 10Ω sampai 100KΩ
· Puncak
spektral: 540nm (ukuran gelombang cahaya)
· Waktu Respon Sensor : 20ms – 30ms.
6. Sensor
DHT-22
Spesifikasi sensor suhu kelembaban DHT22 :
· Tegangan
input : 3,3 – 6 VDC
· Sistem
komunikasi : Serial (single – Wire Two way)
· Range
suhu : -400C – 800C
· Range
kelembaban : 0% – 100% RH
· Akurasi : ±20C (temperature) ±5% RH (humidity)
7. Relay
Spesifikasi :
· Trigger
Voltage (Voltage across coil) : 5V 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)
8. Motor
Servo
Spesifikasi:
· Tegangan
kerja : 4,8 – 6 Vdc
· Torsi
: 1,6 kg/cm
· Arus
: < 500 mA
· Dimensi
: 22 x 12,5 x 29,5 cm
· Berat
: 9 gr
· Kecepatan putaran: 0,12 detik/60 derajat
9. Kipas
Angin
Spesifikasi Kipas DC 12V 8 x 8 cm:
· Ukuran:
8 cm x 8 cm
· Tegangan:
12 Volt DC
· Digunakan untuk pendinginan suhu pada perangkat elektronik seperti komputer, laptop, dan perangkat lainnya.
10. Lampu Bohlam
Spesifikasi:
Tegangan 2,5 volt
Spesifikasi :
· Format
tampilan : 16 x 2 karakter
· Pengontrol
bawaan : ST 7066 (atau setara)
· Siklus
kerja : 1/16
· 5
x 8 titik termasuk kursor
· Supply
+ 5 V (juga tersedia untuk + 3 V)
· LED
dapat digerakkan oleh pin 1, pin 2, pin 15, pin 16 atau A dan K
· N.V. opsional untuk supply + 3 V
12. 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
13. Buzzer
Spesifikasi Buzzer
· Rated
Voltage : 12V
· DC
Operating Voltage : 4 to 8V
· DC
Rated Current : ≤30mA
· Sound
Output at 10cm* : ≥85dB
· Resonant
Frequency : 2300 ±300Hz
· Tone
: Continuous
· Operating
Temperature : -25°C to +80°C
· Storage
Temperature : -30°C to +85°C
· Weight
: 2g
· Value
applying at rated voltage (DC)
1. Komunikasi
·
Universal Asynchronous Receiver
Transmitter (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.
Komunikasi UART dapat
digunakan untuk berbagai keperluan, seperti:
· Menghubungkan
Arduino Uno ke komputer untuk mengirim dan menerima data.
· Menghubungkan
Arduino Uno ke sensor atau perangkat lain.
· Menghubungkan Arduino Uno ke jaringan komputer.
Pin RX dan TX adalah pin yang digunakan untuk komunikasi serial pada Arduino Uno. Pin RX digunakan untuk menerima data dari perangkat lain, sedangkan pin TX digunakan untuk mengirim data ke perangkat lain.
Pin RX dan TX menggunakan level tegangan logic 5V atau 3.3V, sesuai dengan hardware yang digunakan. Jika berbeda tenganganya kalian dapat menggunakan rangkaian pembagi tegangan (voltage devider) atau level converter.
Berikut adalah fungsi pin
RX dan TX secara lebih detail:
Pin RX:
· Mengirim
data ke Arduino Uno dari perangkat lain.
· Data
yang dikirim ke Arduino Uno akan diinterpretasikan sebagai data biner.
· Data biner tersebut dapat berupa karakter, angka, atau data lainnya.
Pin TX:
· Mengirim
data dari Arduino Uno ke perangkat lain.
· Data
yang dikirim dari Arduino Uno harus berupa data biner.
· Data biner tersebut dapat berupa karakter, angka, atau data lainnya.
Cara Kerja 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, kemudian ditransfer secara parallel ke data bus penerima.
2. Arduino
Uno
Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang didalamnya terdapat utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggungakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain.
Bagian-bagian arduino
uno:
a. Power
USB
Digunakan untuk
menghubungkan Papan Arduino dengan komputer lewat koneksi USB.
b. Power
jack
Supply atau sumber
listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.
c. Crystal
Oscillator
Kristal ini digunakan
sebagai layaknya detak jantung pada Arduino. Jumlah cetak menunjukkan 16000
atau 16000 kHz, atau 16 MHz.
d. Reset
Digunakan untuk mengulang
program Arduino dari awal atau Reset.
e. 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.
f. Analog
Pins
Papan Arduino UNO
memiliki 6 pin analog A0. Digunakan untuk membaca sinyal atau sensor analog
seperti sensor jarak, suhu, dsb, dan mengubahnya menjadi nilai digital.
g. LED
Power Indicator
Lampu ini akan menyala
dan menandakan Papan Arduino mendapatkan supply listrik dengan baik.
Bagian - bagian
pendukung:
a. 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).
b. 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.
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:
3. Sensor
Water Level
Water sensor adalah controller yang bisa mendeteksi volume air, tinggi air, serta kualitas air di dalam tangki, sungai, danau, dan sejenisnya dengan akurat dan mudah. Sensor ini merupakan perangkat yang bisa mematikan atau mengobarkan pompa air secara otomatis andai air mulai berakhir atau sudah nyaris penuh
Jumlah Pin pada Sensor ini berjumlah 3
Yaitu :
· Pin
Negatif (-)
· Pin
Positif (+)
· Pin Data (S).
Water Level Sensor adalah alat yang digunakan untuk memberikan signal kepada alarm / automation panel bahwa permukaan air telah mencapai level tertentu. Sensor akan memberikan signal dry contact (NO/NC) ke panel. Detector ini bermanfaat untuk memberikan alert atau untuk menggerakkan perangkat automation lainnya. Water sensor ini telah dilengkapi dengan built-in buzzer yang berbunyi pada saat terjadi trigger. Sensor ketinggian air biasanya digunakan untuk menghitung ketinggian air di sungai, danau, atau tangki air. Sensor ini sangat mudah untuk dibuat karena bahan - bahanya sederhana.
Cara Kerja Sensor:
Water level merupakan
sensor yang berfungsi untuk mendeteksi ketinggian air dengan output analog
kemudian diolah menggunakan mikrokontroler. Cara kerja sensor ini adalah
pembacaan resistansi yang dihasilkan air yang mengenai garis lempengan pada
sensor. Cara kerja sensor ini adalah pembacaan resistansi yang dihasilkan air
yang mengenai garis lempengan pada sensor. Semakin banyak air yang mengenai
lempengan tersebut, maka nilai resistansinya akan semakin kecil dan sebaliknya.
Sensor memiliki sepuluh
jejak tembaga yang terbuka, lima di antaranya adalah jejak daya dan lima
lainnya adalah jejak indera. Jejak-jejak ini terjalin sehingga ada satu jejak
indera di antara setiap dua jejak kekuatan. Biasanya, jejak kekuatan dan indera
tidak terhubung, tetapi ketika direndam dalam air, keduanya dijembatani.
Pengoperasian sensor ketinggian air cukup sederhana. Jejak daya dan indra
membentuk resistor variabel (seperti potensiometer) yang resistansinya
bervariasi berdasarkan seberapa banyak mereka terpapar air.
Pengoperasian sensor
ketinggian air cukup sederhana.
Jejak daya dan indra
membentuk resistor variabel (seperti potensiometer) yang resistansinya
bervariasi berdasarkan seberapa banyak mereka terpapar air.
Pengoperasian sensor
ketinggian air cukup sederhana.
Jejak daya dan indra membentuk resistor variabel (seperti potensiometer) yang resistansinya bervariasi berdasarkan seberapa banyak mereka terpapar air.
Resistensi ini berbanding terbalik dengan kedalaman pencelupan sensor dalam air: Semakin banyak air yang dibenamkan sensor, semakin baik konduktivitasnya dan semakin rendah resistansinya. Semakin sedikit air yang dibenamkan sensor, semakin buruk konduktivitasnya dan semakin tinggi resistansinya. Sensor menghasilkan tegangan output yang sebanding dengan resistansi; dengan mengukur tegangan ini, ketinggian air dapat ditentukan.
Grafik Sensor Water Level:
4. Sensor
PIR
Sensor PIR atau disebut juga dengan Passive Infra Red merupakan sensor yang digunakan untuk mendeteksi adanya pancaran sinar infra merah dari suatu object. Sesuai dengan namanya sensor PIR bersifat pasif, yang berarti sensor ini tidak memancarkan sinar infra merah melainkan hanya dapat menerima radiasi sinar infra merah dari luar.
Konfigurasi Pin:
Sensor PIR terdiri dari
beberapa bagian yaitu :
· Fresnel
Lens -->Lensa Fresnel pertama kali digunakan pada tahun 1980an. Digunakan
sebagai lensa yang memfokuskan sinar pada lampu mercusuar. Penggunaan paling
luas pada lensa Fresnel adalah pada lampu depan mobil, di mana mereka
membiarkan berkas parallel secara kasar dari pemantul parabola dibentuk untuk
memenuhi persyaratan pola sorotan utama.
· IR
Filter -->IR Filter dimodul sensor PIR ini mampu menyaring panjang gelombang
sinar infrared pasif antara 8 sampai 14 mikrometer, sehingga panjang gelombang
yang dihasilkan dari tubuh manusia yang berkisar antara 9 sampai 10 mikrometer
ini saja yang dapat dideteksi oleh sensor. Sehingga Sensor PIR hanya bereaksi
pada tubuh manusia saja.
· Pyroelectric
Sensor -->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.
· Amplifier
-->Sebuah sirkuit amplifier yang ada menguatkan arus yang masuk pada
material pyroelectric.
· Komparator-->Setelah dikuatkan oleh amplifier kemudian arus dibandingkan oleh komparator sehingga mengahasilkan output.
Blok Diagram PIR Sensor
Sensor PIR memiliki jangkauan jarak yang bervariasi, tergantung karakteristik sensor. Proses penginderaan sensor PIR dapat digambarkan sebagai berikut:
Jangkauan PIR Sensor
Pada umumnya sensor PIR memiliki jangkauan pembacaan efektif hingga 5 meter, dan sensor ini sangat efektif digunakan sebagai human detector.
Grafik
Respon Sensor PIR
1. Respon terhadap arah, jarak, dan kecepatan
2. Respon terhadap suhu
5. Sensor
Infrared
Infrared (IR) detektor atau sensor infra merah adalah komponen elektronika yang dapat mengidentifikasi cahaya infra merah (infra red, IR). Sensor infra merah atau detektor infra merah saat ini ada yang dibuat khusus dalam satu modul dan dinamakan sebagai IR Detector Photomodules. IR Detector Photomodules merupakan sebuah chip detektor inframerah digital yang di dalamnya terdapat fotodiode dan penguat (amplifier).
Sensor infared terdiri dari led infrared sebagai pemancar sedangkan pada bagian penerima biasanya terdapat foto transistor, fotodioda, atau inframerah modul yang berfungsi untuk menerima sinar inframerah yang dikirimkan oleh pemancar.
Pin Out:
Prinsip Kerja Sensor Infrared:
Ketika pemancar IR memancarkan radiasi, ia mencapai objek dan beberapa radiasi memantulkan kembali ke penerima IR. Berdasarkan intensitas penerimaan oleh penerima IR, output dari sensor ditentukan.
Prinsip kerja rangkaian sensor infrared berdasarkan pada gambar 2. Adalah ketika cahaya infra merah diterima oleh fototransistor maka basis fototransistor akan mengubah energi cahaya infra merah menjadi arus listrik sehingga basis akan berubah seperti saklar (swith closed) atau fototransistor akan aktif (low) secara sesaat seperti gambar.
Grafik Respon Sensor Infrared
Grafik menunjukkan hubungan antara resistansi dan jarak potensial untuk sensitivitas rentang antara pemancar dan penerima inframerah. Resistor yang digunakan pada sensor mempengaruhi intensitas cahaya inframerah keluar dari pemancar. Semakin tinggi resistansi yang digunakan, semakin pendek jarak IR Receiver yang mampu mendeteksi sinar IR yang dipancarkan dari IR Transmitter karena intensitas cahaya yang lebih rendah dari IR Transmitter. Sementara semakin rendah resistansi yang digunakan, semakin jauh jarak IR Receiver mampu mendeteksi sinar IR yang dipancarkan dari IR Transmitter karena intensitas cahaya yang lebih tinggi dari IR Transmitter.
6. Sensor
LDR
LDR (Light Dependent Resistor) merupakan salah satu komponen resistor yang nilai resistansinya akan berubah-ubah sesuai dengan intensitas cahaya yang mengenai sensor ini. LDR juga dapat digunakan sebagai sensor cahaya. Perlu diketahui bahwa nilai resistansi dari sensor ini sangat bergantung pada intensitas cahaya. Semakin banyak cahaya yang mengenainya, maka akan semakin menurun nilai resistansinya. Sebaliknya jika semakin sedikit cahaya yang mengenai sensor (gelap), maka nilai hambatannya akan menjadi semakin besar sehingga arus listrik yang mengalir akan terhambat.
Beberapa karakteristik yang terdapat pada
sensor LDR antara lain adalah :
· Tegangan
maksimum (DC) : 150 V
· Konsumsi
Arus Maksimum : 100 mW
· Tingkatan
Resistansi / Tahanan : 10 Ohm hingga 100k Ohm
· Puncak
Spektral : 540 nm (ukuran gelombang
cahaya)
· Waktu
Respon Sensor : 20ms – 30 ms
· Suhu Operasi : -30o Celcius – 70o Celcius
Konfigurasi PIN LDR:
LDR berfungsi sebagai sebuah sensor cahaya dalam berbagai macam rangkaian elektronika seperti saklar otomatis berdasarkan cahaya yang jika sensor terkena cahaya maka arus listrik akan mengalir(ON) dan sebaliknya jika sensor dalam kondisi minim cahaya(gelap) maka aliran listrik akan terhambat(OFF). LDR juga sering digunakan sebagai sensor lampu penerang jalan otomatis, lampu kamar tidur, alarm, rangkaian anti maling otomatis menggunakan laser, sutter kamera otomatis, dan masih banyak lagi yang lainnya.
Prinsip kerja LDR sangat
sederhana tak jauh berbeda dengan variable resistor pada umumnya. LDR dipasang
pada berbagai macam rangkaian elektronika dan dapat memutus dan menyambungkan
aliran listrik berdasarkan cahaya. Semakin banyak cahaya yang mengenai LDR maka
nilai resistansinya akan menurun, dan sebaliknya semakin sedikit cahaya yang
mengenai LDR maka nilai hambatannya akan semakin membesar.
Grafik respon:
Pada sensor LDR , jika sensor dikenakan cahaya yang diserap (threshold) semakin terang, maka nilai resistansi pada LDR akan semakin kecil, begitupun sebaliknya.
7. Sensor DHT22
Sensor DHT22 adalah sensor digital yang berguna untuk mengukur tingkat kelembaban udara dan suhu. Kemudian sensor ini menggunakan kapasitor dan termistor untuk mendeteksi perubahan resistivitas akibat perubahan kelembaban dan suhu udara.
Untuk kaki/pin, sensor
suhu dan kelembaban DHT22 terdiri dari 4 kaki/pin, sama dengan DHT11, tetapi
yang dipakai hanya 3 pin saja. Biasanya kalau kita membeli dalam bentuk modul
jumlah pin-nya menjadi 3 :
· VCC(+)
: tegangan input (5V)
· GND(-)
: Ground
· Data : Data output serial
Prinsip Kerja DHT22:
Sensor ini terdapat sebuah Thrmistor dengan tipe NTC (Negative Temperature Coefficient). Seperti kita tahu cara kerja dari thermistor adalah kenaikan dan turunnya suhu mengakibatkan naik dan turunnya resistansi thermistor.
Karena sensor ini menggunakan thermistor NTC maka nilai resistansinya berbanding terbalik dengan kenaikan suhu. Yaitu, semakin tinggi suhu di sekitar sensor maka nilai resistansi NTC akan semakin kecil. Sebaliknya nilai resistansi-nya akan meningkat ketika suhu ruangan sensor menurun.
Berdasarkan naik turunnya resistansi tsb maka sensor akan mengeluarkan output berupa nilai analog yang akan dibaca dan dikonversi oleh arduino menjadi nilai suhu (dalam bentuk ºC) dan kelembapan ruangan (dalam bentuk %).
8. 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.
Konfigurasi PIN Relay:
Nomor PIN |
Nama Pin |
Deskripsi |
1 |
Coil End 1 |
Digunakan untuk memicu (On / Off) Relay, Biasanya
satu ujung terhubung ke 12V dan ujung lainnya ke ground |
2 |
Coil End 2 |
Digunakan untuk memicu (On / Off) Relay, Biasanya
satu ujung terhubung ke 12V dan ujung lainnya ke ground |
3 |
Common (COM) |
Common terhubung ke salah satu Ujung Beban yang
akan dikontrol |
4 |
Normally Close (NC) |
Ujung lain dari beban terhubung ke NO atau
NC. Jika terhubung ke NC beban tetap terhubung sebelum pemicu |
5 |
Normally Open (NO) |
Ujung lain dari beban terhubung ke NO atau
NC. Jika terhubung ke NO, beban tetap terputus sebelum pemicu |
9. 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 yaitu 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.
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.
10. 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:
Proses inisialisasi pin arduino yang terhubung ke pin LCD
RS, Enable, D4, D5, D6, dan D7, dilakukan dalam baris LiquidCrystal (2, 3, 4,
5, 6, 7), dimana LCD merupakan variabel yang dipanggil setiap kali intruksi
terkait LCD akan digunakan.
Pada Proyek Akhir ini LCD dapat menampilkan karakternya
dengan menggunakan library yang bernama LiquidCrystal. Berikut ada beberapa
fungsifungsi dari library LCD:
· begin()
Untuk begin() digunakan
dalam inisialisasi interface ke LCD dan mendefinisikan ukuran kolom dan baris
LCD. Pemanggilan begin() harus dilakukan terlebih dahulu sebelum memanggil
instruksi lain dalam library LCD. Untuk syntax penulisan instruksi begin() ialah
sebagai berikut. lcd.begin(cols,rows) dengan lcd ialah nama variable, cols
jumlah kolom LCD, dan rows jumlah baris LCD.
· clear()
Instruksi clear()
digunakan untuk membersihkan pesan text. Sehingga tidak ada tulisan yang
ditapilkan pada LCD.
· setCursor()
19 Instruksi ini
digunakan untuk memposisikan cursor awal pesan text di LCD. Penulisan syntax
setCursor() ialah sebagai berikut. lcd.setCursor(col,row) dengan lcd ialah nama
variable, col kolom LCD, dan row baris LCD.
· print()
Sesuai dengan namanya, instruksi print() ini digunakan untuk mencetak, menampilkan pesan text di LCD. Penulisan syntax print() ialah sebagai berikut.lcd.print(data) dengan lcd ialah nama variable, data ialah pesan yang ingin ditampilkan.
11. LED
Light Emitting Diode atau sering
disingkat dengan LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan
maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor.
Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan
semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah
yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control
TV ataupun Remote Control perangkat elektronik lainnya.
Tabel warna dan material LED:
12. Buzzer
Buzzer adalah sebuah
komponen elektronika yang berfungsi untuk mengubah getaran listrik menjadi
getaran suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loud
speaker, jadi buzzer juga terdiri dari kumparan yang terpasang pada diafragma
dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet,
kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah arus dan
polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap
gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga
membuat udara bergetar yang akan menghasilkan suara.
Pada gambar berikut tampak simbol buzzer dan bentuk buzzer :
Konfigurasi PIN Buzzer
1 |
Positif |
Diidentifikasi
dengan simbol (+) atau kabel terminal yang lebih panjang. Dapat didukung
oleh 12V DC |
2 |
Negatif |
Diidentifikasi
oleh kabel terminal pendek. Biasanya terhubung ke ground sirkuit |
- Rangkaian Simulasi
- Prinsip Kerja
c. Rangkaian Simulasi dan Prinsip Kerja [Kembali]
- Listing Program
#include <Wire.h> // Library for I2C
communication #include <LiquidCrystal_I2C.h> // Library for I2C LCD #include <DHT22.h>
// Pin Definitions #define INFRA_SENSOR 5 #define PIR_SENSOR 13 #define DHT22_SENSOR 2
#define DHTTYPE DHT22 // Tipe sensor DHT22
const int ldrPin = A1; // Pin analog yang terhubung ke sensor
LDR // thresholdW untuk mendeteksi keberadaan sinar matahari
(disesuaikan sesuai dengan sensor yang digunakan) const int WATER_SENSOR = A0; const int thresholdW = 200;
// Initialize LCD LiquidCrystal_I2C lcd(0x27, 16, 2);
DHT22 dht22(DHT22_SENSOR);
void setup() { Serial.begin(9600); // Serial monitor for
debugging pinMode(INFRA_SENSOR, INPUT); pinMode(PIR_SENSOR, INPUT); pinMode(WATER_SENSOR, INPUT); lcd.init(); //
Initialize the LCD lcd.backlight(); // Turn
on the backlight lcd.begin(16, 2); // Initialize the LCD with 16
columns and 2 rows // Display initial message lcd.setCursor(0, 0); lcd.print("System
Starting"); delay(200); // Wait for 2 seconds }
void loop() {
float t = dht22.getTemperature(); float h = dht22.getHumidity();
lcd.setCursor(0, 0); lcd.print("Tem:"); lcd.print(t); lcd.print("C"); lcd.setCursor(8, 0); lcd.print("Hum:"); lcd.print(h); lcd.print("%"); delay(200);
int waterval = analogRead(WATER_SENSOR); int infra_state = digitalRead(INFRA_SENSOR); int pir_state = digitalRead(PIR_SENSOR); int ldrval = analogRead(ldrPin);
waterval = analogRead(WATER_SENSOR); if (waterval
< thresholdW) { // Ubah ambang batas sesuai
kebutuhan lcd.setCursor(0, 1); lcd.print("Air
Habis "); } else { lcd.setCursor(0, 1); lcd.print("Air
Cukup "); }
int infraval = (infra_state == HIGH) ? 1 : 0; int pirval = (pir_state == HIGH) ? 1 : 0;
String dataString = String(infraval) + "," + String(pirval) + "," +
String(t) + "," + String(ldrval) + "," + String(waterval);
Serial.println(dataString);
delay(500); } |
#include <Servo.h> //
Library for Servo motor control // Pin Definitions #define SERVO1_PIN 7 #define SERVO2_PIN 11 #define LED_PIN 9 #define HEATER_PIN 3 // Pin yang terhubung
ke relay atau driver heater #define FAN_PIN 5 #define buzzer A2 // Initialize Servo Servo myServo1; Servo myServo2; void setup() { Serial.begin(9600); // Serial monitor for
debugging myServo1.attach(SERVO1_PIN); // Attach servo to pin myServo2.attach(SERVO2_PIN); pinMode(LED_PIN, OUTPUT); pinMode(HEATER_PIN, OUTPUT); pinMode(FAN_PIN, OUTPUT); pinMode(buzzer, OUTPUT); } void loop() { if (Serial.available() >= 5) { // Adjust the number of bytes
received String dataString = Serial.readStringUntil('\n'); int infraval = 0; int pirval = 0; int t = 0; int ldrval = 0; //
Using int for simplicity int waterval = 0; //
Using int for simplicity int commaIndex1 = dataString.indexOf(','); int commaIndex2 = dataString.indexOf(',', commaIndex1 + 1); int commaIndex3 = dataString.indexOf(',', commaIndex2 + 1); int commaIndex4 = dataString.indexOf(',', commaIndex3 + 1); // Konversi string ke integer infraval = dataString.substring(0, commaIndex1).toInt(); pirval = dataString.substring(commaIndex1 + 1, commaIndex2).toInt(); t = dataString.substring(commaIndex2 + 1, commaIndex3).toInt(); ldrval = dataString.substring(commaIndex3 + 1, commaIndex4).toInt(); waterval = dataString.substring(commaIndex4 + 1).toInt(); if(infraval == HIGH) { myServo1.write(0); Serial.println("IR
OFF"); } else { myServo1.write(135); Serial.println("IR
ON"); } if(pirval == HIGH) { myServo2.write(0); Serial.println("Servo PIR mati"); } else { myServo2.write(135); Serial.println("Servo PIR hidup"); } if (t <= 25) { digitalWrite(HEATER_PIN, HIGH); digitalWrite(FAN_PIN, LOW); Serial.println("Turning HEATER ON, FAN
OFF"); } else if (t >= 30) { digitalWrite(FAN_PIN, HIGH); digitalWrite(HEATER_PIN, LOW); Serial.println("Turning FAN ON, HEATER
OFF"); } else { digitalWrite(HEATER_PIN, LOW); digitalWrite(FAN_PIN, LOW); Serial.println("Turning HEATER and FAN
OFF"); } if (ldrval
>= 700) { digitalWrite(LED_PIN, LOW); Serial.println("Turning LED_PIN
OFF"); } else { digitalWrite(LED_PIN, HIGH); Serial.println("Turning LED_PIN ON"); } if (waterval
>= 350) { digitalWrite(buzzer, LOW); } if (waterval
< 350) { digitalWrite(buzzer, HIGH); Serial.println("buzzer aktif"); } } } |
Download rangkaian klik disini
Download HMTL klik disini
Download listing program klik disini
Download video simulasi rangkaian klik disiniDownload Flowchart klik disini
- Download Library
Download library Arduino 1 klik disini
Download library Arduino 2 klik disiniDownload library Infrared sensor klik disiniDownload library LCD klik disiniDownload datasheet Arduino UNO klik disini
- Download datasheet
Download datasheet Infrared Sensor klik disiniDownload datasheet LDR Sensor klik disiniDownload datasheet Sensor PIR klik disini
Download datasheet DHT22 klik disiniDownload datasheet Water Sensor klik disiniDownload datasheet LCD klik disini
Download datasheet Resistor klik disiniDownload datasheet Motor Servo klik disiniDownload datasheet LED klik disini
Komentar
Posting Komentar