google-site-verification=SkGCPV09Sm10530AcS_1gAh0NCgunLJ0Cdn2x6bYlvo Langsung ke konten utama

Cara membuat keamanan menggunakan RFID dan ARDUINO UNO



Verfolgung von Tierwanderungen mit RFIDs an der Universität von OklahomaBild: www.animalmigration.org
RFID dapat digunakan dalam banyak aplikasi yang mendeteksi benda atau orang, misalnya, untuk mengontrol akses ke pintu. Tentu saja, sekarang ada hardware murah, proyek-proyek mereka sendiri dengan tag RFID dan pembaca RFID diperbolehkan.

Pencipta istilah IOT (Internet of Things), Kevin Ashton, bekerja di Auto-ID Center di Massachusetts Institute of Technology (MIT). Dia telah memulai sebuah standar internasional untuk RFID. Antara Internet of Things dan teknologi RFID, ada sehingga referensi sejarah. Dalam masalah ini karena itu adalah untuk tumbuh bersama apa yang menjadi milik bersama.

Tapi apa sebenarnya RFID, dan apa itu untuk? Mari saya gulir ke topik ini di ensiklopedia virtual.RFID (. English identifikasi frekuensi radio) yang ditunjuk menurut Wikipedia:"Teknologi untuk sistem pemancar-penerima untuk otomatis dan contactless identifikasi dan lokalisasi benda dan hewan dengan gelombang radio.Sebuah sistem RFID terdiri dari transponder (biasa disebut tag radio) yang terletak pada atau di objek atau makhluk hidup, dan termasuk kode identifikasi dan pembaca untuk membaca kode ini.transponder RFID dapat sekecil sebutir beras dan implan, misalnya hewan peliharaan atau orang-orang. "

"Ada juga kemungkinan transponder RFID pada proses pencetakan khusus sirkuit lebih stabil polimer untuk menghasilkan. Keuntungan dari hasil teknik ini dari kombinasi ukuran kecil, low-profile-nya opsi pemilihan (misalnya. Seperti dalam baru diperkenalkan November 1, 2010 KTP di Jerman) dan harga rendah dari transponder (parsial kisaran persen). 

Teknologi baru ini memiliki potensi untuk menggantikan hari barcode banyak digunakan.kopling berlangsung dengan panas yang dihasilkan oleh pembaca medan bolak magnet di jarak pendek atau dengan gelombang radio frekuensi tinggi. Jadi tidak hanya menyediakan data yang akan dikirimkan, tetapi juga transponder dengan energi. Untuk mencapai rentang yang lebih besar transponder aktif dengan catu daya mereka sendiri yang digunakan, yang berhubungan dengan biaya yang lebih tinggi." 
Dalam kehidupan sehari-hari kita jumpai RFID sekarang di mana-mana. Misalnya, ketika scanning barang di kasir atau ketika membayar melalui terminal NFC. Hari ini, RFID hardware dan kartu yang sangat murah yang mereka gunakan adalah menguntungkan bahkan dalam dunia Pencipta, berbicara untuk proyek-proyek Anda sendiri.RFID RC522 Set

Sebuah set menarik harga untuk perdagangan eksperimen sendiri di bawah RFID RC522 istilah pencarian. set ini termasuk modul hardware, kartu S50 RFID / NFC, sebuah transponder biru sebagai gantungan kunci, dan Header (siku, lurus) Anda mendapatkan untuk hanya 5 euro di ebay.


 
SPI bus untuk dihubungkan dan sekitar 6 cm x 4 cm modul lebar membutuhkan 3,3 V pasokan tegangan, mengkonsumsi arus operasi 10-30 mA, dan memiliki arus diam dari 80 microamps. Frekuensi transmisi 13,56 MHz.
RFID RC522 dan tugas pin Gambar nya: https://home.ctw.utwente.nl
Mereka yang ingin menggunakan jenis kartu / RFIDs dengan pembaca RFID memiliki pilihan antara jenis S50, S70, Ultralight, Pro, dan Desfire.

Projeck

Seperti biasa, latihan harus di latar depan. Ini melibatkan simulasi dari sistem pembukaan pintu. Peran mekanisme kunci mengasumsikan motor servo. Sebuah merah dan hijau LED untuk memvisualisasikan status. Awalnya, pintu terkunci, dan merah lampu LED. Sketsa sedang menunggu orang yang menggunakan tag RFID untuk menerima tiket masuk. Mengakui sirkuit, tag RFID di sekitarnya, membaca-out nilai mereka.

  • Berisi kartu membaca RFID ID yang valid, lampu merah berhenti untuk bersinar, yang sama akan menyala hijau LED. Motor servo bergerak dengan 180 ° dalam satu arah. Setelah itu, kontrol menunggu selama 3 detik, dan bergerak servo kembali ke arah yang berlawanan 180 °. Setelah itu, LED hijau keluar, dan LED merah menyala. Pintu ditutup lagi.
  • Berisi membaca RFID identifikasi non-diterima, LED merah berkedip untuk sinyal lima kali sebelum kembali ke cahaya stabil.  
Sirkuit yang diuji

Output diagnostik selama operasi

Untuk melaksanakan proyek dijelaskan di sini, Anda perlu bahan-bahan berikut:

    
Arduino MEGA (atau Arduino atau Arduino Leonardo)
    
LED merah
    
LED hijau
    
kecil servo-motor
    
RFID RC522 Set (lihat di atas)
    
2 resistor (220 Ω, 330 Ω, 470 Ω atau)
    
11 buah jumper kawat (tergantung 20-30cm)
    
papan tempat memotong roti kecilRFID reader dan Arduino mega atau UnoDalam sebuah Arduino koneksi mega berikut diperlukan.Arduino mega RFID RC522 (RFID reader)
    
GND GND
    
5 RST
    
3,3 V 3,3 V
    
53 SDA
    
52 SCK
    
51 MOSI
    
50 MISOKetika Uno Anda perlu memodifikasi sirkuit dan meletakkan sesuatu SDA ke pin digital 10, SCK di 13, MOSI ke 11 dan MISO pada tanggal 12 Selanjutnya, menghubungkan RST dari pembaca RFID dengan pin digital 9 dari PBB, yang menghasilkan:Arduino RFID RC522 (RFID reader)
    
GND GND
    
9 RST
    
3,3 V 3,3 V
    
10 SDA
    
13 SCK
    
11 MOSI
    
12 MISODalam rangkaian berikut ditambahkan. Memperlihatkan hubungan untuk Mega Arduino adalah. Ketika Uno hanya menggunakan output digital lainnya.
 
  • Rel GND biru pada papan tempat memotong roti, terhubung ke GND dari Mega.
  • Rel tegangan merah di papan tempat memotong roti, terhubung dengan daya output 5 volt  dari Mega atau Uno.
  • Motor servo yang terhubung langsung ke output data digital 11 Mega (misalnya ketika Uno pin 6), lebih lanjut terdiri dari GND dan 5V pada papan tempat memotong roti.
  • LED merah langsung dikontrol dengan pin 13 dari Mega (Uno: pin 8), LED hijau dengan pin 12 dari Mega (Uno: Pin 7). Kedua LED terhubung melalui resistor ke GND rel dari papan tempat memotong roti.
Secara keseluruhan, oleh karena itu, menghasilkan rangkaian berikut:
Sirkuit dengan Atmega, RFID RC522, motor servo, LED
Biasanya, RFID reader tipe MFRC522 dapat dengan mudah dioperasikan dengan tegangan 3,3 V dari papan Arduino, sementara beristirahat koneksi untuk bus SPI modul langsung di papan Arduino. Untuk berada di sisi aman, gunakan converter tingkat logika, seperti yang kita telah datang untuk mengenal dia, misalnya, di sirkuit untuk Bluetooth. Singkatan MF di MFRC522 adalah cara untuk keluarga MIFARE NXP Semiconductors, produsen chip. Untuk rincian, juga pada halaman Wikipedia ini. Sebuah datasheet Inggris ada melalui link ini.perpustakaanHal ini tidak layak untuk program papan dengan chip MFRC522 sendiri tingkat sistem, seperti Miguel Balboa menawarkan perpustakaan untuk tujuan ini, yang dapat ditemukan pada halaman GitHub ini. Download perpustakaan melalui link di bawah ini. Selanjutnya, perpustakaan diperluas dapat mengimpor (direktori RFID-master) di Arduino IDE.Arahkan ke IDE ke Sketch | Sertakan Perpustakaan | Menambahkan ZIP Perpustakaan dan masukkan path ke perpustakaan.pertama SketchPertama, sketsa pertama harus memungkinkan untuk membaca ID dari tag RFID. pengguna pendekatan kartu RFID ke modul pembaca, program ini dalam loop () - dari ID lingkaran mereka.
  • Dalam setup () untuk menginisialisasi bus SPI, monitor serial dan pembaca RFID dilakukan.
  • Dalam loop () Sketsa menunggu pengakuan dari kartu kedekatan dan mengembalikan ID untuk  monitor serial.
Cara terbaik adalah untuk memulai Sketch, membuka monitor serial, tetap RFIDs mereka di sekitar pembaca dan untuk mengingat ID kartu mereka. ID yang Anda butuhkan untuk proyek itu sendiri dan memiliki nilai ada toko wijen sebagai variabel (lihat program di bawah).Anda juga perlu mengubah beberapa pin di sketsa, Anda harus menggunakan bukan Arduino mega papan lain seperti PBB. Selain itu sudah ada dalam catatan penjelasan di atas.

/////////////////////////////////////////////////
//
// Lesen und Ausgeben von RFID-Tags
//   auf Basis von MFRC422-Reader
//   (c) Michael Stal, 2016
//
//////////////////////////////////////////////////

#include <SPI.h>     // Import SPI-Bibiothek 
#include <MFRC522.h> // Import RFID-Bibiothek
#include <Servo.h>   // Import Servo-Bibliothek

///////// Variablen MFRC522 //////////////////////
const int SDAPIN   = 53; // Uno => Pin 10 
const int RSTPIN   =  9; // Uno => Pin 9
MFRC522 rfidReader(SDAPIN, RSTPIN); // RFID-Empfänger

//////////////////////////////////////////////////
//
// setup()
//   Initialisieren von SPI,
//   seriellem Monitor,
//   RFID-Leser
//
//////////////////////////////////////////////////
void setup() 
{
  Serial.begin(9600); // Serielle Verbindung 
  SPI.begin(); // SPI-Verbindung aufbauen
  rfidReader.PCD_Init(); // RFID-Reader initial.
}


//////////////////////////////////////////////////
//
// loop()
//   Warten auf RFID-Erkennung
//
//////////////////////////////////////////////////
void loop() 
{
  // Karte erkannt und gelesen
  if (rfidReader.PICC_IsNewCardPresent() && rfidReader.PICC_ReadCardSerial()) {

      Serial.print("Erkanntes RFID-TAG ist =>  "); 

      // Bytes der ID lesen und ausgeben
      Serial.print("/");
      for (byte i = 0; i < rfidReader.uid.size; i++) {
        Serial.print(rfidReader.uid.uidByte, HEX); 
        Serial.print("/");
      }
      Serial.println();
   }
 }
 Sebagai output ditampilkan pada serial memantau nilai-nilai kartu RFID yang terdeteksi:  
Prefiks  PCD dan PICC dalam rutinitas perpustakaan adalah cara untuk Proximity 
Coupling Perangkat dan Proximity Circuit Card Terpadu. Yang pertama mengacu kepada pembaca, yang terakhir kartu RFID.Program untuk proyek tersebutUntuk proyek yang sebenarnya, kita dapat menggunakan kembali sketsa atas sebagai basis.Variabel [i] wijen (dalam daftar yang lebih rendah di red) kasus berisi ID dari transponder RFID penulis. Tentu saja variabel ini Anda harus menggantinya dengan ID dari kartu RFID sendiri seperti yang Anda tulis di setup tes terakhir.Sketsa berikut dilaksanakan persis skenario yang dijelaskan di atas.Dalam setup ()
inisialisasi bus SPI, monitor serial dan pembaca RFID.Dalam loop ()
Awalnya menyala merah LED
Sketsa menunggu untuk mendeteksi kartu RFID =>

  •  Jika kartu memiliki salah ID, diterangi 5 x LED merah pada
  • Jika kartu memiliki ID yang benar, LED merah padam dan lampu hijau atas. Motor servo berputar 180 ° dalam satu arah, berhenti selama 3 detik dan kemudian berubah kembali 180 ° dalam arah yang berlawanan.
Metode lain / rutinitas yang cukup jelas.Output diagnostik Anda dapat menonton monitor serial pada 9600 baud.
//////////////////////////////////////////////////
//
// Demo für RFID-Tags
//   auf Basis von MFRC422-Reader
//   (c) Michael Stal, 2016
//
//////////////////////////////////////////////////

#include <SPI.h>     // Import SPI-Bibiothek 
#include <MFRC522.h> // Import RFID-Bibiothek
#include <Servo.h>   // Import Servo Bibliothek

///////// Variablen MFRC522 //////////////////////
const int SDAPIN   = 53; // Uno => Pin 10 
const int RSTPIN   =  9; // Uno => Pin 9
MFRC522 rfidReader(SDAPIN, RSTPIN); // RFID-Empfänger

///////// Aktoren: LEDs, Servo ///////////////////
const int REDLED   = 13;  // Uno -> Pin 8
const int GREENLED = 12;  // Uno -> Pin 7
const int SERVOPIN = 11;  // Uno -> Pin 6
Servo door; // Türverschluss (Servo)

//////// ID des richtigen RFID-Tags //////////////
byte sesam[] = {0x26, 0xA7, 0xFB, 0x48};


//////////////////////////////////////////////////
//
// setup()
//   Initialisieren von SPI,
//   seriellem Monitor,
//   RFID-Leser
//
//////////////////////////////////////////////////
void setup() 
{

  door.attach(SERVOPIN);
  pinMode(REDLED, OUTPUT);
  pinMode(GREENLED, OUTPUT);
  pinMode(SERVOPIN, OUTPUT);

  Serial.begin(9600); // Serielle Verbindung 

  SPI.begin(); // SPI-Verbindung aufbauen

  rfidReader.PCD_Init(); // Initial. RFID-Leser
  Serial.println("Tuerkontrolle aktiviert");
}

//////////////////////////////////////////////////
//
// acceptedRFID()
//   Stimmt gelesene RFID
//   mit der voreingestellten ID überein?
//
//////////////////////////////////////////////////
bool acceptedRFID(byte uid[4]) {
  return
      (rfidReader.uid.uidByte[0] == sesam[0]) &&
      (rfidReader.uid.uidByte[1] == sesam[1]) &&
      (rfidReader.uid.uidByte[2] == sesam[2]) &&
      (rfidReader.uid.uidByte[3] == sesam[3]);
}

//////////////////////////////////////////////////
//
// openDoor()
//   Servo um 180° in Richtung drehen
//
//////////////////////////////////////////////////
void openDoor() {
  for (int pos = 0; pos <= 180; pos++) {
    door.write(pos);
    delay(20);
  }
}

//////////////////////////////////////////////////
//
// closeDoor()
//   Servo um 180° in Gegenrichtung drehen
//
//////////////////////////////////////////////////
void closeDoor() {
  for (int pos = 180; pos >= 0; pos--) {
    door.write(pos);
    delay(20);
  }
}

//////////////////////////////////////////////////
//
// signalDoorLocked()
//   Zugang versperrt =>
//   rote LED leuchtet,
//   gruene nicht
//
//////////////////////////////////////////////////
void signalDoorLocked() {
  digitalWrite(REDLED, HIGH);
  digitalWrite(GREENLED, LOW);
}

//////////////////////////////////////////////////
//
// signalAccessGranted()
//   Zugang gewährt => 
//   gruene LED leuchtet,
//   rote nicht
//
//////////////////////////////////////////////////
void signalAccessGranted() {
  digitalWrite(REDLED, LOW);
  digitalWrite(GREENLED, HIGH);
}

//////////////////////////////////////////////////
//
// signalAccessRefused()
//   Zugang verweigert => 
//   rote LED blinkt 5x
//
//////////////////////////////////////////////////
void signalAccessRefused() {
  for (int i = 0; i < 5; i++) {
    digitalWrite(REDLED, HIGH);
    delay(250);
    digitalWrite(REDLED, LOW);
    delay(250);
  }
}

//////////////////////////////////////////////////
//
// loop()
//   Warten auf RFID-Erkennung
//   Reaktion abhaengig vom ID-Vergleich
//
//////////////////////////////////////////////////
void loop() 
{
  // Rotes Signal
  signalDoorLocked();

  // Karte erkannt und gelesen
  if (rfidReader.PICC_IsNewCardPresent() && rfidReader.PICC_ReadCardSerial()) {

      Serial.print("Erkanntes RFID-TAG ist =>  "); 

      // Bytes der ID lesen und ausgeben
      Serial.print("/");
      for (byte i = 0; i < rfidReader.uid.size; i++) {
        Serial.print(rfidReader.uid.uidByte[i], HEX); 
        Serial.print("/");
      }

      Serial.println();

      // Check ob Karte mit Variable sesam übereinstimmt
      if (acceptedRFID(rfidReader.uid.uidByte)) { // ja =>
         // Erlaubten Zugriff signalisieren
         signalAccessGranted();
         Serial.println("Zugriff erlaubt => Tuer oeffnen");
         // Oeffnen der Tuere
         openDoor();
         Serial.println("Tuer 3 Sekunden offen lassen");
         // 3 Sekunden Pause
         delay(3000);
         Serial.println("Tuer schliessen");
         // Tuere wieder schliessen
         closeDoor();
        }
        else // nein =>        {
           Serial.println("Zugriff verweigert");
           // Rote LED blinkt als Warnung
           signalAccessRefused();
        }
   }
 } 
 Pilihan ekspansi
Tentu saja, saya melepaskan Anda kali ini bukan tanpa saran untuk ekstensi.  
Anda memiliki beberapa pilihan seperti:
  • Dengan cara sensor jarak atau sensor laser Anda bisa mengatakan jika pintu masih terbuka.
  • Anda dapat menulis perangkat lunak (misalnya, untuk PC atau Raspberry Pi), yang memungkinkan untuk membuka kartu RFID secara permanen atau sementara dan juga untuk mengunci lagi. Anda juga bisa menentukan saat-saat ketika masing-masing akses tag RFID diperbolehkan dan kapan tidak. Informasi ini dienkripsi di server.  
  • Rangkaian pada Arduino berkomunikasi melalui WiFi dengan perangkat lunak pusat untuk melihat apakah kartu RFID membaca berhak atau masuk tidak.  
  • Perangkat lunak pusat dapat log semua transaksi sesuai. Atau, mereka menggunakan pembaca SD di Arduino untuk log peristiwa lokal di mikrokontroler. Tentu saja, Anda harus mengenkripsi semua data yang ditransfer dalam skenario ini.  
  • Dalam rangka meningkatkan jangkauan pembaca RFID oleh beberapa sentimeter,
    Anda dapat menambahkan kode dari file library MRFC522.cpp. 
     
  • Dalam metode PCD_Init () sebelum PCD_AntennaOn (), 
  • tambahkan baris berikut: PCD_WriteRegister (RFCfgReg, (0x07 << 4));.  
    Hal ini meningkatkan sensitivitas MFRC522 chip untuk nilai maksimum.  
    Khusus untuk rangkaian pintu, yang bisa membuktikan menjadi diperlukan.Dan terakhir,
    namun tidak sedikit,
    Anda bisa menggunakan sistem penguncian
    pintu elektronik nyata bukan motor servo.
    Ringkasan
    Dengan pembaca RFID dan tag, beberapa proyek yang menarik dapat dibuat.   
    sistem keamanan untuk mendeteksi organisme atau benda-benda bergerak banyak
    aplikasi yang mungkin. Urutan ini hanya bisa menggambarkan puncak gunung es. Untuk
    aplikasi profesional dan keselamatan-kritis, bagaimanapun, diperkirakan
    akan mencapai batas-batasnya papan RC522 terjangkau. Berikut adalah
    pilihan yang lebih mahal dan lebih kuat diperlukan. Untuk mengumpulkan
    pengalaman dan banyak make-proyek kemungkinan chip tapi kaya semua.  
    Bersenang-senang bereksperimen!

Komentar

Dede Sunardi mengatakan…
ko motor servonya engga jalan yah

Postingan populer dari blog ini

Eror Code Pada AC Inverter Panasonic

Berikut eror kode pada Ac Inverter Panasonic H11> Komunikasi Kegagalan (Wiring rusak atau masalah dengan ID untuk OD komunikasi) H12> ID / OD Kompatibilitas Masalah (Lebih dari atau bawah sistem multi-diindeks) H14> Indoor Air Sensor rusak (Sensor Terputus, rusak atau Kontak Kotor) H15> Kompresor Sensor rusak (Sensor Terputus, rusak atau Kontak Kotor) H16> Current Transformer Masalah (Power Transistor Modul atau terbuka PCB Gas Sangat Rendah rusak.) H19> Penggemar Motor Indoor Terkunci (Fan Motor Indoor PCB Kegagalan) H21> Lampung Beralih Dioperasikan (Periksa Drainase) H23> Pipa Sensor Indoor rusak (Sensor Terputus, rusak atau Kontak Kotor) H27> Terbuka Air Sensor rusak (Sensor Terputus, rusak atau Kontak Kotor) H28> Terbuka Pipa Sensor rusak (Sensor Terputus, rusak atau Kontak Kotor) H30> terbuka Discharge Sensor 1 rusak (Sensor Terputus, rusak atau Kontak Kotor) H32> Terbuka Discharge Sensor 2 rusak (Sensor Terputus, rus...

ALLAHU ALLAH (QOD KAFANI) - AL HUBBI PEMALANG LIVE GROBOG WETAN

Cara Riset Controller SDG-800 series pada GENSET MAN 250KVA

GENSET MAN 250KVA Dua hal pertama yang benar-benar harus diperhatikan dalam pengoperasian mesin tersebut (mengapa??? Jangan bertanya kepada saya!!!) adalah sebagai berikut :  1.  Selama pengoperasian mesin tersebut, jangan sekali-kali mesin sampai kehabisan solar. Akibatnya, controller akan terus memberikan perintah buka-an solar semakin besar. Pada waktu start berikutnya, ada kemungkinan terjadi mesin akan overspeed. Meskipun diulangi start berturut-turut. Cara untuk menormalkannya, adalah dengan me-reset controller SDG. Lihat butir C.  2.  Sebaiknya setelah 1.5 tahun, ganti batere aki dengan yang baru secara berkala. Ini untuk mencegah agar controller SDG tidak mengalami perobahan data parameternya. Atau menjaga agar kondisi aki selalu prima, untuk menjalankan mesin. Perhatian!!! Jangan sekali-kali mencoba menjalankan mesin menggunakan aki yang soak, sehingga controller SDG tidak mendapatkan tegangan yang cukup ( < 18V). Akibatnya controller ...