- Mempermudah untuk mengangkat jemuran ketika hujan turun
- Mengurangi resiko jemuran basah ketika hujan turun secara tiba - tiba
- Solusi mengangkat jemuran ketika kita sedang bepergian
2. Komponen [KEMBALI]
Sensor LM35
Motor Servo
LED
Lcd 16 x 2
Arduino
Potensiometer
3. Landasan Teori [KEMBALI]
A. Sensor Hujan
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.
Spesifikasi sensor hujan :
- Sensor ini bermaterial dari FR-04 dengan dimensi 5cm x 4cm berlapis nikel dan dengan kualitas tinggi pada kedua sisinya
- Pada lapisan module mempunyai sifat anti oksidasi sehingga tahan terhadap korosi
- Tegangan kerja masukan sensor 3.3V – 5V
- Menggunakan IC comparator LM393 yang stabil
- Output dari modul comparator dengan kualitas sinyal bagus lebih dari 15mA
- Dilengkapi lubang baut untuk instalasi dengan modul lainnya
- Terdapat potensiometer yang berfungsi untuk mengatur sensitifitas sensor
- Terdapat 2 Output yaitu digital (0 dan 1) dan analog (tegangan)
- Dimensi PCB yaitu 3.2 cm x 1.4 cmB. Sensor Suhu LM35Sensor suhu LM35 merupakan komponen elektronik dalam bentuk chip IC dengan 3 kaki (3 pin) yang berfungsi untuk mengubah besaran fisis, berupa suhu atau temperature sekitar sensor menjadi besaran elektris dalam bentuk perubahan tegangan. Sensor suhu LM35 memiliki parameter bahwa setiap kenaikan 1 ºC tegangan keluarannya naik sebesar 10 mV dengan batas maksimal keluaran sensor adalah 1,5 V pada suhu 150 °C. Misalnya pada perancangan menggunakan sensor suhu LM35 kita tentukan keluaran adc mencapai full scale pada saat suhu 100 °C, sehingga saat suhu 100 °C tegangan keluaran transduser (10mV/°C x 100 °C) = 1V.
Bentuk Fisik Sensor Suhu LM35
Meskipun tegangan sensor suhu LM35 ini dapat mencapai 30 volt akan tetapi yang diberikan kesensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µA hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu 25 ºC .Berikut Ini Adalah Karakteristik Dari Sensor Suhu LM35.
- Memiliki sensitivitas suhu,
dengan faktor skala linier antara tegangan dan suhu 10 mVolt/ ºC, sehingga
dapat dikalibrasi langsung dalam celcius.
- Memiliki ketepatan atau akurasi
kalibrasi yaitu 0,5 ºC pada suhu 25 ºC .
- Memiliki jangkauan maksimal
operasi suhu antara -55 ºC sampai +150 ºC.
- Bekerja pada tegangan 4 sampai 30
volt.
- Memiliki arus rendah yaitu kurang
dari 60 µA.
- Memiliki pemanasan sendiri yang
rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam.
- Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 mA.
- Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.
C. Motor Servo
Motor servo adalah sebuah motor DC dengan sistem tertutup di mana posisi rotor-nya akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer, dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor servo. Motor servo gambar 1. pada dasarnya dibuat menggunakan motor DC yang dilengkapi dengan controler dan sensor posisi sehingga dapat memiliki gerakan 0 derajat, 90 derajat dan 180 derajat.
Motor servo adalah sebuah motor DC dengan sistem tertutup di mana posisi rotor-nya akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo. Motor ini terdiri dari sebuah motor DC, serangkaian gear, potensiometer, dan rangkaian kontrol. Potensiometer berfungsi untuk menentukan batas sudut dari putaran servo. Sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel motor servo. Motor servo gambar 1. pada dasarnya dibuat menggunakan motor DC yang dilengkapi dengan controler dan sensor posisi sehingga dapat memiliki gerakan 0 derajat, 90 derajat dan 180 derajat.
Untuk menjalankan atau mengendalikan motor servo berbeda dengan motor DC. Karena untuk mengedalikan motor servo perlu diberikan sumber tegangan dan sinyal kontrol. Besarnya sumber tegangan tergantung dari spesifikasi motor servo yang digunakan. Sedangkan untuk mengendalikan putaran motor servo dilakukan dengan mengirimkan pulsa kontrol dengan frekuensi 50 Hz dengan periode 20ms dan duty cycle yang berbeda. Dimana untuk menggerakan motor servo sebesar 90 derajat diperlukan pulsa dengan ton duty cycle pulsa posistif 1,5ms dan untuk bergerak sebesar 180 derajat diperlukan lebar pulsa 2ms.
D. Led
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.
E. Liquid Crystal Display (LCD)
Liquid Crystal Display (LCD) adalah sebuah peralatan elektronik yang berfungsi untuk
menampilkan output sebuah sistem dengan cara membentuk suatu citra atau gambaran pada sebuah layar. Secara garis besar komponen penyusun LCD terdiri dari kristal cair (liquid crystal) yang diapit oleh 2 buah elektroda transparan dan 2 buah filter polarisasi (polarizing filter).
Gambar Penampang komponen penyusun LCD
Keterangan:
1. Film dengan polarizing filter vertical untuk memolarisasi cahaya yang masuk.
2. Glass substrate yang berisi kolom-kolom elektroda Indium tin oxide (ITO).
3. Twisted nematic liquid crystal (kristal cair dengan susunan terpilin).
4. Glass substrate yang berisi baris-baris elektroda Indium tin oxide (ITO).
5. Film dengan polarizing filter horizontal untuk memolarisasi cahaya yang masuk.
6. Reflektor cahaya untuk memantulkan cahaya yang masuk LCD kembali ke mata pengamat.
Sebuah citra dibentuk dengan mengombinasikan kondisi nyala dan mati dari pixel-pixel yang menyusun layar sebuah LCD. Pada umumnya LCD yang dijual di pasaran sudah memiliki integrated circuit tersendiri sehingga para pemakai dapat mengontrol tampilan LCD dengan mudah dengan menggunakan mikrokontroler untuk mengirimkan data melalui pin-pin input yang sudah tersedia.
Kaki-kaki yang terdapat pada LCD
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 pada prkatikum ini adalah arduino mega yang menggunakan chip AVR ATmega 2560 yang memiliki fasilitas PWM, komunikasi serial, ADC, timer, interupt, SPI dan I2C. Sehingga Arduino bisa digabungkan bersama modul atau alat lain dengan protocol yang berbeda-beda. Bahasa pemograman yang digunakan adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga lebih mudah dalam memprogramnya. Dalam memprogram arduino, kita bisa menggunakan serial komunikasi agar arduino dapat berhubungan dengan komputer ataupun aplikasi lain.
Beberapa fitur dari Arduino Mega 2560 ini adalah :
Microcontroller
|
ATmega2560
|
Operating Voltage
|
5V
|
Input Voltage (recommended)
|
7-12V
|
Input Voltage (limits)
|
6-20V
|
Digital I/O Pins
|
54 (of which 15 provide PWM output)
|
Analog Input Pins
|
16
|
DC Current per I/O Pin
|
20 mA
|
DC Current for 3.3V Pin
|
50 mA
|
Flash Memory
|
256 KB of which 8 KB used by bootloader
|
SRAM
|
8 KB
|
EEPROM
|
4 KB
|
Clock Speed
|
16 MHz
|
BAGIAN-BAGIAN DARI ARDUINO MEGA 2560
- · Soket USB
Soket USB adalah soket untuk kabel USB yang disambungkan ke komputer atau laptop.
Berfungsi untuk mengirimkan program ke Arduino dan juga sebagai port komunikasi serial.
· Input / Output Digital
Input/Output Digital atau digital pin adalah pin-pin untuk menghubungkan Arduino dengan
komponen atau rangkaian digital. Pada Arduino Mega terdapat 53 I/O Digital dimana 16
diantaranya dapat dijadikan sebagai output PWM
- · Input Analog
Input Analog atau analog pin adalah pin-pin yang berfungsi untuk menerima sinyal dari komponen atau rangkaian analog. Misalnya dari potensiometer, sensor suhu, sensor cahaya, dsb.
Terdapat 16 input analog pada arduino mega 2560.
- · Pin POWER
Pin-pin catu daya adalah pin yang memberikan tegangan untuk komponen atau rangkaian yang dihubungkan dengan Arduino. Pada bagian catu daya ini terdapat juga pin Vin dan Reset.Vin digunakan untuk memberikan tegangan langsung kepada Arduino tanpa melalui tegangan USB atau adaptor.
- · Tombol RESET
Reset adalah pin untuk memberikan sinyal reset melaui tombol atau rangkaian eksternal.
- · Jack Baterai/Adaptor
Soket baterai atau adaptor digunakan untuk menyuplai Arduino dengan tegangan dari baterai/adaptor 9V pada saat Arduino sedang tidak disambungkan ke komputer. Kalau Arduino sedang disambungkan ke komputer melalui USB, Arduino mendapatkan suplai tegangan dari USB, jadi tidak perlu memasang baterai/adaptor saat memprogram Arduino.
5. Listing Program [KEMBALI]
MASTER
int pinLm35 = A0;
int pinRain = A1;
int batasNilai = 500;
float suhuC;
void setup()
{
pinMode (pinLm35, INPUT);
pinMode (pinRain, INPUT);
Serial.begin(9600);
}
void loop()
{
int nilai = analogRead(pinRain);
suhuC = analogRead((pinLm35) / 2.04);
if (suhuC <= 27 || nilai < batasNilai)
{
Serial.write('1');
}
else if (suhuC <= 27 || nilai > batasNilai)
{
Serial.write('2');
}
else if (suhuC >= 27 || nilai < batasNilai)
{
Serial.write('3');
}
else if (suhuC >= 27 || nilai > batasNilai)
{
Serial.write('4');
}
delay (200);
}
SLAVE
#include <LiquidCrystal.h>
#define ledyellow 12
#define ledred 8
#include<Servo.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
Servo myservo;
int pos = 0;
int output;
int suhuC;
void setup()
{
myservo.attach(9);
Serial.begin(9600);
pinMode(12,OUTPUT);
pinMode(8,OUTPUT);
lcd.begin(16, 2);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Sensor Hujan");
lcd.setCursor(0, 1);
lcd.print("Kelompok 17");
delay(200);
}
void loop()
{
if (Serial.available() > 0)
{
char data = Serial.read();
Serial.print(data);
if (data == '1')
{
myservo.write(75);
output = map(suhuC, 0,1023, 0,255);
digitalWrite(ledyellow,LOW);
digitalWrite(ledred,HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HARI HUJAN");
lcd.setCursor(0, 1);
delay(200);
}
else if (data == '2')
{
myservo.write(0);
output = map(suhuC, 0,1023, 0,255);
digitalWrite(ledyellow, HIGH);
digitalWrite(ledred,LOW);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HARI TIDAK HUJAN");
lcd.setCursor(0, 1);
delay(200);
}
else if (data == '3')
{
myservo.write(75);
output = map(suhuC, 0,1023, 0,255);
digitalWrite(ledyellow, LOW);
digitalWrite(ledred,HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HARI HUJAN");
lcd.setCursor(0, 1);
delay(200);
}
else if (data == '4')
{
myservo.write(0);
output = map(suhuC, 0,1023, 0,255);
digitalWrite(ledyellow, HIGH);
digitalWrite(ledred,HIGH);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("HARI TIDAK HUJAN");
lcd.setCursor(0, 1);
delay(100);
}
}
}
6. Rangkaian Simulasi [KEMBALI]
7. Video Simulasi [KEMBALI]
8. Foto Alat [KEMBALI]
Tampak luar
Tampak Dalam
10. Analisa [KEMBALI]
Pengangkat Jemuran Otomatis
Pada rangkaian ini menggunakan 2 arduino dengan menggunakan komunikasi Universal Asynchronus Receiver Transmiter (UART). pada project pengangkat jemuran Otomatos ini menggunakan 2 sensor yaitu Sensor suhu LM35 dan Sensor hujan dan menggunakan 3 output 2 Led berupa ADC dan 1 Motor servo PWM dan terdiri dari Lcd 16 x 2 sebagai tampilan output . Semua output dihubungkan pada slave dan semua input dihubungkan pada pada master. pada project ini terdiri dari 4 kondisi , yaitu yang pertama suhuC <= 27 || nilai < batasNilai , yang kedua, suhuC <= 27 || nilai > batasNilai, ketiga suhuC >= 27 || nilai < batasNilai , yang keempat suhuC >= 27 || nilai > batasNilai . disini sensor hujan dan sensor LM35 akan membaca besaran nilai analog pada lingkungan sekitar, sensor suhu membaca suhu sekitar, dan sensor hujan memeriksa apakah sensor terkena air atau tidak, pada project ini kita tetapkan di program bahwa nilai intensitas air yang terbaca pada sensor hujan yaitu 500. jadi jika sensor hujan terkena air dengan nilai diatas 500 seperti dikatakan yang diatas tadi maka, sensor hujan akan mengirim data ke arduino melalui bus, selanjutnyo data yang di arduino juga akan dikirim juga ke slave melalui komunikasi UART , dan slave akan mengeksekusi data yang dikirim tadi , dan memproses, sehingga output akan aktif atau kondisi high pada kondisi - kondisi tertentu
11. Link Download [KEMBALI]
Tidak ada komentar:
Posting Komentar