Tentang proyek ini
Dear teman-teman selamat datang di tutorial lain. Ini Nick dari educ8s.tv dan hari ini kita akan belajar bagaimana menggunakan Pembaca RFID ini dengan Arduino untuk membangun sistem kunci sederhana.
Untuk pertama kalinya, kita akan menggunakan tag RFID dengan Arduino. Saya telah membangun proyek sederhana yang membaca ID Unik (UID) dari setiap tag RFID yang kami tempatkan di dekat pembaca dan menampilkannya di layar OLED ini. Jika UID dari tag sama dengan nilai yang telah ditentukan yang disimpan dalam memori Arduino, maka di layar kita akan melihat pesan “Tidak Terkunci”. Jika ID Unik kartu tidak sama dengan nilai yang telah ditentukan, pesan Buka Kunci tidak akan muncul. Keren bukan?
Ada banyak hal yang harus dibahas, jadi mari kita mulai!
Langkah 1:Dapatkan Semua Bagian
Bagian-bagian yang dibutuhkan untuk membangun proyek ini adalah:
- Arduino Uno https://store.arduino.cc/arduino-uno-rev3
- Pembaca RFID http://educ8s.tv/part/RFID
- Tampilan OLED http://educ8s.tv/part/OLED096
- Papan tempat memotong roti kecil http://educ8s.tv/part/SmallBreadboard
- Beberapa kabel http://educ8s.tv/part/Wires
Bagian Opsional:
- Powerbank http://educ8s.tv/part/Powerbank
Total biaya proyek ini sekitar $15.
Langkah 2:Pembaca RFID RC522
Setiap tag RFID memiliki chip kecil di dalamnya. Jika saya meletakkan senter di bawah kartu RFID ini, Anda dapat melihat chip kecil dan kumparan yang mengelilinginya. Chip ini tidak memiliki baterai untuk mendapatkan daya. Ini menerima daya dari pembaca, perangkat ini, secara nirkabel menggunakan kumparan besar ini. Pembaca dapat membaca kartu RFID seperti ini dari jarak hingga 20mm!
Chip yang sama juga ada di tag RFID gantungan kunci.
Setiap tag RFID memiliki nomor unik yang mengidentifikasinya. Itulah UID yang kami tampilkan di layar OLED. Kecuali dari UID ini, setiap tag dapat menyimpan data. Dalam jenis kartu ini kita dapat menyimpan hingga 1K data! Mengesankan bukan? Kami tidak akan menggunakan fungsi ini hari ini tetapi akan melakukannya di tutorial mendatang. Hari ini, yang kami minati hanyalah mengidentifikasi kartu tertentu dengan UID-nya. Biaya alat pembaca RFID dan kedua kartu RFID ini sekitar $4.
Langkah 3:Tampilan OLED
Ini adalah tampilan yang sangat bagus untuk digunakan dengan Arduino. Ini adalah layar OLED dan itu berarti konsumsi dayanya rendah. Konsumsi daya layar ini sekitar 10-20 mA dan tergantung pada berapa banyak piksel yang menyala.
Layar memiliki resolusi 128x64 piksel dan ukurannya kecil. Ada dua variasi tampilan. Salah satunya adalah monokrom, dan yang lainnya seperti yang saya gunakan dapat menampilkan dua warna, kuning dan biru. Bagian atas layar hanya dapat menampilkan warna kuning, bagian bawah hanya berwarna biru.
Layar OLED ini sangat cerah, dan memiliki dukungan perpustakaan yang hebat. Adafruit telah mengembangkan perpustakaan yang sangat bagus untuk tampilan ini. Selain itu, tampilannya menggunakan antarmuka I2C, sehingga koneksi dengan Arduino sangat mudah. Anda hanya perlu menghubungkan dua kabel kecuali Vcc dan GND. Jika Anda baru mengenal Arduino dan Anda menginginkan tampilan yang murah dan mudah digunakan untuk digunakan dengan proyek Anda, mulailah dengan tampilan. Ini adalah cara termudah untuk menambahkan tampilan ke proyek Arduino Anda. Saya telah menyiapkan tutorial terperinci tentang cara menggunakan tampilan ini yang telah saya lampirkan pada tutorial ini.
Langkah 4:Hubungkan Semua Bagian
Koneksi dengan papan Arduino Uno sangat sederhana. Pada awalnya, mari kita hubungkan kekuatan pembaca dan tampilan.
Hati-hati, pembaca RFID harus terhubung ke output 3.3V Arduino Uno atau akan hancur. Karena tampilan juga dapat bekerja pada 3.3V, kami menghubungkan Vcc dari kedua modul ke rel positif papan tempat memotong roti. Rel ini kemudian dihubungkan ke output 3.3V dari Arduino Uno. Selanjutnya, kami menghubungkan kedua GND ke rel GND papan tempat memotong roti. Kemudian kita hubungkan rel GND dari papan tempat memotong roti ke Arduino GND.
Layar OLED - Arduino
Vcc 3.3V
GND GND
SCL Pin Analog 5
SDA Pin Analog
Pembaca RFID - Arduino
RST Pin Digital 9
IRQ Tidak Terhubung
MISO Pin Digital 12
MOSI Pin Digital 11
SCK Pin Digital 13
SDA Pin Digital 10
Modul pembaca RFID menggunakan antarmuka SPI untuk berkomunikasi dengan Arduino. Jadi kita akan menggunakan pin hardware SPI dari Arduino UNO. Pin RST masuk ke pin digital 9. Pin IRQ tetap tidak terhubung. Pin MISO ke pin digital 12. Pin MOSI ke pin digital 11. Pin SCK ke pin digital 13 dan terakhir, pin SDA ke pin digital 10. Itu saja. Pembaca RFID terhubung. Kita sekarang harus menghubungkan layar OLED dengan Arduino menggunakan antarmuka I2C. Jadi, pin SCL layar menuju ke Pin Analog 5 dan pin SDA layar ke Pin Analog 4. Jika sekarang kita menghidupkan proyek dan menempatkan kartu RFID dekat dengan pembaca, kita dapat melihat bahwa proyek bekerja dengan baik! Sekarang saatnya untuk melihat kode proyek.
Langkah 5:Kode Proyek
Agar kode proyek dapat dikompilasi, kita perlu menyertakan beberapa pustaka. Pertama-tama, kita membutuhkan perpustakaan MFRC522 Rfid. Untuk menginstalnya, buka Sketsa -> Sertakan Perpustakaan -> Kelola perpustakaan. Cari MFRC522 dan instal. Kami juga membutuhkan perpustakaan Adafruit SSD1306 dan perpustakaan Adafruit GFX untuk tampilan. Instal kedua perpustakaan dengan prosedur yang sama. Pustaka Adafruit SSD1306 membutuhkan sedikit modifikasi. Masuk ke folder Arduino -> Libraries, buka folder Adafruit SSD1306 dan edit library Adafruit_SSD1306.h. Baris komentar 70 dan baris komentar 69. Tampilan kami memiliki resolusi 128x64, itulah yang kami definisikan di sini. Sekarang kita siap untuk melihat sekilas kodenya.
Pada awalnya, kami mendeklarasikan nilai tag RFID yang ingin dikenali oleh Arduino. Ini adalah array bilangan bulat.
int kode[] ={69,141,8,136}; //Ini adalah UID yang disimpan
Selanjutnya, kami menginisialisasi pembaca RFID dan tampilan.
rfid.PCD_Init();display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
Setelah ini, dalam fungsi loop, kami memeriksa tag pada pembaca setiap 100 ms.
Jika ada tag di reader kita baca UID nya dan kita print di display. Selanjutnya, kita membandingkan UID dari tag yang baru saja kita baca, dengan nilai yang disimpan dalam variabel kode. Jika nilainya sama, kami menampilkan pesan UNLOCK, jika tidak kami tidak menampilkan pesan ini.
if(cocok) { Serial.println("\nSaya tahu kartu ini!"); printUnlockMessage(); }else { Serial.println("\nKartu Tidak Diketahui"); }
Tentu saja, Anda dapat memodifikasi kode ini untuk menyimpan lebih dari 1 nilai UID agar proyek dapat mengenali lebih banyak tag RFID.
Ini hanya sebuah contoh. Seperti biasa Anda dapat menemukan kode proyek yang dilampirkan pada tutorial ini.
RFID.ino
Langkah 6:Pemikiran &Perbaikan Terakhir
Seperti yang Anda lihat dengan biaya yang sangat rendah, kami dapat menambahkan pembaca RFID ke proyek kami. Kami dapat dengan mudah membangun sistem keamanan dengan pembaca seperti ini atau membuat proyek yang lebih menyenangkan.
Tujuan utama saya adalah membuat beberapa permainan interaktif untuk anak-anak menggunakan pembaca RFID ini dan banyak tag RFID. Di video mendatang, kami juga akan mencoba menulis dan membaca data dari tag RFID. Pada titik ini, saya ingin mendengar pendapat Anda tentang pembaca kartu RFID ini. Apakah Anda berencana untuk menggunakannya di salah satu proyek Anda? Silakan kirim komentar atau ide apa pun di bagian komentar di bawah, terima kasih!
Kode
- RFID.ino
- Cuplikan kode #3
RFID.inoArduino
Tidak ada pratinjau (hanya unduhan).
Cuplikan kode #3Teks biasa
if(cocok) { Serial.println("\nSaya tahu kartu ini!"); printUnlockMessage(); }else { Serial.println("\nKartu Tidak Diketahui"); }