Sabtu, 25 April 2020

CARA MENYALAKAN MOTOR DENGAN KARTU DI ARDUINO

Jika kita ingin menyalakan sesuatu pasti identik dengan tombol, kemudian saklar, kemudian kunci, kebayang ndak jika kita ingin menyalakan sesuatu cukup dengan kartu????, di era moderen ini semua serba canggih kita bisa menyalakan lampu cukup dengan menempel kartu, kita membayar tol pun cukup dengan menempelkan kartu, karyawan absensi pun cukup dengan menempelkan kartu. pada kesempatan kali ini saya ingin berbagai pengalaman bagaimana menyalakan motor RC dengan menggunakan kartu, tidak cuma menyalakan Motor Rc, Kita bisa mengaplikasikannya bisa dengan menyalakan lampu, kipas, dll dikarenakan pengontrolanya menggunakan relay yang suport arus AC dan DC

Gambar Rangkaiannya sbb:





Keterangan Rangkaian :
§  Kaki SDA Modul RFID ===> Pin 10 Arduino
§  Kaki SCK Modul RFID ===> Pin 13 Arduino
§  Kaki MOSI Modul RFID ===> Pin 11 Arduino
§  Kaki MISO Modul RFID ===> Pin 12 Arduino
§  Kaki IRQ Dikosongkan
§  Kaki Data Relay/IN ===> Pin 7 Arduino
§  Kaki Negatif/Pendek Buzzer ===> Pin 8 Arduino
§  Kaki Positif/Panjang Buzzer ===> Power(+) 5V
§  Salah Satu Pin Motor ===> Power(-)/GND Adaptor/Power Supply
§  Pin Motor Yang Lain ===> Port NO Relay (Normally Open)
§  Kabel Power (+) Adaptor ===> Port COM Relay (Yang Tengah)
§   Kaki vcc pada module RFID dihubungkan ke sumber power positif 3,3 v (bisa dari 3,3v Arduino). Ingat, harus 3,3V … !!! Jangan hubungkan ke 5V karena bisa merusak modul RFID nya … !!!
§  Kaki gnd/ground pada masing-masing komponen hubungkan ke sumber negatif power (dihubungkan ke pin gnd Arduino, ground masing-masing komponen dan Arduino harus saling terhubung)

Kode Program
#include <SPI.h>

#include <MFRC522.h>

#include <Wire.h>



// inialisasi pin RFID, buzzer, dan relay

#define SS_PIN 10

#define RST_PIN 9

MFRC522 mfrc522(SS_PIN, RST_PIN);

int pinBuzzer = 8;

int pinRelay = 7;



// inialisasi variabel kondisi

int kondisi;





// ===================== PROGRAM PENGATURAN AWAL ======================= //



void setup()

{

  // inialisasi baud rate serial monitor

  Serial.begin(9600); // Initiate a serial communication

  SPI.begin(); // Initiate SPI bus

  mfrc522.PCD_Init(); // Initiate MFRC522



  // inialisasi status I/O pin

  pinMode(pinBuzzer, OUTPUT);

  pinMode(pinRelay, OUTPUT);



  // mematkan buzzer dan relay di awal program

  digitalWrite(pinBuzzer, HIGH);

  digitalWrite(pinRelay, HIGH);



  // kondisi awal = 0

  kondisi = 0;

}



// ============================== PROGRAM UTAMA ============================== //



void loop()

{



  // cek kartu RFID baru

  if ( ! mfrc522.PICC_IsNewCardPresent())

  {

    return;

  }



  // memilih kartu RFID

  if ( ! mfrc522.PICC_ReadCardSerial())

  {

    return;

  }



  // menampilkan ID kartu RFID pada Serial Monitor

  Serial.print("UID:");

  String content = "";

  byte letter;

  for (byte i = 0; i < mfrc522.uid.size; i++)

  {

    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");

    Serial.print(mfrc522.uid.uidByte[i], HEX);



    content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));

    content.concat(String(mfrc522.uid.uidByte[i], HEX));

  }



  content.toUpperCase();



  // *** PROGRAM JIKA KARTU RFID SESUAI DENGAN YANG TERDAFTAR *** //

  // ****** ubah ID katu RFID yang ingin didaftarkan di sini ****** //

  if (content.substring(1) == "70 5B 91 29")

  {





    // PROGRAM "ON" alat



    // jika kondisi = 0

    if (kondisi == 0)

    {

      // relay dinyalakan

      // alat dalam kondisi "ON"

      // buzzer menyala

      digitalWrite(pinRelay, LOW);

      digitalWrite(pinBuzzer, LOW);

      delay(1000);

      // buzzer dimatikan

      digitalWrite(pinBuzzer, HIGH);

      delay(1000);

      // kondisi menjadi = 1

      kondisi = 1;

    }



    // PROGRAM "OFF" alat



    // jika kondisi = 1

    else if (kondisi == 1)

    {

      // relay dimatikan

      // alat dalam kondisi "ON"

      // buzzer menyala

      digitalWrite(pinRelay, HIGH);

      digitalWrite(pinBuzzer, LOW);

      delay(1000);

      // buzzer dimatikan

      digitalWrite(pinBuzzer, HIGH);

      delay(1000);

      // kondisi menjadi = 0

      kondisi = 0;

    }

  }



  // PROGRAM JIKA KARTU RFID YANG DIGUNAKAN SALAH ATAU TIDAK TERDAFTAR



  else {

    // buzzer berbunyi pendek 3 kali

    digitalWrite(pinBuzzer, LOW);

    delay(300);

    digitalWrite(pinBuzzer, HIGH);

    delay(300);

    digitalWrite(pinBuzzer, LOW);

    delay(300);

    digitalWrite(pinBuzzer, HIGH);

    delay(300);

    digitalWrite(pinBuzzer, LOW);

    delay(300);

    digitalWrite(pinBuzzer, HIGH);

    delay(300);

  }

}

0 Comments:

Posting Komentar