Control Wiper Blade with Rain sensor




1. Tujuan Sistem[kembali]

Sistem ini digunakan untuk pengaturan kecepatan wiper blade terhadap intensitas hujan. Kecepatan wiper blade akan semakin cepat bila intensitas hujan meningkat.

2. Daftar Komponen[kembali]


  • Arduino Uno 2 buah

  • Rain Sensor

  • LCD 16x2



  • nRF24I01 WIFI

  • Motor Servo

  • Trimpot 103

  • Bread Board




3. Landasan Teori[kembali]

Dalam perancangan sistem, digunakan satu sensor hujan FC-37 dengan output pergerakan motor servo.


Sensor Hujan FC-37


Sensor Hujan FC-37 ini bilamana terkena hujan maka akan meningkatkan resistansinya sehingga tegangan output yang dikeluarkan oleh sensor ini akan semakin kecil bila tingkat intensitas hujan semakin tinggi. 


Rain Sensor ini memiliki teori mendasar yang diambil dari Resistive Humadity Sensor, dimana sensor ini tersusun secara paralel dari konduktor-konduktor yang diletakan pada sebuah papan film pada jarak tertentu, dengan kata lain dengan tersusunnya konduktor-konduktor tersebut pada jarak yang telah ditentukan maka seolah-olah kita memberikan resistansi yang besar bagi arus listrik yang mengalir pada konduktor-konduktor tersebut, berdasarkan rumus V = IR,kita dapat memainkan tegangan dengan resistasi yang berubah-ubah tersebut. Bentuk gambar papan film seperti berikut :




Prinsip kerja dari Film board ini
  • Ketika konduktor-konduktor yang tersusun secara paralel tersebut terkena mengenai air, maka arus listrik yang mengalir akan lebih mudah dibandingkan tidak ada air, karena celah-celah yang diberikan kepada konduktor-konduktor tersebut berkurang sehingga resistanis yang awalnya cukup besar menjadi berkurang sesuai dengan kadar air yang tersentuh konduktor-konduktor papan film tersebut
  • Semakin banyak air yang tersentuh oleh konduktor-konduktor papan film tersebut, maka semakin kecil pula resistansinya, sehingga berdasarkan Hukum Khirchoff :
V = I . R
           Tegangan yang dihasilkan semakin kecil, dan begitu sebaliknya.
Grafik Sensor







Grafik diatas merupakan invers output dari sensor hujan sebelum masuk ke converter digital




Grafik diatas menunjukkan bahwa Output dari sensor yang telah dikonversikan ke sinyal digital, pada hujan ringan dengan 400cc/menit dan untuk hujan biasa berupa 900cc/menit.



rain sensor working.gif


Apabila tingkat intensitas tegangan hujan semakin kecil, maka resistansinya meningkat dan tegangan ouput semakin besar. Sensitivas pada sensor ini dapat diatur dengan mengubah potensiometer yang terdapat pada modul LM393.

LM393 adalah Komparator yang di dalamnya terdapat dua Komparator tegangan yang independent. Komparator ini didesain dapat beroperasi pada single power supply dengan tegangan dari 2 sampai 36 volt.

Adapun spesifikasi untuk LM393

Wide Single-Supply Range
2-36 V
Split-Supply Range
±1.0 V to ± 18V
Very Low Current Drain Independent of Supply Voltage
0.4 mA
Low Input Bias Current
25nA
Low Input Offset Current
5.0 nA
Low Input Offset Voltage
5.0 mV
Input Common Mode Range to Ground Level

Differential Input Voltage Range Equal to Power Supply Voltage




Alasan menggunakan komparator ini karena komparator ini dapat beroperasi tanpa catu daya negatif. Selain itu komparator ini dapat bekerja hanya dengan tegangan 5 volt. Tegangan 5 volt merupakan catu daya yang biasa digunakan mikrokontroler sehingga catu daya dapat diambilkan dari catu daya mikrokontroler apabila sistem yang dibuat menggunakan mikrokontroler.


Arduino 

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 :
Microcontroller                                           ATmega328P
Operating Voltage                                      5 V
Input Voltage (recommended)                   7 – 12 V
Input Voltage (limit)                                  6 – 20 V
Digital I/O Pins                                          14 (of which 6 provide PWM output)
PWM Digital I/O Pins                                6
Analog Input Pins                                       6
DC Current per I/O Pin                              20 mA
DC Current for 3.3V Pin                            50 mA
Flash Memory                                            32 KB of which 0.5 KB used by bootloader
SRAM                                                        2 KB
EEPROM                                                   1 KB
Clock Speed                                               16 MHz

BAGIAN-BAGIAN ARDUINO UNO

POWER USB
Digunakan untuk menghubungkan Papan Arduino dengan komputer lewat koneksi USB.

POWER JACK
Supply atau sumber listrik untuk Arduino dengan tipe Jack. Input DC 5 - 12 V.

Crystal Oscillator
Kristal ini digunakan sebagai layaknya detak jantung pada Arduino.
Jumlah cetak menunjukkan 16000 atau 16000 kHz, atau 16 MHz.

Reset
Digunakan untuk mengulang program Arduino dari awal atau Reset.

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.

Analog Pins
Papan Arduino UNO memiliki 6 pin analog A0 sampai A5. Digunakan untuk membaca sinyal atau sensor analog seperti sensor jarak, suhu dsb, dan mengubahnya menjadi nilai digital.

LED Power Indicator
Lampu ini akan menyala dan menandakan Papan Arduino mendapatkan supply listrik dengan baik. 


NRF24l01


Komunikasi yang dilakukan antar arduino digunakan adalah Modul Wireless nRF24L01. Modul Wireless nRF24L01 adalah sebuah modul komunikasi jarak jauh yang memanfaatkan pita gelombang RF 2.4GHz ISM (Industrial, Scientific and Medical). Modul ini menggunakan antarmuka SPI untuk berkomunikasi. Tegangan kerja dari modul ini adalah 5V DC.
– Beroperasi pada pada pita ISM 2.4 GHZ.
– Data rate hingga 2Mbps.
– Ultra low power.
– Penanganan paket data otomatis.
– Penanganan transaksi paket otomatis.
-  Range 100 Meter

Modul ini memiliki 8 buah pin, diantaranya :
  1. VCC (3.3V DC)
  2. GND
  3. CE
  4. CSN
  5. MOSI
  6. MISO
  7. SCK
  8. IRQ




Modul ini digunakan pada setiap arduino yang ingin ditransfer. modul ini akan mentransmisikan data yang didapat dari arduino dengan menggunakan pita gelombang RF. Radio Frekuensi (RF) atau Gelombang Radio adalah tingkat osilasi dalam kisaran sekitar 3 kHz sampai 300 GHz, yang sesuai dengan frekuensi gelombang radio, dan arus bolak-balik yang membawa sinyal radio.Data yang ditrasnfer berasal dari Master. Kemudian data yang telah ditransmisikan tersebut akan diterima oleh arduino Slave.

Motor Servo SG-90


Spesifikasi untuk motor servo SG-90 berada pada tabel berikut
Operating Voltage
4.8 V (~5V)
Torque
2.5kg/cm
Operating speed 
0.1s/60°
Gear Type
plastic
Rotation
0°-180°
Weight of motor
9g
Temperature range
0 ºC – 55 ºC

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).
LCD (Liquid Crystal Display)
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 :
Register control yang terdapat dalam suatu LCD diantaranya adalah.
    ~ Register perintah yaitu register yang berisi perintah-perintah dari mikrokontroler ke panel LCD (Liquid Cristal Display) pada saat proses penulisan data atau tempat status dari panel LCD (Liquid Cristal Display) dapat dibaca pada saat pembacaan data    ~Register data yaitu register untuk menuliskan atau membaca data dari atau keDDRAM. Penulisan data pada register akan menempatkan data tersebut keDDRAM sesuai dengan alamat yang telah diatur sebelumnya.Pin, kaki atau jalur input dan kontrol dalam suatu LCD (Liquid Cristal Display) diantaranya adalah :·       ~ Pin data adalah jalur untuk memberikan data karakter yang ingin ditampilkan menggunakan LCD (Liquid Cristal Display) dapat dihubungkan dengan bus data dari rangkaian lain seperti mikrokontroler dengan lebar data 8 bit.
·        ~Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan data.
·        ~Pin R/W (Read Write) berfungsi sebagai instruksi pada modul jika low tulis data, sedangkan high baca data.
·        ~Pin E (Enable) digunakan untuk memegang data baik masuk atau keluar.~Pin VLCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan ke ground, sedangkan tegangan catu daya ke LCD sebesar 5 Volt.

4. Flowchart[kembali]



5. Listing Program[kembali]

//Master
#define sensor A0
#include <SPI.h> 
#include <nRF24L01.h> 
#include <RF24.h> 
int data[1];
RF24 radio(9, 10); 
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void) {
  Serial.begin(115200); 
  radio.begin(); 
  radio.openWritingPipe(pipe);


void loop(void) {
  int nilai = analogRead(sensor);
  int sense = map(nilai, 1023, 0, 0, 3);
  Serial.println(nilai);
  Serial.println(sense);
  if (sense == 0) {
    data[0] = 0;
    
    radio.write(data, 1);
  }

  if (sense == 1) {
    
    data[0] = 1;
    radio.write(data, 1);
  }

  if (sense == 2) {
    
    data[0] = 2;
    radio.write(data, 1);
  }
}

//SLAVE

#include <SPI.h>
#include <nRF24L01.h> /
#include <RF24.h>
#include <Servo.h>


const int rs = 7, en = 6, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

Servo Myservo;

int data[1];
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup(void) {
  Serial.begin(9600); 
  radio.begin(); 
  radio.openReadingPipe(1, pipe);
  Myservo.attach(3);
  radio.startListening();


void loop(void) {
  if (radio.available()) { 
    bool selesai = false;
    while (!selesai) { 
      selesai = radio.read(data, 1);
      Serial.println(data[0]); /
      if (data[0] == 2) {
        
        Myservo.write(0);
        delay(500);
        Myservo.write(180);
        delay(500);
      }
      if (data[0] == 1) {
        
        Myservo.write(0);
        delay(750);
        Myservo.write(180);
        delay(750);
      }
      if (data[0] == 0) {
        
        Myservo.write(0);
        delay(1000);
        Myservo.write(180);
        delay(1000);
      }
      delay(100);
    }
  } 
    Serial.println("No radio available");
  }

}


5. Rangkaian Sistem[kembali]

  • Rangkaian di Proteus 

  • Hasil Keluaran dari arduino ke motor servo




7.  Foto Alat[kembali]




8. Video Project[kembali]






9. Prinsip Kerja Alat[kembali]


Alat yang kami bentuk  ini adalah Wiper Blade Automatic with Rain Sensor, dimana kecepatan flip-flop dari wiper blade akan berubah tergantung banyaknya intensitas air yang terkena oleh sensor hujan.
Alat yang kami buat ini menggunakan komunikasi nirkabel atau bisa kita sebut WIFI, dengan demikian kita menggunakan 2 arduino uno sebagai microcontroller nya, arduino uno yang terhubung dengan sensor hujan dan lcd 16x2 kita jadikan sebagai Transmitter sedangkan arduino uno yang terhubung dengan motor servo kita jadikan sebagai Reciever.
Ketika Sensor Hujan mendeteksi adanya air, maka Sensor Hujan akan memberikan sinyal ke Arduino Uno yang menjadi Transmitter dan kemudian akan dikirimkan oleh NRF24I01 WIFI dan akan diterima oleh NRF24I01 pada Arduino Uno yang menjadi Reciever, dan kemudian Motor Servo yang menjadi Wiper Blade akan bergerak flip-flop dengan kecepatan yang sesuai dengan banyaknya instensitas air yang dideteksi sensor Hujan. Semakin banyak Intensias air yang dideteksi oleh Sensor Hujan maka semakin cepat pula gerakan flip-flop pada Motor Servo

10. Link Download[kembali]



Tidak ada komentar:

Posting Komentar

Mata Kuliah Sensor Kelas B Oleh :   Sadid Mandra Suwandi 1710952009 Dosen Pengampu :   Dr. Ir. Darwison, M.T.  Referensi : a. Boylestad, Rob...