Kalau kita bermain dengan arduino, ada banyak project menarik yang bisa kita buat dengan hanya satu buah arduino saja. Mulai dari project yang sederhana sampai dengan project yang rumit dan keren pun bisa dibuat dengan sebuah arduino saja.

Kita bisa membuat banyak alat alat keren dengan menggunakan arduino dengan memanfaatkan example code dari library sensor atau module yang akan kita pakai dalam project tersebut.

Sebagai contoh dalam pembuatan Remote Control Dengan Arduino kita saat ini.

Untuk membuat remote control, kita perlu menggunakan module wireless yang mampu membuat arduino kita berkomunikasi tanpa hubungan kabel dengan jarak yang cukup jauh. Beberapa module wireless yang ada contoh nya adalah ; module bluetooth, module WiFi, module NRF, LoRa dan masih banyak lagi.

Namun untuk module bluetooth dan WiFi memiliki jangkauan signal yang bisa kita katakan tidak memenuhi syarat untuk digunakan sebagai media untuk mentransmisikan data di project remote control ini. Module bluetooth hanya mampu berkomunikasi sejauh 10 meter, sedangkan WiFi pun juga demikian tergantung dari daya pancar dan antenna yang digunakan.

Disini kita akan memilih Module NRF24L01 sebagai media trasnmisinya. Itu karena dengan harga yang sangat murah kita bisa mentrasmisikan data bahkan dengan jarak hingga satuan kilometer untuk module yang terdapat antena nya.

Bahan yang Diperlukan

Selain module wireless, berikut ini adalah komponen yang diperlukan dalam pembuatan project remote control dengan arduino ini :

  1. Arduino (utamakan dengan ukuran kecil)
  2. Module NRF24L01
  3. Module Joy Stick
  4. Potensiometer 10K
  5. Tactile switch
  6. LED 5mm
  7. Resistor 1K
  8. Kapasitor 100uF/16V
  9. Battery / sumber tegangan

Dari semua bahan tersebut, arduino dan module NRF24L01 nya kalian bisa pilih menggunakan arduino dan juga NRF yang model seperti apa. Ini akan berpengaruh dengan besar rangkaian dan jarak pancar nya saja dalam pembuatan project ini.

Baca juga  Membuat Alarm Kebakaran Sederhana

Gambar Rangkaian

Berikut ini adalah rancangan atau gambar rangkaian dari project remote control arduino. Dimana disini kita menggunakan arduino nano sebagai otak utama nya.

Gambar 1. Rangkaian Remote Controll Arduino

Dari gambar rangkaian diatas kalian bisa perhatikan bahwa semua tombol (tactile switch) yang dipakai menggunakan sistem common ground dalam pemberian sinyal ke arduino nya. Jadi tidak perlu adanya tambahan rangkaian pull up di rangkaian tersebut (bisa menggunakan pull up internal).

Untuk tegangan kerja yang digunakan pada sistem ini hanya terdapat 5V serta 3.3V saja, yang artinya kita harus memberikan tegangan input lebih besar dari tegangan kerja terbesar pada rangkaian ini. Lalu selanjutnya regulator yang ada pada Board arduino nya yang akan menurunkan tegangan menjadi 5V dan 3.3V.

Kita tidak perlu menambahkan rangkaian regulator tambahan pada project ini karena konsumsi arus yang dipakai oleh arduino serta module wireless NRF nya masih tergolong sangat kecil sehingga masih bisa ditangani oleh hanya rangkaian regulator internal dari airduino nya.

Gambar 2. Arduino NRF24L01

Untuk hubungan jalur antara arduino dan NRF24L01, pada bagian MOSI, MISO dan SCK kalian harus hubungkan di jalur yang sudah ditentukan. Sedangkan untuk PIN CE dan CSN bisa kalian hubungkan ke jalur lain pada arduino yang tidak terpakai.

Design Layout PCB

Dari gambar rangkaian tersebut bisa kita gambarkan ulang design layout PCB nya dengan menggunakan software PCB menjadi seperti dibawah ini. Software yang digunakan disini adalah EAGLE PCB.

Gambar 3. Layout PCB Remote Arduino

Pada design layout tersebut, penempatan IC mikrokontroler nya saya letakkan di bagian bawah PCB karena tata letak komponen bagian atas yang sudah terlalu penuh. Beberapa komponen juga diletakkan miring agar bisa ditempatkan memenuhi sisa ruang yang ada.

Baca juga  Membuat arduino Sendiri

Untuk modul NRF nya, saya buatkan gambar layout baru agar bisa menjadi satu pada papan PCB rancangan saya yang baru. Ini membuat PCB remote arduino nya jauh menjadi lebih ringkas dibanding dengan menggunakan beberapa module terpisah yang dipasang pada satu papan PCB.

Gambar 4. Rangkaian NRF24L01

Coding Arduino

Untuk coding nya sebenarnya hanya memanfaatkan library dari NRF24L nya saja. Dari sana saya kembangkan untuk dapat mengirim data dari masing masing inputan seperti joystik, potensiometer dan tombol tombol.

if ( role == role_remote )
  {
    // Get the current state of buttons, and
    // Test if the current state is different from the last state we sent
    int i = num_button_pins;
    bool different = false;
    while(i--)
    {
      uint8_t state = ! digitalRead(button_pins[i]);
      if ( state != button_states[i] )
      {
        different = true;
        button_states[i] = state;
      }
    }

    // Send the state of the buttons to the LED board
    if ( different )
    {
      printf("Now sending...");
      bool ok = radio.write( button_states, num_button_pins );
      if (ok)
        printf("ok\n\r");
      else
        printf("failed\n\r");
    }

    // Try again in a short while
    delay(20);
  }

Diatas ini adalah potongan coding dari example code yang bisa kita gunakan untuk menyalakan dan mematikan lampu LED dengan menggunakan arduino dan NRF24L01. Ada banyak contoh coding yang bisa kita coba untuk menguji komunikasi wireless dari NRF nya.

Kalian bisa download library yang saya gunakan untuk project remote ini dibawah sini ;

Untuk yang bingung cara instal library arduino nya kalian juga bisa baca artikel saya tentang Cara menambahkan / menginstall library arduino disini :

Rencana nya saya akan membuat remote control pesawat terbang dari project ini. Karena sebelumnya saya sudah berhasil membuat remote control mobil mobilan, saya rasa project selanjutnya untuk pesawat terbang juga akan berhasil dengan design remote yang baru ini.

Baca juga  Memperbaiki Power Supply TV LED

Video sebelum nya tentang remote dengan NRF juga bisa kalian saksikan berikut dibawah ini, untuk remote yang baru ini akan saya update progress nya pada artikel berikutnya.

Loading

Membuat Remote Control Dengan Arduino

Komentar anda

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.