Isi kandungan:

Aplikasi Pasaraya Ringkas Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah
Aplikasi Pasaraya Ringkas Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah

Video: Aplikasi Pasaraya Ringkas Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah

Video: Aplikasi Pasaraya Ringkas Menggunakan RFID RC-522 dan Arduino Mega: 6 Langkah
Video: Tutorial Membuat aplikasi absensi karyawan metode qrcode smartphone, fingerprint, dan rfid Part 1 2024, Julai
Anonim
Aplikasi Pasaraya Ringkas Menggunakan RFID RC-522 dan Arduino Mega
Aplikasi Pasaraya Ringkas Menggunakan RFID RC-522 dan Arduino Mega

Senang melihat anda lagi di sini di tutorial saya yang lain, di sini saya akan membantu anda membuat aplikasi pasar raya sederhana dengan menggunakan RFID RC-522 dan Arduino dengan Pemprosesan untuk membuat GUI ringkas.

Catatan: jangan jalankan monitor bersiri Arduino semasa menjalankan kod pemprosesan kerana konflik port akan berlaku kerana kedua-duanya harus menggunakan port yang sama

Awak perlu:

  1. Arduino Mega atau Arduino Uno (saya menggunakan Mega)
  2. RFID-RC522
  3. 7 wayar pelompat lelaki hingga wanita
  4. Beberapa kad pengenalan (pilihan)
  5. Perpustakaan RFID (Mesti, Pautan Di Bawah)
  6. Pelayan Wamp
  7. Memproses IDE 2.2.1 (jangan gunakan lebih besar daripada itu)
  8. Perpustakaan BezierSQLib-0.2.0 untuk diproses (Muat turun pautan di bawah)

Kemudian Muat turun pustaka RFID Di Bawah dan Tambahkan ke Arduino IDE anda dengan mengklik Sketsa-> Sertakan Perpustakaan-> Tambah. Zip Perpustakaan dalam menu fail

Langkah 1: Menyiapkan Arduino dan RFID RC-522 (Sambungan Fizikal)

Menyiapkan Arduino dan RFID RC-522 (Sambungan Fizikal)
Menyiapkan Arduino dan RFID RC-522 (Sambungan Fizikal)

cukup sambungkan arduino dengan RFID-RC522 seperti yang ditunjukkan dalam gambar di atas. Peringatan: hanya menyediakan 3.3V jika tidak modul akan habis

Pin Out untuk Uno / Nano dan Mega

MODUL RC522 Uno / Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N / A N / A GND GND GND RST D9 D8 3.3V 3.3V 3.3V 3.3V

Langkah 2: Arduino Code.,

Salin kod di bawah kemudian muat naik di Arduino anda

/ * PINOUT: MODUL RC522 Uno / Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N / AN / A GND GND GND RST D9 D8 3.3V 3.3V 3.3V * / / * Sertakan pustaka Arduino SPI standard * / #include / * Sertakan pustaka RFID * / #include

/ * Tentukan DIO yang digunakan untuk pin SDA (SS) dan RST (reset). * /

#tentukan SDA_DIO 9 #tentukan RESET_DIO 8

/ * Buat contoh perpustakaan RFID * /

RFID RC522 (SDA_DIO, RESET_DIO); pembaca int = 0;

persediaan tidak sah ()

{Serial.begin (9600); / * Aktifkan antara muka SPI * / SPI.begin (); / * Permulaan pembaca RFID * / RC522.init (); }

gelung kosong ()

{/ * Pembilang gelung sementara * / bait i;

/ * Adakah kad telah dikesan? * /

jika (RC522.isCard ()) {/ * Jika demikian maka dapatkan nombor siri * * / RC522.readCardSerial ();

/ * Keluarkan nombor siri ke UART * / untuk (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (pembaca ++); Bersiri.println (); } kelewatan (1000); }

Langkah 3: Menyiapkan MySQL

Menyiapkan MySQL
Menyiapkan MySQL
  1. Pasang pelayan Wamp untuk MySQL dan konfigurasikan untuk menyimpan data (
  2. Jalankan wamp serveropen MySQL konsol
  3. pilih pangkalan data
  4. Kemudian buat jadual untuk data anda

buat rfid jadual (ID int (8), token int (1), Nama varchar (20), Jumlah int (4));

Sekarang lihat pautan ini untuk mengetahui cara mendapatkan nilai tag RFID anda kemudian gunakan kod di bawah untuk memasukkan data. Jangan lupa ganti nilai ID dengan nilai tag RFID anda

masukkan ke dalam nilai rfid (3756178, 1, 'Pencil', 20);

gunakan nilai token sebagai 1 sehingga setelah membaca nilai tag untuk pertama kalinya secara automatik ia akan berubah menjadi 2, jangan gunakan 0 untuk nilai token ketika membaca kad yang tidak dimasukkan dalam DB, ia akan menetapkan 0 kemudian memaparkannya sebagai Kad Tidak Dikenal..

Langkah 4: Menyiapkan IDE Pemprosesan

Menyiapkan Pemprosesan IDE
Menyiapkan Pemprosesan IDE
  1. Muat turun dan Pasang IDE Pemprosesan 2.2.1
  2. Ekstrak ZIP yang diberikan di atas ke MyDocuments / Pemprosesan / Perpustakaan
  3. Sekarang buka IDE pemprosesan dan periksa perpustakaan dipasang dengan betul atau tidak seperti pada gambar di atas
  4. Kemudian Salin kod di bawah ini untuk diproses dan namakannya sendiri

import de.bezier.data.sql. *; import processing.serial. *; // import java.math. BigInteger;

// dibuat 2005-05-10 oleh fjenett

// dikemas kini fjenett 20080605

MySQL dbconnection;

Rentetan s = ""; int Wheight = 700; int Lebar = 1200; ID panjang; token int; jumlah int; int Jumlah = 0;

Rentetan a = {"NULL", "NULL"};

int akhir = 10; // nombor 10 adalah ASCII untuk linefeed (akhir serial.println), kemudian kita akan mencari ini untuk memecah pesanan individu String serial; // nyatakan rentetan baru yang disebut 'serial'. Rentetan adalah urutan aksara (jenis data dikenali sebagai "char") Port bersiri; String curr, prev, Name; PFont f;

persediaan tidak sah ()

{// saiz (Lebar, Lebar); saiz (700, 500); f = createFont ("Arial", 24, benar); // contoh ini menganggap bahawa anda menjalankan pelayan // mysql secara tempatan (di "localhost"). // // ganti --username--, --password-- dengan akaun mysql anda. // String user = "root"; Rentetan = ""; // nama pangkalan data yang akan digunakan // String database = "IOT_Database"; // nama jadual yang akan dibuat String table = ""; // sambungkan ke pangkalan data pelayan "localhost" dbconnection = MySQL baru (ini, "localhost", pangkalan data, pengguna, lulus); port = Serial baru (ini, Serial.list () [0], 9600); // memulakan objek dengan menetapkan port dan baud rate (mesti sepadan dengan Arduino) port.clear (); // fungsi dari perpustakaan bersiri yang membuang bacaan pertama, sekiranya kita mula membaca di tengah-tengah rentetan dari Arduino serial = port.readStringUntil (akhir); // fungsi yang membaca rentetan dari port bersiri sehingga println dan kemudian memberikan string ke pemboleh ubah rentetan kami (disebut 'serial') serial = null; } undian tidak sah () {latar belakang (255); teksFont (f, 24); isi (0); teks ("Jumlah Jumlah Rs:", 400, 400); teks (Jumlah, 585, 400); data (); sementara (port.available ()> 0) {// selagi ada data yang berasal dari port bersiri, baca dan simpan serial = port.readStringUntil (akhir); } jika (bersiri! = null) {prev = curr; curr = a [1]; a = perpecahan (bersiri, ','); // array baru (disebut 'a') yang menyimpan nilai ke dalam sel yang terpisah (dipisahkan dengan koma yang ditentukan dalam program Arduino anda) jika ((curr). sama (sebelumnya)) {//} lain {// println ("curr ", curr); // println ("Sebelumnya", sebelumnya); fungsi (); }}}

fungsi batal ()

{if (dbconnection.connect ()) {// sekarang baca semula // dbconnection.query ("SELECT * from rfid mana ID =" + a [0] + ""); sementara (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Jumlah = dbconnection.getInt ("Amount"); } jika (token == 0) {println ("Ok"); teksFont (f, 54); isi (255, 0, 0, 160); teks ("Item Tidak Dikenal", 50, 300); kelewatan (2000); } lain jika (token == 1) {Jumlah = Jumlah + Jumlah; dbconnection.query ("kemas kini token set rfid = 2 di mana ID =" + a [0] + ""); println ("Ok"); teksFont (f, 24); isi (255, 0, 0, 160); // teks ("Item Ditambah", 10, 30); kelewatan (1000); } lain jika (token == 2) {Jumlah = Jumlah-Jumlah; dbconnection.query ("kemas kini token set rfid = 1 di mana ID =" + a [0] + ""); println ("Ok"); teksFont (f, 24); isi (255, 0, 0, 160); // teks ("Item Dihapus", 10, 30); kelewatan (1000); } lain {} dbconnection.close (); } lain {// sambungan gagal! }}

membatalkan data ()

{kedudukan int = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid mana token = 2"); sementara (dbconnection.next ()) {Name = dbconnection.getString ("Nama"); Amount = dbconnection.getInt ("Amount"); teksFont (f, 24); isi (0, 0, 255, 160); teks (Nama, 10, kedudukan); isi (0, 0, 0, 160); teks (Jumlah, 215, kedudukan); kedudukan = kedudukan + 30; }} dbconnection.close (); }

Langkah 5: Melaksanakan Program

Melaksanakan Program
Melaksanakan Program
Melaksanakan Program
Melaksanakan Program
Melaksanakan Program
Melaksanakan Program
Melaksanakan Program
Melaksanakan Program

Jalankan program dengan mengklik butang jalankan jangan tutup tetingkap pop timbul akan menghentikan pelaksanaan dan di bawah pertanyaan untuk melihat data yang tersimpan di MySQL…

Langkah 6: Kesimpulannya

Saya ingin mengucapkan terima kasih kerana membaca tutorial saya. Saya akan menghargai jika anda menganggapnya berguna dan menjatuhkan yang serupa (kegemaran) atau bertanya apa sahaja kerana ini membuat saya terdorong untuk melakukan arahan ini. jangan ragu untuk mengemukakan sebarang soalan yang perlu anda ketahui…

Selamat Pengkodan Arduino…

Disyorkan: