a. Arduino Uno
Arduino adalah pengendali mikro single-board yang bersifatopen-source, diturunkan dari Wiring platform, dirancang untuk memudahkan penggunaan elektronik dalam berbagai bidang. Hardware arduino memiliki prosesor Atmel AVR dan software arduino memiliki bahasa pemrograman C.Memori yang dimiliki oleh Arduino Uno sebagai berikut : Flash Memory sebesar 32KB, SRAM sebesar 2KB, dan EEPROM sebesar 1KB. Clock pada board Uno menggunakan XTAL dengan frekuensi 16 Mhz. Dari segi daya, Arduino Uno membutuhkan tegangan aktif kisaran 5 volt, sehingga Uno dapat diaktifkan melalui koneksi USB. Arduino Uno memiliki 28 kaki yang sering digunakan. Untuk Digital I/O terdiri dari 14 kaki, kaki 0 sampai kaki 13, dengan 6 kaki mampu memberikan output PWM (kaki 3,5,6,9,10,dan 11). Masing-masing dari 14 kaki digital di Uno beroperasi dengan tegangan maksimum 5 volt dan dapat memberikan atau menerima maksimum 40mA. Untuk Analog Input terdiri dari 6 kaki, yaitu kaki A0 sampai kaki A5. Kaki pin merupakan tempat input tegangan kepada Uno saat menggunakan sumber daya eksternal selain USB dan adaptor.
ATMega328 merupakan bagian mikrokontroler yang ada pada arduino R3 keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang mana setiap proses eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction Set Computer). Mikrokontroler ini memiliki beberapa fitur antara lain:
- Memiliki EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
- Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
- Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse Width Modulation) output.
- 32 x 8-bit register serba guna.
- Dengan clock 16 MHz kecepatan mencapai 16 MIPS.
- 32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
- 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
b. Resistor
Resistor merupakan salah satu komponen yang digunakan dalam sebuah sirkuit atau rangkaian elektronik. Resistor berfungsi sebagai resistansi/ hambatan yang mampu mengatur atau mengendalikan tegangan dan arus listrik rangkaian. Resistor mempunyai nilai resistansi (tahanan) tertentu yang dapat memproduksi tegangan listrik di antara kedua pin dimana nilai tegangan terhadap resistansi tersebut berbanding lurus dengan arus yang mengalir,
c. Power Supply
Vcc berfungsi untuk memberikan tegangan kepada input, dimana disini diberikan kepada switch.
d. Switch
e. Jumper
Kabel 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. Kabel jumper jenis ini digunakan untuk koneksi male to male pada kedua ujung kabelnya.
f. Rain Sensor
Sensor hujan adalah jenis sensor yang berfungsi untuk mendeteksi terjadinya hujan atau tidak, yang dapat difungsikan dalam segala macam aplikasi dalam kehidupan sehari – hari. Dipasaran sensor ini dijual dalam bentuk module sehingga hanya perlu menyediakan kabel jumper untuk dihubungkan ke mikrokontroler atau Arduino.
Prinsip kerja dari module sensor ini yaitu pada saat ada air hujan turun dan mengenai panel sensor maka akan terjadi proses elektrolisasi oleh air hujan. Dan karena air hujan termasuk dalam golongan cairan elektrolit yang dimana cairan tersebut akan menghantarkan arus listrik.
Pada sensor hujan ini terdapat ic komparator yang dimana output dari sensor ini dapat berupa logika high dan low (on atau off). Serta pada modul sensor ini terdapat output yang berupa tegangan pula. Sehingga dapat dikoneksikan ke pin khusus Arduino yaitu Analog Digital Converter.
Dengan singkat kata, sensor ini dapat digunakan untuk memantau kondisi ada tidaknya hujan di lingkungan luar yang dimana output dari sensor ini dapat berupa sinyal analog maupun sinyal digital.
g. LM35
Sensor LM35 adalah sensor suhu analog yang sangat populer dan banyak digunakan dalam proyek-proyek elektronika. Sensor ini dirancang khusus untuk mengukur suhu dalam rentang tertentu dan menghasilkan sinyal tegangan yang proporsional terhadap suhu tersebut.
Cara kerjanya adalah setelah ia sudah mendeteksi suhu sesuai dengan yang ada diprogram yaitu 25 C, maka tegangannya akan keluar dan memberikan nilai tegangannya ke arduino sehingga terbaca.
h. Relay
Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan komponen Electromechanical (Elektromekanikal) yang terdiri dari 2 bagian utama yakni Elektromagnet (Coil) dan Mekanikal (seperangkat Kontak Saklar/Switch). Relay menggunakan Prinsip Elektromagnetik untuk menggerakkan Kontak Saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan Relay yang menggunakan Elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A.
Ada besi atau yang disebut dengan nama inti besi dililit oleh sebuah kumparan yang berfungsi sebagai pengendali. Sehingga kumparan kumparan yang diberikan arus listrik maka akan menghasilkan gaya elektromagnet. Gaya tersebut selanjutnya akan menarik angker untuk pindah dari biasanya tutup ke buka normal. Dengan demikian saklar menjadi pada posisi baru yang biasanya terbuka yang dapat menghantarkan arus listrik. Ketika armature sudah tidak dialiri arus listrik lagi maka ia akan kembali pada posisi awal, yaitu normal close.
Fitur:
- Tegangan pemicu (tegangan kumparan) 5V
- Arus pemicu 70mA
- Beban maksimum AC 10A @ 250 / 125V
- Maksimum baban DC 10A @ 30 / 28V
- Switching maksimum
i. Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai sirkuit pemutus dan penyambung arus (switching), stabilisasi tegangan, dan modulasi sinyal. Transistor dapat berfungsi semacam kran listrik, di mana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber listriknya. Kapasitor NPN memiliki simbol seperti gambar di atas
Ada beberapa macam rangkaian pemberian bias, yaitu Fixed bias, arus bias IB didapat dari VCC yang dihubungkan ke kaki B melewati tahanan R seperti gambar 58. Karakteristik Output.
- Siapkan Komponen yang diperlukan
- Susunlah Rangkaian Seperti panduan
- Inputkan Codingan pada software Arduino
- Run Rangkaian
B. HARDWARE
C. RANGKAIAN SIMULASI DAN PRINSIP KERJA
Prinsip Kerja Rangkaian:
- Pada Rangkaian terdapat 3 Buah sensor yang digunakan yaitu : Rain Sensor , LM35 dan Sensor LDR.
- Pada rangkaian juga terdapat LCD yang digunakan untuk membaca nilai dari sensor LM35 dan LDR
- Namun syarat utamanya adalah rangkaian akan aktif saat LM35 mendeteksi suhu >25
- Dan diikuti dengan syarat jika LDR >500
D. FLOWCART DAN LISTING PROGRAM
#include <LiquidCrystal.h>
#define LM35_PIN A0
#define LDR_PIN A1
#define RAIN_SENSOR_PIN 13
#define OUTPUT_PIN A2
// Konfigurasi LCD
LiquidCrystal lcd(12, 11, 4, 5, 6, 7); // Sesuaikan dengan koneksi Anda
int lm35Value, ldrValue, rainSensorValue;
void setup() {
pinMode(LM35_PIN, INPUT);
pinMode(LDR_PIN, INPUT);
pinMode(RAIN_SENSOR_PIN, INPUT);
pinMode(OUTPUT_PIN, OUTPUT);
// Inisialisasi LCD
lcd.begin(16, 2);
Serial.begin(9600);
}
void loop() {
// Baca nilai dari sensor
lm35Value = analogRead(LM35_PIN);
ldrValue = analogRead(LDR_PIN);
rainSensorValue = digitalRead(RAIN_SENSOR_PIN);
// Konversi nilai LM35 ke suhu dalam derajat Celsius
float temperature = (lm35Value * 5.0 / 1024.0) * 100.0;
// Tampilkan nilai di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temperature);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("LDR: ");
lcd.print(ldrValue);
// Tampilkan nilai di Serial Monitor
// Lakukan kondisi berdasarkan nilai sensor dan Rain Sensor
if (rainSensorValue == LOW) {
// Jika Rain Sensor aktif, lakukan kondisi berdasarkan nilai LM35 dan LDR
if (temperature > 25.0 && ldrValue > 500) {
// Aktifkan output jika suhu di atas 25 C dan LDR mendeteksi cahaya
digitalWrite(OUTPUT_PIN, HIGH);
} else {
// Nonaktifkan output dalam kondisi lainnya
digitalWrite(OUTPUT_PIN, LOW);
}
} else {
// Nonaktifkan output jika Rain Sensor tidak aktif
digitalWrite(OUTPUT_PIN, LOW);
}
delay(1000); // Sesuaikan delay sesuai kebutuhan
}
penjelasan program :
Program diatas mendeklarasikan kaki yang digunakan pada tiap komponen
Setup:
void setup() {
pinMode(LM35_PIN, INPUT);
pinMode(LDR_PIN, INPUT);
pinMode(RAIN_SENSOR_PIN, INPUT);
pinMode(OUTPUT_PIN, OUTPUT);
Program diatas mendeklarasikan komponen yang akan menjadi input dan output pada arduino
Loop:
lm35Value = analogRead(LM35_PIN);
ldrValue = analogRead(LDR_PIN);
rainSensorValue = digitalRead(RAIN_SENSOR_PIN);
Program diatas membaca tiap sensor menjadi suatu inputan digital ataupun analog dan memisalkannya.
Kondisi:
if (rainSensorValue == LOW) {
// Jika Rain Sensor aktif, lakukan kondisi berdasarkan nilai LM35 dan LDR
if (temperature > 25.0 && ldrValue > 500) {
// Aktifkan output jika suhu di atas 25 C dan LDR mendeteksi cahaya
digitalWrite(OUTPUT_PIN, HIGH);
} else {
// Nonaktifkan output dalam kondisi lainnya
digitalWrite(OUTPUT_PIN, LOW);
}
} else {
// Nonaktifkan output jika Rain Sensor tidak aktif
digitalWrite(OUTPUT_PIN, LOW);
}
delay(1000); // Sesuaikan delay sesuai kebutuhan
}
Program diatas membuat suatu kondisi dari rangkaian, dimana dijelaskan seperti diatas.
E. VIDEO SIMULASI