loading...

Tuesday, January 28, 2020

Menyalakan Motor DC Menggunakan Kartu RFID

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

Untuk 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)
Sourcode 

#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) == "67 DF 74 E3")
  {


    // 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);
  }
}



1 Comments:

  1. É importante também estar atento se as empresas contratas estão entregando a internet que está no contrato.
    Para verificar isso, sempre faça um teste de velocidade para medir sua internet.
    recomendamos:
    fast test

    ReplyDelete