Advertisement





Iklan

Proyek Merangkai Mobil Remote dengan NodeMCU ESP8266 dengan kontrol kontak RFID

 


Berikut adalah langkah-langkah untuk membuat proyek mobil remote dengan NodeMCU ESP8266, RFID, motor driver, dan Blynk IoT. Sistem ini memungkinkan kontrol maju, mundur, belok kiri, dan kanan. Fungsi RFID adalah untuk mengaktifkan dan menonaktifkan daya mobil, dan Anda dapat menambahkan lebih dari satu kartu RFID yang valid.


Komponen yang Dibutuhkan

  1. NodeMCU ESP8266: Sebagai pengontrol utama.
  2. RFID Reader (RC522): Untuk membaca kartu/tag RFID.
  3. Motor Driver (L298N atau L293D): Untuk mengontrol motor DC.
  4. Motor DC (2 buah): Sebagai penggerak roda.
  5. Power Supply: Baterai 6V-12V (untuk motor) dan 5V (untuk NodeMCU).
  6. Aplikasi Blynk IoT: Untuk mengontrol arah mobil.
  7. Tag/Kartu RFID (lebih dari 1): Sebagai saklar daya.

Cara Kerja

1. RFID:

  • Sistem hanya aktif jika kartu RFID yang valid dikenali.
  • Jika kartu RFID tidak valid, mobil tetap tidak dapat dikendalikan.

2. NodeMCU:

  • Menerima input kontrol dari aplikasi Blynk IoT melalui WiFi.
  • Mengontrol motor untuk arah maju, mundur, belok kiri, dan kanan.

3. Blynk App:

  • Aplikasi pada smartphone digunakan untuk mengirim perintah kontrol mobil.


Langkah Implementasi

A. Rangkaian Elektronik

1. RFID Module (RC522):


Sambungkan RFID ke NodeMCU:
  • SDA → D8
  • SCK → D5
  • MOSI → D7
  • MISO → D6
  • GND → GND
  • RST → D4
  • VCC → 3.3V

2. Motor Driver (L298N):


Sambungkan motor kanan dan kiri ke output motor driver.
Sambungkan input motor driver ke NodeMCU:
  • IN1 → D0 (motor kanan maju)
  • IN2 → D1 (motor kanan mundur)
  • IN3 → D2 (motor kiri maju)
  • IN4 → D3 (motor kiri mundur)

3. Catu Daya:

  • Gunakan baterai 6V-12V untuk motor driver.
  • NodeMCU diberi daya dari port USB atau regulator 5V.

B. Aplikasi Blynk

1. Buat Akun di Blynk IoT:


Daftar di Blynk dan buat proyek baru.
Tambahkan widget:
  • Button: Untuk kontrol arah (maju, mundur, kiri, kanan).
  • LED: Untuk indikator sistem aktif (opsional).

2. Ambil Token Auth:

  • Salin Auth Token dari proyek Anda untuk digunakan dalam kode NodeMCU.


C. Kode Arduino

Berikut adalah kode lengkap untuk proyek ini:

cpp

#define BLYNK_TEMPLATE_ID "ID Template" // Ganti dengan Template ID dari Blynk #define BLYNK_TEMPLATE_NAME "Nama Template" // Ganti dengan nama template Anda #define BLYNK_AUTH_TOKEN "Your-Blynk-Auth-Token" // Ganti dengan Auth Token Anda

#include <SPI.h> #include <MFRC522.h> #include <BlynkSimpleEsp8266.h> // Konfigurasi WiFi dan Blynk char auth[] = "Your-Blynk-Auth-Token"; // Ganti dengan token dari Blynk char ssid[] = "Your-WiFi-SSID"; // Nama WiFi char pass[] = "Your-WiFi-Password"; // Password WiFi // Konfigurasi RFID #define RST_PIN D4 #define SS_PIN D8 MFRC522 rfid(SS_PIN, RST_PIN); String authorizedUIDs[] = {"DXFX8A5", "12345678"}; // Tambahkan UID kartu RFID yang valid bool sistemAktif = false; // Konfigurasi Motor Driver #define MOTOR_KANAN_MAJU D0 #define MOTOR_KANAN_MUNDUR D1 #define MOTOR_KIRI_MAJU D2 #define MOTOR_KIRI_MUNDUR D3 // Fungsi Motor void motorMaju() { digitalWrite(MOTOR_KANAN_MAJU, HIGH); digitalWrite(MOTOR_KANAN_MUNDUR, LOW); digitalWrite(MOTOR_KIRI_MAJU, HIGH); digitalWrite(MOTOR_KIRI_MUNDUR, LOW); } void motorMundur() { digitalWrite(MOTOR_KANAN_MAJU, LOW); digitalWrite(MOTOR_KANAN_MUNDUR, HIGH); digitalWrite(MOTOR_KIRI_MAJU, LOW); digitalWrite(MOTOR_KIRI_MUNDUR, HIGH); } void motorBelokKiri() { digitalWrite(MOTOR_KANAN_MAJU, HIGH); digitalWrite(MOTOR_KANAN_MUNDUR, LOW); digitalWrite(MOTOR_KIRI_MAJU, LOW); digitalWrite(MOTOR_KIRI_MUNDUR, LOW); } void motorBelokKanan() { digitalWrite(MOTOR_KANAN_MAJU, LOW); digitalWrite(MOTOR_KANAN_MUNDUR, LOW); digitalWrite(MOTOR_KIRI_MAJU, HIGH); digitalWrite(MOTOR_KIRI_MUNDUR, LOW); } void motorStop() { digitalWrite(MOTOR_KANAN_MAJU, LOW); digitalWrite(MOTOR_KANAN_MUNDUR, LOW); digitalWrite(MOTOR_KIRI_MAJU, LOW); digitalWrite(MOTOR_KIRI_MUNDUR, LOW); } // Fungsi RFID void cekRFID() { if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) { return; } String uid = ""; for (byte i = 0; i < rfid.uid.size; i++) { uid += String(rfid.uid.uidByte[i], HEX); } for (String authorizedUID : authorizedUIDs) { if (uid == authorizedUID) { sistemAktif = !sistemAktif; motorStop(); Blynk.virtualWrite(V0, sistemAktif ? 1 : 0); // Indikator di aplikasi break; } } rfid.PICC_HaltA(); } // Fungsi Blynk BLYNK_WRITE(V1) { // Maju if (sistemAktif && param.asInt() == 1) motorMaju(); else motorStop(); } BLYNK_WRITE(V2) { // Mundur if (sistemAktif && param.asInt() == 1) motorMundur(); else motorStop(); } BLYNK_WRITE(V3) { // Belok Kiri if (sistemAktif && param.asInt() == 1) motorBelokKiri(); else motorStop(); } BLYNK_WRITE(V4) { // Belok Kanan if (sistemAktif && param.asInt() == 1) motorBelokKanan(); else motorStop(); } void setup() { Serial.begin(115200); // Inisialisasi RFID SPI.begin(); rfid.PCD_Init(); // Inisialisasi Motor pinMode(MOTOR_KANAN_MAJU, OUTPUT); pinMode(MOTOR_KANAN_MUNDUR, OUTPUT); pinMode(MOTOR_KIRI_MAJU, OUTPUT); pinMode(MOTOR_KIRI_MUNDUR, OUTPUT); motorStop(); // Inisialisasi Blynk Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); cekRFID(); }

D. Penjelasan Kode

1. RFID:

  • UID dari kartu RFID valid disimpan dalam array authorizedUIDs.
  • Sistem aktif/nonaktif berdasarkan deteksi kartu RFID yang valid.

2. Motor Control:

  • Perintah dari aplikasi Blynk akan menggerakkan motor sesuai arah yang diinginkan.

3. Blynk Integration:


Tombol di aplikasi digunakan untuk kontrol:
  • V1: Maju.
  • V2: Mundur.
  • V3: Belok kiri.
  • V4: Belok kanan.

E. Pengujian

  • Pastikan RFID membaca kartu dengan benar.
  • Uji fungsi maju, mundur, belok kiri/kanan melalui aplikasi Blynk.
  • Tambahkan kartu RFID ke daftar authorizedUIDs sesuai kebutuhan.

Langkah Menambahkan Library Blynk

Ikuti langkah-langkah berikut untuk menambahkan library Blynk ke Arduino IDE Anda:

  • Buka Arduino IDE.
  • Pergi ke menu Sketch → Include Library → Manage Libraries.
  • Ketik Blynk pada kolom pencarian.
  • Pilih library Blynk by Volodymyr Shymanskyy.
  • Klik Install untuk menginstal library.

Library ini sudah mencakup semua modul untuk berbagai jenis mikrokontroler, termasuk ESP8266.


Library Tambahan yang Dibutuhkan

Selain BlynkSimpleEsp8266.h, pastikan Anda juga memiliki:

1. ESP8266WiFi:

  • Library ini biasanya sudah ada secara bawaan ketika Anda menginstal board ESP8266 di Arduino IDE.

2. MFRC522:
  • Library ini digunakan untuk membaca kartu/tag RFID dengan modul RC522.
  • Bisa diinstal melalui Library Manager atau dari tautan GitHub:
  • MFRC522 Library.

Diagram Pin Final NodeMCU

KomponenPin NodeMCUKeterangan
RC522 SDAD8 (GPIO4)Chip Select RFID
RC522 SCKD5 (GPIO14)SPI Clock
RC522 MOSID7 (GPIO13)SPI MOSI
RC522 MISOD6 (GPIO12)SPI MISO
RC522 RSTD4 (GPIO5)Reset RFID
Motor IN1D0 (GPIO0)Motor kanan maju
Motor IN2D1 (GPIO2)Motor kanan mundur
Motor IN3D2 (GPIO15)Motor kiri maju
Motor IN4D3 (GPIO16)Motor kiri mundur
ENA/ENB3.3V/5VAktifkan motor driver
VCC RC5223.3VPower untuk RC522
GNDGNDGround (semua komponen)


Source Code dapat diunduh pada barcode dibawah ini



Posting Komentar

0 Komentar