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
No | Komponen | Jumlah |
---|---|---|
1 | Arduino Uno/Nano | 2 |
2 | NRF24L01 | 2 |
3 | Joystick XY Module | 1 |
4 | L298N Motor Driver | 1 |
5 | Motor DC + roda | 2 set |
6 | Rangka Mobil RC | 1 |
7 | Baterai 7.4V atau 9V | 2 |
8 | Breadboard + 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