Membuat Mobil Remote Control Full Arduino dengan Joystick XY dan NRF24L01

Dalam proyek ini, kita akan membuat mobil remote control (RC) yang dikendalikan sepenuhnya dengan Arduino. Remote menggunakan joystick XY, dan komunikasi antara remote dan mobil dilakukan secara nirkabel menggunakan modul NRF24L01. Proyek ini cocok untuk pelajar, mahasiswa, atau hobiis elektronika yang ingin belajar mikrokontroler, motor driver, dan komunikasi wireless.

1. Daftar Komponen

NoKomponenJumlah
1Arduino Uno/Nano2
2NRF24L012
3Joystick XY Module1
4L298N Motor Driver1
5Motor DC + roda2 set
6Rangka Mobil RC1
7Baterai 7.4V atau 9V2
8Breadboard + Kabel

2. Skema Rangkaian

Gambar Transmitter dan Receiver:

3. Penjelasan Program

A. Transmitter (Joystick XY)

Joystick XY akan membaca arah (X) dan kecepatan (Y) kemudian mengirim nilainya ke receiver menggunakan modul NRF24L01.


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

RF24 radio(9, 10);
const byte alamat[] = "00001";
int data[2];

void setup() {
  radio.begin();
  radio.openWritingPipe(alamat);
  radio.setPALevel(RF24_PA_LOW);
  radio.stopListening();
}

void loop() {
  data[0] = analogRead(A0); // Sumbu X
  data[1] = analogRead(A1); // Sumbu Y
  radio.write(&data, sizeof(data));
  delay(50);
}

B. Receiver (Mobil RC)

Menerima data dari transmitter dan mengendalikan motor kanan dan kiri menggunakan driver L298N.


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

RF24 radio(9, 10);
const byte alamat[] = "00001";
int data[2];

int IN1 = 5;
int IN2 = 6;
int IN3 = 7;
int IN4 = 8;

void setup() {
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);

  radio.begin();
  radio.openReadingPipe(0, alamat);
  radio.setPALevel(RF24_PA_LOW);
  radio.startListening();
}

void loop() {
  if (radio.available()) {
    radio.read(&data, sizeof(data));
    int x = data[0];
    int y = data[1];

    if (y > 600) {
      if (x < 400) {
        digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
        digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
      } else if (x > 600) {
        digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
        digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
      } else {
        digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
        digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
      }
    } else if (y < 400) {
      if (x < 400) {
        digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
        digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
      } else if (x > 600) {
        digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
        digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
      } else {
        digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
        digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
      }
    } else {
      digitalWrite(IN1, LOW); digitalWrite(IN2, LOW);
      digitalWrite(IN3, LOW); digitalWrite(IN4, LOW);
    }
  }
}

4. Kesimpulan

Dengan menggabungkan Arduino, joystick XY, dan NRF24L01, kita bisa menciptakan mobil RC yang sepenuhnya dikendalikan tanpa kabel. Proyek ini tidak hanya mengasah logika dan keterampilan elektronika, tetapi juga menjadi dasar untuk membuat robot pintar di masa depan.

Hashtag:
#Arduino, #RCmobil, #JoystickXY, #NRF24L01, #L298N, #DIYElektronika, #MobilArduino, #ArduinoIndonesia, #ProyekMikrokontroler

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Gulir ke Atas