Wiper Blade Control with Rain Sensor







1.Tujuan Sistem

[Menuju Awal]


  • Sistem ini digunakan untuk pengaturan kecepatan wiper blade terhadap intensitas hujan. Kecepatan wiper blade akan semakin cepat bila intensitas hujan meningkat
  • Praktikan dapat merancang sebuah sistem secara detail sehingga rancangan tersebut dapat            menjadi sebuah alat
  • Praktikan dapat mengkombinasikan bermacam output untuk sebuah indikator alat




    2. Daftar

    [Menuju Awal]
    • Arduino 2 buah
    • Rain Sensor 
    • LCD 16x2 
    • nRF24I01 WIFI
    • Motor Servo
    • Trimpot 103
    • Bread Board


    3. Landasan Teori
    [Menuju Awal]
    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. 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.

    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 

      1.  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

     2.  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 



    Pengujian Alat



    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.


    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. 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. 


    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.


    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).

    4. Flowchart
    [Menuju Awal]
    1. Master
    2. Slave





    5. Listing Program
    [Menuju Awal]
    //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");
      }

    }


    6. Rangkaian Simulasi
    [Menuju Awal]







    7. Foto Alat
    [Menuju Awal]
    name="viedo">

    8. Video Project
    [Menuju Awal]





    9. Prisip Kerja Alat
    [Menuju Awal]
    Alat yang kami ciptakan 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
    [Menuju Awal]
    Silahkan Download disini 

    Rangkaian Simulasi proteus
    Video rangkaian project
    Video simulasi proteus
    Library arduino uno
    Library Rain sensor
    Library NRF24I01 WIFI
    Coding Arduino
    HTML Blog
    Flowchart
    Datasheet Arduino Uno
    Datasheet Rain Sensor
    Datasheet SG90
    Datasheet NRFI01

    Komentar

    Postingan populer dari blog ini

    Tugas Pendahuluan Modul 1

    Tugas Pendahuluan Modul 4

    Laporan Akhir modul 3 ( Percobaan 2)